私はこの行をオンラインで見つけました
ffmpeg -i input.mp4 -c:a copy -c:v copy -movflags faststart output.mp4
これは入力を受け取り、オーディオ、ビデオをコピーし、MOOV atomをoutput.mp4という要素の先頭に設定します。基本的に、新しい場所にMOOVアトムを使用して同じビデオを作成します。
私はこのメディアのタイプを変換する必要があります-だから私はラインを持っています
ffmpeg -i input.wmv -vcodec h264 -f mp4 output.mp4
私の問題は、これは一行で可能ですか?私は次々に実行できることを知っていますが、結果のビデオだけが必要なときにいくつかのビデオが作成され、多くのメモリが無駄になる可能性があります。
私はラインを確信しています
ffmpeg -i input.wmv -movflags faststart -vcodec h264 -f mp4 output.mp4
正当ですが、ストレートコピーがないと、計算に長い時間がかかります。
MOOVアトムとffmpeg計算に関する入力は大歓迎です。
最初の例は単純に ストリームをコピーする そしてmoovアトムを再配置することです。この再配置により、ブラウザを介してビデオを視聴している視聴者など、完全にダウンロードされる前にビデオの再生を開始できます。
ffmpeg -i input.mp4 -codec copy -map 0 -movflags +faststart output.mp4
2番目の例のように、エンコードには、入力の複雑さと期間、ffmpegとx264ビルドのコンパイル方法、ビルドの古さ(機能の欠如、改善、バグ修正)、CPU、使用するエンコーダー、およびエンコード設定。これらすべてを制御できるわけではありませんが、最新のビルドを使用していることを確認し、ニーズに合わせてエンコード設定を変更できます。
静的ビルドは使いやすく、ダウンロード、抽出、実行するだけです。 Linux、Windows、およびOS Xユーザー向けのオプションについては、 FFmpeg Download ページを参照してください。コンパイルすることもでき、いくつかのステップバイステップ FFmpegコンパイルガイド が利用可能です。
X264でエンコードする場合は、より高速なエンコードプリセットを使用できます。
ffmpeg -i in.wmv -codec:v libx264 -preset fast -movflags +faststart out.mp4
プリセットは、エンコード効率を決定するオプションのコレクションであるため、速度にも影響します。現在のプリセットは次のとおりです。ultrafast
、superfast
、veryfast
、faster
、fast
、medium
、slow
、slower
、veryslow
、placebo
。デフォルトはmedium
で、placebo
は時間の無駄です。一般的な推奨事項は、忍耐力のある最も遅いプリセットを使用することです。詳細については、 FFmpegおよびx264エンコーディングガイド を参照してください。
-f mp4
は不要であり、ffmpegのバージョンによってはh264
がエンコーダ名として機能する場合があります。libx264
を使用するのが一般的です。