ffmpeg - 从 mkv 文件创建带有专辑封面的 mp3 文件

Has*_*ken 6 video ffmpeg mp3 mkv

我想使用 ffmpeg 从给定的 mkv 文件创建一个 mp3 文件

ffmpeg -i 的输出如下

似乎流 0 编解码器帧速率与容器帧速率不同:59.94 (2000000/33367) -> 29.97 (30000/1001)
输入 #0,matroska,webm,来自 'Spiral - 09.mkv':
  持续时间:00:23:09.65,开始:0.000000,比特率:N/A
    第 0.0 章:开始 0.097000,结束 1389.654000
    元数据:
      标题:00:00:00.097
    流 #0.0:视频:h264(高)、yuv420p、640x428、PAR 1:1 DAR 160:107、23.98 fps、29.97 tbr、1k tbn、59.94 tbc(默认)
    Stream #0.1(jpn):音频:aac,48000 Hz,立体声,s16(默认)
    流 #0.2:音频:aac,48000 Hz,立体声,s16
    流 #0.3:字幕:[0][0][0][0] / 0x0000(默认)

现在我使用以下命令来创建文件。我的目标是从输入文件中获取一部分音频和图像快照,并将它们用作输出文件的音频流和专辑封面。

ffmpeg -i 螺旋\ -\ 09.mkv \
       -地图 0:0 -地图 0:1\
       -c:v -ss 00:01:30 -vframes 1\
       -c:a:0 mp3 -b:a:0 128k\
       输出.mp3

但是,我收到以下错误。

似乎流 0 编解码器帧速率与容器帧速率不同:59.94 (2000000/33367) -> 29.97 (30000/1001)
输入 #0,matroska,webm,来自 'Spiral - 09.mkv':
  持续时间:00:23:09.65,开始:0.000000,比特率:N/A
    第 0.0 章:开始 0.097000,结束 1389.654000
    元数据:
      标题:00:00:00.097
    流 #0.0:视频:h264(高)、yuv420p、640x428、PAR 1:1 DAR 160:107、23.98 fps、29.97 tbr、1k tbn、59.94 tbc(默认)
    Stream #0.1(jpn):音频:aac,48000 Hz,立体声,s16(默认)
    流 #0.2:音频:aac,48000 Hz,立体声,s16
    流 #0.3:字幕:[0][0][0][0] / 0x0000(默认)
vframes 的预期数量,但发现:1-c:a:0

我在这里处理流的方式正确吗?如果是这样,还有什么可能是问题。

小智 6

也许您可以将视频转换为音频

ffmpeg -i Spiral\ -\ 09.mkv -vn -c:a libmp3lame Spiral\ -\ 09.mp3

然后抓取第一帧

ffmpeg -i Spiral\ -\ 09.mkv -vframes 1 cover.jpg

之后,只需使用 MP3 标记工具(如 EasyTag)将封面图像放入。