FFMPEG 颜色叠加产生擦洗/时间导航问题

FFMPEG 颜色叠加产生擦洗/时间导航问题

我正在尝试制作一个命令,该命令会在指定的时间内将视频空白为黑屏,以用于视频编辑脚本。我有一个版本可以与黑色图像文件一起使用,但我尝试在不需要额外文件的情况下执行此操作。我整理了一个命令版本,大多可以使用 lavfi 颜色生成,但会出现一个奇怪的问题:每当视频快进、拖拽或以其他方式进行时间导航(而不仅仅是观看)时,音频就会中断。叠加层视觉上运行正常。如果我从头到尾播放视频,音频运行正常。只有当我尝试以任何方式在视频中跳转时,音频才会中断。

我确实尝试了一些视频过滤的设置,因为我有一种模糊的、不成熟的感觉,这是一个时间码或音频/视频同步问题。我没有包括我尝试过的方法,因为我对我尝试的方式是否正确没有信心。我对 ffmpeg 还比较陌生,对时间码或音频/视频流同步的深层工作原理没有很好的理解。

以下是我当前正在使用的覆盖命令的图像文件版本,它不会产生此问题:

ffmpeg.exe -nostdin -i "input.mkv" -i "overlay.jpg" -filter_complex "[0:v][1:v]overlay=enable='between(t,60,120)'[1V]" -map [1V] -map 0:a -map 0:s -c:v libx264 -crf 18 -c:a copy -c:s copy "output.mkv"

这是我的覆盖命令的 lavfi 颜色版本,它产生了我想要解决的问题:

ffmpeg.exe -nostdin -i "input.mkv" -f lavfi -i "color=color=black:size=720x480:rate=(24000/1001)" -filter_complex "[0:v][1:v]overlay=shortest=1:enable='between(t,60,120)'[1V]" -map [1V] -map 0:a -map 0:s -c:v libx264 -crf 18 -c:a copy -c:s copy "output.mkv"

我试图避免直接过滤音频,因为我希望脚本能够处理可变数量的音频流,而不必单独处理它们。如果我确实需要对我的音频流做些什么,你能否指出一个可以过滤的答案全部一次从输入视频中获取音频流(如果可能的话)。

这是我第一次在这样的论坛上发帖,所以请原谅这些问题在发布时可能出现的错误。感谢您提供的任何帮助。

相关内容