7

H.264 でエンコードされたビデオをファイルの途中で Flash Player に提供し始めるものを構築する必要があります (まだバッファリングされていないビデオのポイントへのスキップをサポートするため)。

現在、ビデオは FLV コンテナ形式ですが、トランスコーディングはオプションです。特定のバイト オフセットのファイル ヘッダーとメタデータ情報を書き直すことができました。これは古いビデオでは機能しますが、H.264 でエンコードされたファイルでは機能しません。これは、ファイル内のビデオ タグも変更する必要があるためだと思われますが、これは実行できません (処理能力がかかりすぎます)。

それを行う「適切な」方法は何ですか?

4

3 に答える 3

3

@yoavf-OPは、FLVファイル内でオンデマンドh.264をストリーミングするサーバー側の側面に関心があると思います。既存のプレイヤーを再利用することは彼にとって素晴らしいことだと思います。それとも、それは私自身のニーズが出てくるのでしょうか?<:S

yoavfの2番目のリンクから、TinicUroの「Web上のビデオに何が起こったのか」への別のリンクがあります。。関連する引用:

H.264ストリームを従来のFLVファイル構造に配置することは可能ですか?そうなりますが、新しい標準ファイル形式を採用することを強くお勧めします。H.264をストリーミングする場合のFLV構造には機能上の制限があり、ファイル形式を再設計しないと克服できませんでした。これが、従来のFLVファイル構造から移行する理由の1つです。特にシーケンスヘッダーとエンダーを扱うことは、FLVストリームでは注意が必要です。

ですから、ffmpegエンコーディングをいじくり回すか(私のようにFLVを取得する方法である場合)、新しいフォーマットに入ることができるようです。うーん…。

于 2008-09-15T11:10:31.430 に答える
2

フラッシュプレーヤーは、MOOVアトムをダウンロードした後にのみH.264ビデオの再生を開始できます。既存の疑似ストリーミングプロバイダーは、FLVヘッダー(ファイルの最初の13バイトまたはハードコードされたヘッダー)を提供し、指定されたオフセットからファイルを提供します。H.264疑似ストリーマーを作成する場合は、FLVヘッダー、次にMOOVアトムを出力してから、指定されたオフセットからファイルの残りの部分を提供する必要があります。FLVコンテナを使用しない場合、FLVヘッダーは必要ありませんが、MOOVアトムは必要です。

残念ながら、ディスク上のファイルからMOOVアトムを使用することはできないと思います。そこに含まれる情報は、提供するファイルフラグメントには適切ではありません。したがって、既存のアトムを解析して、ファイルの提供部分に適した独自のアトムを生成する必要があります。

H.264ファイル内に複雑な構造がある場合、疑似ストリームはさらに複雑になる可能性があります。ファイルの解析が不可能な場合は、メディアを疑似ストリーミングできない可能性があります。

于 2008-09-19T12:30:18.670 に答える
0

あなたができる2つのこと:

1) lighttpd を使用します。これは、必要なストリーミング コンテナーをその場で生成する mp4 ストリーミング プラグインです。

2) キーフレーム付き FLV を作成し、疑似ストリーミング スクリプト (XMOOV など) を使用してファイルをストリーミングします。

mp4/aac が必要な場合は、それらを FLV コンテナー内に配置するだけで済みます。これは adobe の悔しさのあまりですが、機能します。

于 2008-12-15T16:51:32.267 に答える