1

h.264 mov ファイルを解析し、アトムを抽出し、ffmpeg などのエンコーダ ツールを使用せずに自分で変更できるようにしたいと考えています。Atomic Parsley が最適なようですが、ドキュメントが非常にまばらなようです (または、私が愚かで見つけられなかっただけです)。

これを使用して、h.264 でエンコードされた mov ストリームをオンザフライで変更できますか? つまり、moov アトムを解析し、映画の長さを抽出し、映画の長さを変更し、編集テーブルまたは同期テーブルに移動します (または、必要なロジックに応じて両方の組み合わせを使用します)。を読んでください)、時間スケールの観点からタイミング情報を使用して、特定のポイントからデータをストリーミングします。そして、編集テーブルを含む親アトムのすべての長さとヘッダー情報を、最初の mov アトムの長さとそのヘッダーまで変更します。そうしなければならない理由は、h.264 をデコードするフラッシュ プレーヤーは、moov アトムを再生する前に、moov アトムに含まれる適切に定義されたメタ情報を必要とするためです。疑似ストリーミングを実装する予定です。

私が必要としているのは、あらゆるアトム、そのヘッダー、およびアトムが保持する可能性のあるその他の情報を解析する機能です。したがって、アトミック パセリを使用して必要な情報を解析できるかどうかを知っていれば、非常に役立ちます。私は自分のパーサーを作成したいと思っていますが、それは間違いなくばかげたことです。ああ、参考までに、誰かが知りたい場合に備えて、Apacheのmod h.264ストリーミングモジュールにこれだけのコードがあります。

4

1 に答える 1

0

クライアント側の JavaScript で MOV / MP4 ファイルを解析したい場合は、qtfaststart.jsから始めるのが良いでしょう。

厳密に言えば、現時点ではストリームをオンザフライで変更することはできません。スクリプトを使用して再生をある程度制御することはできますが、それだけです。Media Source Extensionはこの問題に対処するように設計されていますが、前回確認したときは H.264 を処理できませんでした。

PS私はあなた自身のパーサーを「ばかげている」とは考えていません。MOV は設計が非常にモジュール化されているため、必要なものを解析して残りを無視できます。クライアント側で MOV ファイルをプローブし、フレーム レート、期間、解像度などの情報を抽出する独自のパーサーを作成しています。

于 2013-05-30T22:37:35.613 に答える