使用“ffmpeg”将专辑封面添加到 FLAC 音频文件

0 video ffmpeg

我从刚买的音频 CD 上翻录了文件。我Music在 Macbook Pro Catalina 10.15.6 上使用该应用程序进行翻录 - 输出格式是.wav因为没有FLAC. 我的计划是使用以下命令更改格式ffmpeg

% ffmpeg -v
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
Run Code Online (Sandbox Code Playgroud)

除了添加“专辑封面艺术作品”之外,下面的.wav-to-.flac简短bash脚本中实现的转换似乎按预期工作:

% ffmpeg -v
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
Run Code Online (Sandbox Code Playgroud)

与此非常相似的脚本不久前完成了一系列FLAC-to-FLAC转换,我必须执行这些转换来减少位深度。然而,在这种情况下,原始FLAC文件已经嵌入了艺术品。由于该脚本生成了可用的音频文件,因此我决定尝试使用第二个ffmpeg命令添加艺术品。

我做了一些研究,结果告诉我在将专辑插图添加到文件时存在问题ffmpeg( 1 , 2 , 3 , 4FLAC ) 。

我已经尝试了上面参考文献中给出的几个命令,但仍然没有找到将专辑插图添加到我的文件中的方法FLAC。以下命令是一个高度赞成的答案,我认为它会起作用,但没有:

% ffmpeg -i "01 Grave Walker.flac" -i ./AnotherLand.png -map 0:0 -map 1:0 -codec copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" output.flac

...


Input #0, flac, from '01 Grave Walker.flac':
  Metadata:
    encoder         : Lavf58.76.100
  Duration: 00:06:59.93, start: 0.000000, bitrate: 746 kb/s
  Stream #0:0: Audio: flac, 48000 Hz, stereo, s16
Input #1, png_pipe, from './AnotherLand.png':
  Duration: N/A, bitrate: N/A
  Stream #1:0: Video: png, rgba(pc), 522x522, 25 fps, 25 tbr, 25 tbn, 25 tbc
File 'output.flac' already exists. Overwrite? [y/N] y
[flac @ 0x7fb4d701e800] Video stream #1 is not an attached picture. Ignoring
Output #0, flac, to 'output.flac':
  Metadata:
    encoder         : Lavf58.76.100
  Stream #0:0: Audio: flac, 48000 Hz, stereo, s16
  Stream #0:1: Video: png, rgba(pc), 522x522, q=2-31, 25 fps, 25 tbr, 25 tbn, 25 tbc
    Metadata:
      title           : Album cover
      comment         : Cover (front)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (copy)

...

Run Code Online (Sandbox Code Playgroud)

我不明白错误消息:Video stream #1 is not an attached picture.似乎暗示艺术品“附加”(嵌入???)在输入文件中,但正如我指定的艺术品是一个单独的文件,这对我。

llo*_*gan 5

添加-disposition:v attached_pic

ffmpeg -i audio.flac -i image.png -map 0:a -map 1 -codec copy -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" -disposition:v attached_pic output.flac
Run Code Online (Sandbox Code Playgroud)