Как извлечь данные EPG из файлов MPEG TS?

5094
rogerdpack

У меня есть возможность захвата потоков 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, кажется, только с графическим интерфейсом (?), И было трудно понять, как преобразовать его в удобочитаемый вывод.

7
downvoters не стесняйтесь комментировать или сказать мне лучшее место, чтобы опубликовать его. rogerdpack 8 лет назад 0
`libdvbtee` теперь будет компилироваться для окон, если вы используете ветку` win`. Я надеюсь услышать несколько тестовых отзывов, прежде чем объединить оставшиеся изменения в ветку `master`. http://github.com/mkrufky/libdvbtee/commits/win mkrufky 8 лет назад 0

2 ответа на вопрос

7
mkrufky

В результате того, что вы разместили этот вопрос, я пошел дальше и исправил поддержку сборки Windows для libdvbtee

libdvbteeявляется библиотекой декодера информации о сервисе транспортного потока с открытым исходным кодом ( mkrufky.github.io/libdvbtee ), которую вы можете использовать для просмотра EPG или любой другой информации о сервисе, встроенной в любой TSфайл. Используйте следующую команду:

dvbtee -F mpegfile.ts 

Если добавить -jпараметр, он также будет выводить содержимое PSIPтаблиц и descriptorsв JSONобъекте:

dvbtee -F mpegfile.ts -j 
Спрашивающий уже упомянул `dvbtee` и что он у них не работает. Вы, вероятно, должны добавить, что тем временем вы улучшили свою программу для сборки под Windows. :) Dubu 8 лет назад 0
Я действительно улучшил `dvbtee` в результате того, что ОП опубликовал этот вопрос. Мы продолжили обсуждение трекера github, он попросил меня опубликовать окончательный ответ здесь ради других пользователей. mkrufky 8 лет назад 1
Кажется, ваша библиотека dvbpsi (если имя не является совпадением) теперь является частью videolan (http://git.videolan.org/git/libdvbpsi.git), но как насчет самого dvbtee? Bruce Adams 6 лет назад 0
`dvbpsi` был частью videolan столько, сколько я себя помню. `dvbtee` - абстракция гораздо более высокого уровня, которая вряд ли когда-либо присоединится к проекту videolan. Он поддерживается и разрабатывается в отдельном репозитории git. Я открыт для создания пакетов дистрибутивов, если людям это интересно, но опять же, это открытый исходный код, и любой может это сделать. mkrufky 6 лет назад 0
@BruceAdams, если вы ищете сборку Windows `dvbtee`, постер OP имеет перекрестную сборку, настроенную по адресу https://github.com/rdp/ffmpeg-windows-build-helpers. mkrufky 6 лет назад 0
На самом деле я искал сборку Linux. Bruce Adams 6 лет назад 0
В README.md есть инструкции по сборке. mkrufky 6 лет назад 0
1
rogerdpack

Хорошо, я обнаружил EPGCollector, у него есть EPGCentre.exe, который является хорошим интерфейсом, и EPGCollector.exe, который является консольным приложением. EPGCentre.exe выкладывает файл конфигурации, который вы можете сохранить в любом месте, а затем просто запустить консольное приложение как процесс, и он будет отмечен в фоновом режиме.

Пример аргументов командной строки для файла конфигурации, который выдает EPGCentre.exe!

C: \ EPGCollector.exe /INI=BNE.ini

Похожие вопросы