使用ffmpeg
用来自WAV的音频替换QuickTime中的音频。
有人知道我为什么得到 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
相同的错误
答案 0 :(得分:2)
输出看起来没有错误。
错误的意思是MOV标头指示存在带有章节标题和时间戳的文本轨道,但FFmpeg实际上无法在文件中找到该轨道。
在-ignore_chapters 1
之前添加-i "$video"
将阻止ffmpeg查找该曲目。
答案 1 :(得分:1)
使用ffprobe
浏览我的个人视频集时,我遇到了一些此类错误,包括:
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000039a980]引用了QT章节 找不到曲目
和...
[mp3float @ 000000000079bb80]标头丢失
据我所知,这些都是非致命错误,似乎只是视频的原始编码器表现不佳或不完整的指标,因此对于足够大且来自不同来源的视频集,我猜想在分析整个馆藏时至少会遇到一些这样的错误是数学上的可能性。但是,出于明显的原因,有必要抑制这些错误,因为这些错误不是必需的,而且在STDOUT中看起来也不明显。
-ignore-chapters
似乎没有这样的ffprobe
选项,但是我可以通过添加-v fatal
来抑制所有这些非致命错误,这会更改命令的 loglevel 仅显示致命错误(默认显示致命和非致命错误,警告和其他信息)。此选项不会抑制ffprobe
的输出,该输出正常打印。