ffmpeg 使用 Fade Seconds 时出现错误

ffmpeg 使用 Fade Seconds 时出现错误

我正在尝试淡入淡出一段视频,持续时间为几秒钟,ffmpeg 似乎是最好的方法。文档中提到了一个淡入淡出选项,并且我让它以帧为单位来处理时间,但我真的希望能够使用秒。

使用文档中的示例,并将以下内容添加到有效的编码命令中:

-vf "fade=t=in:st=5.5:d=0.5"

我得到:

[fade @ 0x102f009a0] Option 'st' not found
[AVFilterGraph @ 0x102f00d00] Error initializing filter 'fade' with args 't=in:st=5.5:d=0.5'

使用长参数时我得到同样的错误start_time

我有 ffmpeg 版本 1.2 和 libavfilter3. 42.103 / 3. 42.103

我会使用帧来指定淡入淡出时间和持续时间,但我以秒为单位指定剪辑长度,并且我不知道剪辑的帧长度是多少。要指定淡出,我需要知道帧的长度,然后将开始时间指定为num_frames - fade_duration_in_frames

还有其他人遇到过这个问题吗?

答案1

您使用的是旧版本的 Libavfilter,其中尚未实现这些过滤器。我已经使用最新的 libavfilter 版本对其进行了测试,3. 60.101 / 3. 60.101并且它运行正常。尝试使用当前版本再次构建 FFmpeg,它也应该适合您。

答案2

我遇到了和libavfilter 7. 16.100 / 7. 16.100遇到了同样的问题。ststart_time

实际问题可能不是ststart_time。检查日志时,我遇到了一些其他命令相关的问题filter_complex。在检查日志并修复它时,我没有遇到任何st与和start_time相关的问题

相关内容