Как извлечь данные EPG из файлов MPEG TS?
У меня есть возможность захвата потоков MPEGTS DVB/ATSC. Я хотел бы иметь возможность взять файлы TS и извлечь из них информацию "EPG" (руководство по программированию), потому что FFmpeg (который выполняет захват), по-видимому, не способен считывать какую-либо информацию EPG из потоков MPEGTS., Как извлечь эти данные в текстовую форму, удобную для чтения? У меня есть файлы MPEGTS, доступные в качестве входных данных. Я попробовал несколько библиотек:
libdvbtee, похоже, компилируется только для unix: https://github.com/mkrufky/libdvbtee/issues/12 (обновление: теперь работает для Windows, см. ответ)
DVBInspector предназначен только для графического интерфейса (здесь необходим интерфейс командной строки).
TSReader "бесплатная" версия не извлекает EPG.
У FFmpeg, похоже, пока нет концепции поддержки EPG.
CherryEPG, кажется, только пишет, а не читает EPG.
libucsi, очевидно, может это сделать, но неясно, была ли опция командной строки.
EPG Collector, кажется, только с графическим интерфейсом (?), И было трудно понять, как преобразовать его в удобочитаемый вывод.
2 ответа
В результате того, что вы опубликовали этот вопрос, я пошел дальше и исправил поддержку сборки Windows для libdvbtee
libdvbtee
является библиотекой декодера информации о сервисе транспортного потока с открытым исходным кодом ( http://mkrufky.github.io/libdvbtee), которую вы можете использовать для просмотра EPG или любой другой информации о сервисе, встроенной в любую TS
файл. Используйте следующую команду:
dvbtee -F mpegfile.ts
Если вы добавите -j
Опция также выводит содержимое PSIP
столы и descriptors
в JSON
объект:
dvbtee -F mpegfile.ts -j
Хорошо, я обнаружил EPGCollector, у него есть EPGCentre.exe, который является хорошим интерфейсом, и EPGCollector.exe, который является консольным приложением. EPGCentre.exe выкладывает файл конфигурации, который вы можете сохранить в любом месте, а затем просто запустить консольное приложение как процесс, и он будет отмечен в фоновом режиме.
Пример аргументов командной строки для файла конфигурации, который выдает EPGCentre.exe!
C: \ EPGCollector.exe /INI=BNE.ini