Mp4をサムネイル付きのMp3に変換する


8

mp4をffmpegで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

変換でサムネイルを自動的に設定しますか?それ以外の場合は手動で変更できますが、その後かどうかはわかりません。FLVではできるがMP4ではできない場合は、両方のコマンドを実行するスクリプトを作成します。
RamonRobben 2017

@RamonRobben ffmpegを2回実行する必要がないようにしています
nadermx

このようなものを試すことができますffmpeg -i in.mp4 -i test.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title = "アルバムカバー" -metadata:s: v comment = "Cover(Front)" out.mp3 ffmpegをダウンロードしてテストを開始します。
RamonRobben 2017

回答:


3

より適切な回答と説明、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に設定されます。よりスマートなオプションは、可変ビットレートでエンコードし、品質パラメーターを指定すること-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)ビデオ(v)ストリームが選択され1:ます。

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

ここでの関連オプションであるを使用した入力ストリームの選択に関するffmpegのドキュメントを参照してください-map

私は最初に単純にコマンドを実行し、-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


私はこれを試しましたが、それでも私に与えます Stream map '0:1' matches no streams. To ignore this, add a trailing '?' to the map.
nadermx

´-map 0 -map 1´で実行し、利用可能なストリームを確認します。
simlev 2017年

Stream mapping: Stream #0:0 -> #0:0 (aac (native) -> mp3 (libmp3lame)) Stream #1:0 -> #0:1 (mjpeg (native) -> png (native))
nadermx 2017年

1
@nadermx -map 0:a:0 -map 1:v:0最初のファイルと2番目のファイルの最初のオーディオストリームとビデオストリームをそれぞれ選択することができます。
slhck 2017

1
特にJPGでは、画像入力のエンコードを避けます。 -c:v copy
Gyan

2

あなたはvlcメディアプレーヤーを利用することができます-

ステップ1:VLCを開き、「メディア」を選択します。変換/保存をクリックします。

ステップ2:表示される次のウィンドウで[追加]を選択し、変換する動画ファイル(MP4)を選択します。

ステップ3:次に、「変換/保存」の下矢印をクリックし、「変換」をクリックします。

手順4:表示される次のウィンドウで、[変換]ボタンが選択されていることを確認します。作成するオーディオファイルのタイプを選択します。私たちの場合、変換先のMP3ファイルです。

ステップ5:出力先を選択し、[開始]を押します。その後、VLCは変換を開始します。

サムネイルを追加するには、このリンクを参照できます(非常によく説明されています)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.