Как извлечь данные 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

Другие вопросы по тегам