web-dev-qa-db-ja.com

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の読み取りではなく、書き込みのみのようです。

libucsi はどうやらそれを行うことができますが、コマンドラインオプションがあるかどうかは明確ではありませんでした。

EPG Collector GUIのみ(?)のようで、人間が読める形式の出力に変換する方法を理解するのは困難でした。

8
rogerdpack

この質問を投稿した結果、私は先に進み、libdvbteeのWindowsビルドサポートを修正しました

libdvbteeは、オープンソースのトランスポートストリームサービス情報デコーダライブラリ( mkrufky.github.io/libdvbtee )であり、TSファイルに埋め込まれたEPGまたはその他のサービス情報を表示するために使用できます。次のコマンドを使用します。

dvbtee -F mpegfile.ts

-jオプションを追加すると、PSIPテーブルとdescriptorsの内容もJSONオブジェクトに出力されます。

dvbtee -F mpegfile.ts -j 
8
mkrufky

OK、EPGCollectorを発見しました。これには、Nice UIであるEPGCentre.exeと、コンソールアプリであるEPGCollector.exeがあります。 EPGCentre.exeは、どこにでも保存できる構成ファイルを吐き出し、コンソールアプリをプロセスとして実行するだけで、バックグラウンドでチェックされます。

EPGCentre.exeが吐き出す設定ファイルのサンプルコマンドライン引数!

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

1
rogerdpack