0

アドバイスと、やりたいことが可能かどうかを探しています。

MPEG 2/MPEG-TS ビデオ ファイルで使用できる ID3 mp3 タグに似たものを作成するよう依頼されました。私は粗雑な人間なので、ファイル自体にある種の XML 構造をダンプすることだけを考えていました。ただし、アプリはファイル内の XML/ASCII データを想定していないため、ビデオ ファイルをデコード/再生しようとするアプリケーションで問題が発生します。

MPEG ファイルの末尾に修正できるある種の END OF FILE 'コマンド' を使用できるかどうかはわかりません。その部分の後に XML をダンプできます。

互換性に関しては、ビデオファイルを読み取っている商用アプリを「壊す」ことを避ける必要があるだけです。タグ情報は、まだ作成していないアプリケーションによって解析されます。

何か案は?それとも私が提案していることは不可能ですか?

ありがとう。

4

2 に答える 2

1

MPEG2-TS ファイルをデコードしているプログラムは、188 バイトのパケットを何度も探します。16 進数を見ると、188 バイトごとのすべてのパケットの同期バイト (最初のバイトでもある) である 0x47 バイトが表示されます。そのため、ファイルに XML データを追加すると、デコーダーが台無しになります。

できることは、独自のパケットを追加するか、通常は MPEG2-TS ファイルの先頭にあるヌル PID パケットをハイジャックすることです。残念ながら、これを適切に行うには、このデータをネットワーク情報テーブル (まだ存在していない可能性があります) に配置する必要があります。つまり、PMT に NIT への参照を追加する必要がある場合があります。高度な知識と、トランスポート ストリームの解析/書き込み機能が必要です。

クロック参照を調整することなく、ファイルの先頭にパケットを追加することで解決できる場合があります。または、既存の null-PID パケットをハイジャックするだけです (クロック参照の変更は必要ありません)。次に、新しいパケットで、おそらく 8190 のように使用されないパケット ID を使用します。NIT を参照するように PMT を変更せずにこれを行うと、PID が参照されていないため、完全に有効な MPEG2-TS にはなりません。ほとんどの商用デコーダ。

タグ情報を追加しようとしているだけで、MPEG2-TS に慣れていないため、これの多くは意味をなさないと思います。ただし、正確な形式を定義する標準はISO/IEC 13818-1です。これはかなり読みにくいことに注意してください。軽く(そして安く)したい場合は、wikipediaだけで済むかもしれません。

于 2011-09-02T17:17:19.860 に答える
1

これを行う簡単な方法があります MPEG 2/MPEG-TS

基本的に、ストリーム内に独自の PID を持つカスタム記述子および/またはカスタム テーブル (さらにはカスタム ストリーム タイプ) を追加できます。それらはビデオ内になく、動作中のアプリケーションを壊すことはありませんが、読むことができます

大まかに説明すると、テレテキスト、VBI データ、キュートーン信号、EPG、DSC-CC コマンド (および一般的なデータの送信に MPEG システムを使用することについて話しているものもあります) はすべて、MPEG-T を介したカスタム データの例です。

MPEG2-ISO 13818-1 を詳しく調べて (カスタム テーブルに関するセクションがあります)、質問を絞り込んでください。

于 2011-12-28T13:41:31.937 に答える