如何从 MPEG TS 文件中提取 EPG 数据?

如何从 MPEG TS 文件中提取 EPG 数据?

我有能力捕获“MPEGTS”DVB/ATSC 流。我希望能够获取 TS 文件并从中提取“EPG”(编程指南)信息,因为 FFmpeg(负责捕获)似乎无法从 MPEGTS 流中读取任何 EPG 信息。我如何将这些数据提取成某种人类可读的文本形式?我有 MPEGTS 文件作为输入。我尝试了几个库:

libdvbtee 似乎仅适用于 unix:https://github.com/mkrufky/libdvbtee/issues/12(更新:它现在适用于 Windows,请参阅答案)

DVBInspector 仅为 GUI(这里需要命令行 UI)。

TSReader“免费”版本不能提取 EPG。

FFmpeg 似乎还没有任何支持 EPG 的概念。

CherryEPG似乎只能写入,不能读取EPG。

利布奇显然可以做到这一点,但不清楚是否有命令行选项。

EPG 收集器似乎仅为 GUI (?) 并且很难理解如何转换为人类可读的输出。

答案1

由于你发布了这个问题,我已经修复了 windows 版本对libdvbtee

libdvbtee是一个开源的传输流服务信息解码器库(mkrufky.github.io/libdvbtee),您可以使用它来查看任何文件中嵌入的 EPG 或任何其他服务信息TS。使用以下命令:

dvbtee -F mpegfile.ts

如果添加该-j选项,它还将输出PSIP表和对象descriptors中的内容JSON

dvbtee -F mpegfile.ts -j 

答案2

好的,我确实发现了 EPGCollector,它有 EPGCentre.exe,这是一个不错的用户界面,还有 EPGCollector.exe,这是一个控制台应用程序。EPGCentre.exe 会生成一个配置文件,你可以将其保存在任何地方,然后只需将控制台应用程序作为一个进程运行,它就会在后台运行

EPGCentre.exe 吐出的配置文件的示例命令行参数!

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

相关内容