python moviepy视频时间加速导致音频变调的修复方法

先上源代码,功能是只对视频"video.mp4"进行1.5倍加速,不输出音频。

# -*- coding: gbk -*-
import os
import sys
from moviepy.editor import VideoFileClip
video= r'video.mp4'
resultFile= r'video_moviepy.mp4'
video = VideoFileClip(video,audio=False)
duration = video.duration
video = video.fl_time(lambda t: 1.5*t,
    apply_to=['mask','video','audio']
    ).set_end(duration/1.5)
video.write_videofile(resultFile,bitrate='2412k')

moviepy加速有一个弊端,就是音频加速后声音会变调。实在没找到解决的参数,只能配合ffmpeg进行单独加速音频再合并。

首先,我们可以省去提取去掉音频的视频步骤,在VideoFileClip函数里面加上audio=False不输出音频。
然后再用ffmpeg把原视频的音频单独提取出来:

ffmpeg -i "video.mp4" -y "video.mp3"

然后再对音频进行加速但不变调处理:

ffmpeg -i "video.mp3" -filter:a "atempo=1" -y "video_output.mp3

最后将加速过后的音视频进行合并:

ffmpeg -i "video_moviepy.mp4" -i "video_output.mp3" -vcodec copy -acodec copy -y "video_output.mp4"

参考文献:
python调整视频播放速度
https://blog.csdn.net/SnailPace/article/details/107357678

ffmpeg 调整音视频播放速度
https://my.oschina.net/u/2367476/blog/1575087

ffmpeg常用滤镜命令
https://blog.csdn.net/hutianyou123/article/details/78999804

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值