我有下面的代码,我注意到当有-ss参数编译时间更长,这是预料之中的吗?有办法解决这个问题吗?
-i "bg.png"
-i "media.mp4"
-i "assets.png"
-ss 0:00:01.189000
-filter_complex "
[1:v]scale=720.0:-2[mainMedia];
[0:v][mainMedia]overlay=x=(W-w)/2:y=(H-h)/2[mix1];
[2:v]scale=720.0:-2[widgets];
[mix1][widgets]overlay[outfile]
"
-framerate 30
-b:v 1.0k
-frames:v 1
-s 576x1024
-crf 21
-preset medium
-map [outfile]
答案1
这是预料之中的吗?
[I]nput 将被解码(并丢弃),直到它到达 给出的位置
-ss
。这将完成 非常缓慢地, 一帧一帧。
有没有什么办法可以解决这个问题?
也许吧,但你可能不想。上面的 FFmpeg Trac 条目的其余部分继续说:
从 FFmpeg 2.1 开始,[输出寻求] 的主要优点是,当将过滤器应用于输出流时,时间戳不会在过滤之前重置(即,当将字幕刻录到视频中时,您不需要修改字幕时间戳)[。]
如果这不是一个问题,您可以尝试输入搜索(放在-ss
命令的最开始,任何相关-i
选项之前),这应该更快。