FFMPEG-将视频转换为延时拍摄


15

我在Flash Builder(动作脚本3)中使用ffmpeg将视频转换为视频的时间间隔。我已经弄清楚了如何使用setpts来做到这一点,但是结果输出文件的长度与输入的长度相同(时间流逝后仅显示最后一帧),我希望根据传递的设置来更改持续时间到ffmpeg。

我首先通过命令行尝试以下操作:

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4

任何帮助将不胜感激!

Answers:


20

问题解决了。我没有删除音频,因此大概是在整个视频过程中都在播放几乎是空的音频文件。

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" -an output.mp4

-an 从视频中删除音频。


1

有关加速音频的更多详细信息,请点击此处。您最多可以做2倍,但也可以欺骗它以加快速度(来源):

加快/降低音频

您可以使用atempo音频过滤器加快或减慢音频速度。要使音频速度加倍:

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

Atempo滤镜只能使用0.5到2.0之间的值(因此,它可以将其减慢到不小于原始速度的一半,并将速度减慢至不超过输入速度的两倍)。如果需要,可以通过将多个临时过滤器串联在一起来解决此限制。以下是音频速度的四倍:

ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv

使用复杂的过滤器,可以同时加速视频和音频:

ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.