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

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

我想使用 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(默认)
    流 #0.1(jpn):音频:aac,48000 Hz,立体声,s16(默认)
    流 #0.2:音频:aac,48000 Hz,立体声,s16
    流 #0.3:字幕:[0][0][0][0] / 0x0000(默认)

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

ffmpeg -i Spiral\ -\ 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(默认)
    流 #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

我处理流的方式正确吗?如果正确,那么可能还有什么问题。

答案1

也许你可以使用

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

然后抓取第一帧

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

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

相关内容