我需要用以下代码完成一个减慢了两倍速度的视频:
ffmpeg -i c:\Users\cp\Downloads\CONVERTED\tt92b.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=1[a]" -map "[v]" -map "[a]" -shortest tt92b1.mp4
它可以工作,但问题是视频长度仍为 36 秒而不是 18 秒。视频在 18 秒后停止,音频一直播放到结束。该代码中如何在视频播放结束时剪切音频?
编辑:我找到了一些添加-t 18
参数的解决方法。但它会引发错误或警告:
[hevc @ 000000000052f800] Could not find ref with POC 23.99 bitrate= 815.8kbits/s dup=0 drop=352 speed=0.453x
无论如何,它按照我的要求制作了视频,但那个 18 的时间真的只是猜测。它可能在某些帧上是错误的,因为我找不到视频持续时间变量。