web-dev-qa-db-ja.com

ffmpegでアルバムアートを追加する方法

私はmp3ファイルにアルバムアートを追加するために立ち往生しています。

私はすでにこの問題を調査してグーグル検索しましたが、まだ解決策を見つけていません。 ffmpegのドキュメントでは、このスクリプトでmp3に画像(アルバムアート)を追加することを推奨しています。

ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3

出典: http://www.ffmpeg.org/ffmpeg-all.html#mp

しかし、それは機能しません。私のコンソール出力は:

Unrecognized option 'c'
Failed to set value 'copy' for option 'c'

私は別の解決策を探して、これを得ました: http://trac.ffmpeg.org/ticket/2221

ffmpeg -i input.mp3 -i cover.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3

これは同じ出力を返します:

Unrecognized option 'c'
Failed to set value 'copy' for option 'c'

誰か助けてくれませんか?

nb:私はubuntu 12.04とffmpegバージョン0.8.6-4:0.8.6-0を使用しています。

ありがとう。

28
Adi Ricky k

最近のバージョンでは、

ffmpeg -i in.mp3 -i test.png -map 0:0 -map 1:0 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" out.mp3

使用する -map入力ストリームを出力に関連付ける
使用する -c copy直接demux/remuxする
-id3v2_version 3は、コマンドラインで欠落しているものです。 IDW2.3を書き込むことになりますが、2.4(-id3v2_version 4

とともに -id3v2_version 3オプション-metadataoptionは適切に解釈されます

注:メタデータコメントでは大文字と小文字が区別されます。

30
alexbuisson

ここで注意すべき重要なことが1つあります。それにより、1時間の作業が失われました。

_ffmpeg -i in.mp3 -i test.jpeg -map 0:0 -map 1:0 -codec copy -id3v2_version 3 \ 
-metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" out.mp3
_

comment="Cover (front)"fは小文字でなければなりません。そうでない場合、ID3ヘッダーの画像タイプは設定されません!

誰かを助けるかもしれない別のヒント:JPEGカバー画像がpngに変換されることを回避するには、_-codec copy_を設定する必要があります。

11
Lorenz Meyer

問題は、コピーするコーデックを定義していないことです。オーディオの場合は-c:a copyカバーはビデオ(go figure !!)として認識されるので、-c:v copy

ffmpeg -i audio-in.mp3 -i picture.png -c:a copy -c:v copy -map 0:0 -map 1:0 -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" audio-out.mp3
1
Mauricio