ffmpeg 无法使用 -c copy 参数连接 m4a 文件

ffmpeg cannot concatenate m4a files with -c copy parameter

使用 ffmpeg 连接相似的 m4a 文件时:

ffmpeg -f concat -safe 0 -i <(for f in ./*.m4a; do echo "file '$PWD/$f'"; done) -c copy output.m4a

ffmpeg报错:

[ipod @ 0x7f8db8014a00] Could not find tag for codec mjpeg in stream #0, codec not currently supported in container

无法为输出文件 #0 写入 header(编解码器参数不正确?):参数无效

使用的文件是:chapter1.m4achapter2.m4a。他们的 ffprobe 除了持续时间之外没有任何区别。可能的相关输出是:

Duration: 00:13:16.72, start: 0.000000, bitrate: 48 kb/s
Stream #0:0(eng): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 46 kb/s (default)
Metadata:
  handler_name    : SoundHandler
Stream #0:1: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 640x360 [SAR 100:100 DAR 16:9], 90k tbr, 90k tbn, 90k tbc

我刚刚发现错误是由于 Stream #0 造成的,这是封面艺术,覆盖了实际的音轨。

删除所有文件中的封面作品后,我能够将它们串联起来。而且速度还挺快的:speed=1.92e+03x.