だけで、最初のプレイでは、私たちの手順です:MP4ビデオ - ここ
- 私たちは、APIとして、コマンドラインツールとしても、ffmpegの(H264/AAC)を使用して、ライブMP4ビデオを作成*
- 。 qt-faststartを使用してメタデータをファイルの先頭に移動し、Flashクライアントで高速再生を可能にします。
- ビデオの名前が* .m4vに変更されました。
- ユーザーはFlashクライアントを使用してビデオをダウンロードし、メタデータが最初にあるため即座に再生を開始します。
編集: *まず、MPGのビデオはffmpegのAPIを使用して作成され、これは、その後のイントロとアウトロビデオ(あなたがMPGのビデオを簡単に連鎖することができます)と一緒にコピーされます。生成されたMPGは、次のコマンドを使用してMP4に変換されます。
ffmpeg -i inputvideo.mpg -sameq -b 3000000 -vcodec libx264 -acodec libvo_aacenc -ac 2 -g 60 -y outputvideo.mp4
基本的にこれは機能します。
問題:
あなたが見れば我々は最初の再生(ユーザーがまだ何もクリックされていない、ビデオがまだダウンロードやない違いはありません)の間に、オーディオが目立ち、asychnronousを再生していることに気づきましたそれのために。
しかし、ビデオの周りをクリックすると(クリックする場所に関係なく1回で十分です)、ビデオの残りの部分ではオーディオはより同期しています(まだ完全ではありません)。
この動作は、Flash PlayerまたはWindows Media Player経由で表示しても同じです。私たちの側から(ffmpegまたはqt-faststartで)最初から同期させることができるものはありますか?
ffmpegコマンドを表示してコンソール出力を完了すると、役に立つ情報が得られるかもしれません。また、これはAPIとコマンドラインで作成された動画の両方で発生しますか? – LordNeckbeard
ffmpegコマンドを表示するように編集しました。 ffmpegコンソールの出力はログに記録されませんが、それを見ることができ、エラーは表示されません(赤線は表示されません)。 – TheSHEEEP
出力には、潜在的な提案の構文を決定するffmpegのような他の有用な情報が含まれています。 – LordNeckbeard