質問

so ...

RAW H.264ビデオデータは、ローカルファイルにRTSPを介してキャプチャされたビデオデータを持ち、Java FXアプリケーションでビデオを再生しようとしています。これを行うには、HTTPライブストリーミングを使用する必要があります。

私は、.m3u8(HLS Index)ファイルと.ts(MPEG-TS)ファイルのコレクションを使用して、ローカルサーバーを使用してHLSを介してビデオを再生できるJava FXアーキテクチャを正常にプロトタイプしました。最後の部分は.tsファイルを.tsファイルを.264 / .h264ファイルとローカルサーバーで、H.264 annex BデータのMPEG-TSへの変換/折り返しを実行することです。

H.264 Annex BをMPEG-TSに入手するのに必要なものを考え出すのに問題があります。私は以下の情報を見つけました...

」附属書Bは一般的にLive and Streamingフォーマットで使用されています。 トランスポートストリーム... "

szatmary.org/blog/25

"ドキュメントの附属書Bは、NALをラップするそのようなフォーマットの1つを指定します。 伝統的なMPEGビデオ要素に似たフォーマットの単位 したがって流れ、したがってMPEGのような容器での使用に適している PS / TSは必要なフレーミングを提供できません... "

wiki.multimedia.cx/?title=h.264

"Java FXはさまざまなメディアタイプをサポートしています。メディアタイプは コンテナフォーマットと1つ以上の組み合わせと見なされます エンコーディング場合によっては、コンテナフォーマットは単に エンコードされたデータを含む基本ストリーム。 "

docs.oracle.com/javafx/2/api/javafx/scene/media/package-summary.html

"ext-x-stream-infタグのcodecs属性を使用します。このとき 属性が存在し、それはすべてのコーデックとプロファイルを含める必要があります ストリームを再生するには... "

developer.apple.com/library/ios/documentation/NetWorkingInternet/Conceptual/StramingMediaguide/FrequingAskeDQuestions/FrequeSTASKEDQUESTIONS.HTML

小学校や輸送の流れの周りに簡単なものが足りないようです。 FFMPEGを使用して、H.264ファイルをTSファイルに変換し、その違いを理解しようとしました。私はおおよそのフォーマットの違いを考えていますが、私はまだそれをするために詳細を欠いています。誰もがこれを展示しているか、またはMPEG-TS上のH.264附属書Bデータを提供する方法について簡単なものを知っていますか?

私はツールを使うことを目指していません、私はH.264 Annex Bデータを解析し、その場でメモリの形式の変更を実行します。私はこれを達成するためにパイプとFFMPEGを使う方法を知っていますが、私は依存関係を持ち、パフォーマンスが重要ではありません。

役に立ちましたか?

解決

フォーマット変更ではありません。容器です。TSファイルに書き込むために附属書Bを解析する必要はありません。TSは、附属書Bストリームを包むPESを包みます。MPEGTSフォーマットは、特にサードパーティライブラリなしではかなり複雑です。私が書いたTSコードは、仕事で使用して使用するのは、約1000行のC ++です。

TSコードを書くには、HEXエディタを使用してTSファイルを読み、Wikipediaのマニュアルを参照しようとすることから始めます。本ビデオ識別済みもかなり良いドキュメントを持っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top