ffmpeg:"Referenced QT chapter track not found"

ffmpeg: "Referenced QT chapter track not found"

使用 ffmpeg 将 QuickTime 中的音频替换为 WAV 中的音频。

有谁知道我为什么会收到 Referenced QT chapter track not found?

命令:

$ ffmpeg \ -i "$video" -t 25 \ -i "$audio" -map 0:v -c:v copy -map 1:a -c:a pcm_s24le -ar 48000 \ -hide_banner "$output"

输出:

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7faf62010600] Referenced QT chapter track not found
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2018-11-06T09:27:43.000000Z
  Duration: 00:00:25.00, start: 0.000000, bitrate: 186987 kb/s
    Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(bt709, progressive), 1920x1080, 185115 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc (default)
    Metadata:
      creation_time   : 2018-11-06T09:27:43.000000Z
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 422 (HQ)
      timecode        : 00:00:00:00
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      creation_time   : 2018-11-06T09:27:43.000000Z
      handler_name    : Apple Alias Data Handler
      timecode        : 00:00:00:00
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2018-11-06T09:27:43.000000Z
      handler_name    : Apple Alias Data Handler
      timecode        : 00:00:00:00
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, wav, from 'audio.wav':
  Metadata:
    encoded_by      : Pro Tools
    originator_reference: aaOpKJaTN7Nk
    date            : 2018-11-08
    creation_time   : 13:53:50
    time_reference  : 166698000
  Duration: 00:00:25.00, bitrate: 2128 kb/s
    Stream #1:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s32 (24 bit), 2116 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (pcm_s24le (native) -> pcm_s24le (native))
Press [q] to stop, [?] for help
Output #0, mov, to 'test19.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    encoder         : Lavf58.12.100
    Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 185115 kb/s, 0.04 fps, 25 tbr, 12800 tbn, 25 tbc (default)
    Metadata:
      creation_time   : 2018-11-06T09:27:43.000000Z
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 422 (HQ)
      timecode        : 00:00:00:00
    Stream #0:1: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Metadata:
      encoder         : Lavc58.18.100 pcm_s24le
frame=  625 fps=277 q=-1.0 Lsize=  566343kB time=00:00:24.96 bitrate=185876.0kbits/s speed=11.1x
video:564928kB audio:1406kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.001496%

-map 0:v:0

相同的错误

创建的输出看起来没有错误。

错误的意思是 MOV header 表示存在带有章节标题和时间戳的文本轨道,但 FFmpeg 实际上无法在文件中找到该轨道。

-i "$video" 之前添加 -ignore_chapters 1 将阻止 ffmpeg 寻找该曲目。

在使用 ffprobe 遍历我的个人视频 collection 时,我 运行 遇到了几个这样的错误,包括:

[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000039a980] Referenced QT chapter track not found

和...

[mp3float @ 000000000079bb80] Header missing

据我所知,这些 non-fatal 错误似乎只是表明视频的原始编码器工作不当或不完整,因此对于 collection 大视频足够多并且来自足够多的不同来源,我猜想在分析整个 collection 时,在数学上可能 运行 至少出现其中的一些错误。然而,出于显而易见的原因,想要抑制这些错误是有意义的,因为它们不需要并且在 STDOUT 中看起来不合时宜。

ffprobe 似乎没有这样的 -ignore-chapters 选项,但我可以通过添加 -v fatal 来抑制所有这些 non-fatal 错误,这改变了命令的 loglevel 仅显示致命错误(默认显示致命错误和 non-fatal 错误、警告和额外信息)。此选项不会抑制 ffprobe 的输出,它会正常打印。