手順は次のとおりです。
- API とコマンド ライン ツールの両方として、ffmpeg (H264/AAC) を使用してライブ MP4 ビデオを作成します。
- qt-faststart を使用して、メタデータをファイルの先頭に移動し、Flash クライアントで高速再生できるようにします。
- ビデオの名前は *.m4v に変更されます。
- ユーザーは Flash クライアントを使用してビデオをダウンロードし、メタデータが最初にあるため、すぐに再生を開始します。
編集: *まず、ffmpeg API を使用して MPG ビデオを作成し、これをイントロとアウトロ ビデオと一緒にコピーします (MPG ビデオをチェーンするだけです)。結果の MPG は、次のコマンドを使用して MP4 に変換されます。
ffmpeg -i inputvideo.mpg -sameq -b 3000000 -vcodec libx264 -acodec libvo_aacenc -ac 2 -g 60 -y outputvideo.mp4
基本的に、これは機能します。
問題:
最初の再生中 (ユーザーがまだ何もクリックしていないか、ビデオがまだダウンロードされているかどうかは関係ありません)、オーディオが非同期で再生されていることに気付きました。
しかし、ビデオ内をクリックするとすぐに (どこをクリックしても 1 回で十分です)、オーディオはビデオの残りの部分とより同期します (まだ完全ではありません!)。
この動作は、Flash Player または Windows Media Player で表示しても同じです。最初から同期させるために、(ffmpeg または qt-faststart で) 私たちの側からできることはありますか?