Ffmpegでmp4をmp3に変換することはできますが、ビデオのサムネイルをどのように追加するかわかりません。
現在、mp4からmp3に変換するためにこれを持っています
ffmpeg -i video.mp4 -acodec libmp3lame -metadata title=video -b:a 256 -f input.mp3
次に、このコマンドでffmpegを介してそれを再度実行する必要がありますか?
ffmpeg -i input.mp3 -i cover.jpg -map_metadata 0 -map 0 -map 1 output.mp3
または、複雑なフィルターを使用してこれを1回の実行で実現する方法はありますか?
これはFLVで機能することは知っていますが、mp4では機能しないようです
ffmpeg -i video.flv -i cover.jpg -map 0:a -map 1 -c:v copy -metadata title=video -b:a 256k out.mp3
より良い答え、説明付き、slhckとMulvyaからの賢い提案を取り入れ、本質的でないパラメーターを取り除いた。
ffmpeg -i video.mp4 -i cover.jpg -acodec libmp3lame -b:a 256k -c:v copy -map 0:a:0 -map 1:v:0 output.mp3
ffmpeg
オーディオ/ビデオ操作ツール:OPによってすでに選択されているため、このジョブに特に適しています。
-i video.mp4
最初の入力ファイル:抽出したいオーディオを含むビデオ。
-i cover.jpg
2番目の入力ファイル。結果のオーディオファイルを再生するときに表示する画像。
-acodec libmp3lame
LAMEエンコーダーを使用して.mp3ファイルを作成します。
-b:a 256k
これにより、オーディオトラックのビットレートが一定の256Kb/sに設定されます。より賢明なオプションは、 quality パラメータを指定して可変ビットレートでエンコードすることです。-q:a 0
は最高の品質を要求しますが、-q:a 4
は知覚されるオーディオ品質間の適切な妥協点を表すことがよくあります。およびビットレート(したがって、ファイルサイズ)。
-c:v copy
これは、ビデオストリーム(.jpg画像)を再エンコードするのではなく、そのままコピーする必要があることを示します。これは、不可逆形式に再エンコードするときに、不要な処理や潜在的な品質低下を回避するのに役立ちます。この場合、このパラメーターがないと、画像は.jpgからデコードされ、.pngにエンコードされます。これは、デフォルトで選択されるネイティブ形式のようです。 .pngは不可逆であるため、これは品質の低下を表すものではありませんが、.jpg(不可逆)は一般に圧縮率が高いため、ファイルサイズが大きくなることがよくあります。
-map 0:a:0
これは、最初の(0:
)入力ファイルから使用するストリームを選択します。これは、含まれる最初の(:0
)オーディオ(a
)ストリームである必要があります。
-map 1:v:0
これは、2番目の(:0
)入力ファイルから最初の(1:
)ビデオ(v
)ストリームを選択します。
output.mp3
このパラメータの名前は、作成したい画像が組み込まれた出力オーディオ(.mp3)ファイルに付けられる名前でなければならないことをすでに示唆するために、巧妙に選択されました。
元の回答
これにより、結婚式のビデオ(.mp4)と画像(.jpg)を組み合わせて、静止画像を含むオーディオ(.mp3)ファイルが作成されます。
ffmpeg -i video.mp4 -i cover.jpg -acodec libmp3lame -metadata title=video -b:a 256k -map_metadata 0 -map 0:1 -map 1 output.mp3
-map
を使用した入力ストリームの選択については、ffmpeg documentation を参照してください。これはここで関連するオプションです。
私は最初に単に-map 0 -map 1
でコマンドを実行し、次の情報を取得しました。
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> png (native))
Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
Stream #1:0 -> #0:2 (mjpeg (native) -> png (native))
したがって、インデックス番号が1
のファイル、つまりビデオファイルからストリーム0
(aacオーディオ)が必要であることがわかりました。したがって、-map 0:1 -map 1
で明示的に選択する必要がありました。
あなたはvlcメディアプレーヤーを利用することができます-
ステップ1:VLCを開き、「メディア」を選択します。変換/保存をクリックします。
ステップ2:表示される次のウィンドウで、「追加」を選択し、変換するビデオファイル(MP4)を選択します。
ステップ3:次に、「変換/保存」の下矢印をクリックしてから、「変換」をクリックします。
ステップ4:表示される次のウィンドウで、[変換]ボタンが選択されていることを確認します。作成するオーディオファイルの種類を選択します。私たちの場合、変換先のMP3ファイルです。
ステップ5:出力先を選択し、「開始」を押します。その後、VLCは変換を開始します。
サムネイルを追加するには、これを参照できます リンク (非常によく説明されています)。