回答:
基本的には、このように:
ffmpeg -i in.mp4 out.swf
これはデフォルトでビデオをSorenson Spark(H.263、またはとして知られている)に変換するでしょう flv1
あなたのFFmpegが持っているどんなMP3エンコーダを使っても) libmp3lame
。
ビデオ品質を変更する必要がある場合は、2つの選択肢があります。
を追加 -qscale:v
後のオプション -i in.mp4
1から31までの値で、高いほど低品質を意味します(2または3を最初に試してください)。これはVBR設定です。
を追加 -b:v
ビットレート付きのオプション。 1M
または 500K
。もちろんこれはCBR設定であり、ファイルサイズあたりの表示品質が低くなる可能性があります。
音声の場合:
を追加 -q:a
VBR MP3のオプションで、0から7までの値で、0が最高品質です。
を追加 -b:a
CBR MP3のオプション、例えばと 192K
。
代わりに、ビデオをFLVコンテナに変換することを検討してください。FLVコンテナは、SWF(H.263、VP6、またはMotion JPEGのみをサポート)よりも多様なコーデックを処理します。
これにより、H.264ビデオとAACオーディオを使用できるようになり、SWFファイルのH.263 / MP3形式と比較して、小さいファイルサイズでより高い品質を実現できます。あなたはビットストリームをコピーする機会さえあるかもしれません、それはまったく品質低下を全く意味しません。
ffmpeg -i in.mp4 -c copy out.flv
それでもうまくいかない場合は、再エンコードします。
ffmpeg -i in.mp4 -c:v libx264 -c:a aac -strict experimental -b:a 192K out.flv
これはx264エンコーダーを使用します。ここでビデオの品質を変更するには、次の選択肢があります。
を追加 -crf
後のオプション -i in.mp4
0〜51の値で、低いほど品質が高くなります。デフォルトは23で、正しい値は18〜28です。
を追加 -b:v
固定ビットレートモードの場合と同じです。
を参照してください x264エンコーディングガイド 詳しくはFFmpeg wikiを見てください。