まず、.f4v は、少なくとも ffmpeg から見れば、F4V ビデオ フォーマットの正式な拡張子ではありません。
mp4 ファイルをストリーミングしたい場合、フラッシュ プレーヤーの一部の実装では、まだダウンロードされていない場所をシークできます。通常の解決策は、これらのファイルを f4v コンテナーに変換 (実際には再パッケージ化するだけ) することです。
ストリーミングと互換性のある f4v に変換するには、Yamdi (http://yamdi.sourceforge.net/) などの FLV メタデータ インジェクターを使用する必要があります。
実行できる手順:
ffmpeg.exe -i source.mp4 -vcodec copy -acodec copy destination.flv
これにより、ビデオとオーディオが flv ファイルに直接再パッケージ化されます。入力が H.264 の場合、FFMPEG は自動的に f4v 形式を使用します。
yamdi -i destination.flv -o destination.f4v
メタデータを挿入すると、f4v ファイルをストリーミングできるようになります。この最後の手順を省略すると、ファイルがダウンロードされた部分にしか移動できなくなります。
参考までに、可変ビットレートをサポートできる場合は、-crf オプションを使用してください。2 パス エンコーディングでは、指定したビットレートに近いビットレートが得られますが、2 倍の時間がかかります。ただし、一定のレート係数を使用すると一定の品質が得られますが、必要なビットレートを取得するには、おそらくさまざまな値をテストする必要があります (知覚できない損失には正気です: 18 - 24)。