ソースコミュニティ
H264ビデオコーデックを使用して「avi」を「mp4」に変換している間、次の要件を持つffmpegコマンドを見つけようとしました。私が試したコマンドの1つは、ほとんどのフォーラムで推奨される一般的なコマンドです。
ffmpeg -I input.avi -acodec copy -vcodec copy output.mp4
しかし、これは同じビデオコーデックをコピーし、H264に変換されません。以下の要求されたタスクを実行するためにコード行を書くのに役立つ人はいますか?
=>ビデオオプション
コーデック:H264ビデオアスペクト比:変更なしビデオ解像度:変更なしビデオFPS:変更なし
=>オーディオオプション
コーデック:ACオーディオチャンネル:変更なしオーディオ周波数:変更なしオーディオ正規化:変更なし
よろしくお願いします!
答え1
パラメータを列挙してみましょうffmpeg
。
-acodec
より良い書き込み-c:a
(オーディオ用メンモニックコーデック)-vcodec
もっと書く-c:v
(同じニーモニック)-i
入力ファイルです(ではありません-I
)。
ffmpeg
ファイル拡張子に基づいて推測がうまくいったので、次のようにします。
ffmpeg -i file.wem file.mp4
何かが変換されますが、品質が悪いことがあります。
H264
コーデックに従うので、libx264
次のようにする必要があります。
ffmpeg -i file.avi -c:v libx264 -c:a copy file.mp4
テストとして私達は古典的なwebm
例を使用します:
$ wget http://video.webmfiles.org/big-buck-bunny_trailer.webm
...
$ ffmpeg -i big-buck-bunny_trailer.webm -c:a copy -c:v libx264 bbb.mp4
...
$ ffprobe bbb.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.41.100
Duration: 00:00:32.50, start: 0.000000, bitrate: 414 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 341 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: vorbis (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 64 kb/s (default)
Metadata:
handler_name : SoundHandler
これは有望に見えます。ストリーム#0:0は、H264でエンコードされたビデオストリームです。