MoviePy的安装和基本使用

1、版本说明

由版本产生的问题:ModuleNotFoundError: No module named ‘moviepy.editor

原因:新老版本的项目构架不同

解决:

  • 卸载:pip uninstall moviepy
  • 安装指定版本:pip install moviepy==1.0.3

2、安装

  • 环境准备:
    • Python == 3.6 或更高版本
    • Windows系统下需要前置:FFMpeg
python --version
  • 安装指定版本
pip install moviepy==1.0.3
  • 导入
from moviepy.editor import *  

3、使用

详细原理及参数应用请参考大佬链接: moviepy基本参数用法大全

  • 基本用法
from moviepy.editor import *  
# 读取文件  
clip1 = VideoFileClip("video_file_1.mp4")  
clip2 = VideoFileClip("video_file_2.mp4")  
# 按需剪辑  
subclip1 = clip1.subclip(10, 20)  
subclip2 = clip2.subclip(30, 40)  
# 合并视频片段  
final_clip = concatenate_videoclips([subclip1, subclip2])  
# 调整视频尺寸  
# 强制调整视频的帧宽、帧长
final_clip = final_clip.resize((1280, 720))  
# 强制设置视频的帧速率
# VideoFileClip在moviepy中
clip = VideoFileClip(file.name).set_fps(30))
# 音频轨道设置  
final_clip = final_clip.set_audio(subclip1.audio)  
# 保存视频文件  
final_clip.write_videofile("output.mp4")  
  • 视频速率调整
from moviepy.editor import *  
def slow_down_video(input_path, output_path, speed_factor=0.5):
    """
    减速视频——此方法适用于音频、视频同减速
    参数:
     input_path: 输入视频路径
     output_path: 输出视频路径
     speed_factor: 减速倍数 (例如 0.5 表示半速)
    """
    # 加载视频
    video = VideoFileClip(input_path)
    # 应用速度调整
    final_video = video.fx(video.speedx, speed_factor)
    # 保存结果
    # 保存的视频格式,编码格式:libx264;音频编码:aac
    final_video.write_videofile(output_path, codec='libx264', audio_codec='aac')
    # 关闭视频对象
    video.close()
    final_video.close()

# 使用示例
slow_down_video("input.mp4", "output_slow.mp4", speed_factor=0.5)
  • 获取视频时长,音频时长
# 获取视频时长
def get_video_duration(video_path):
    """获取视频时长(秒)"""
    try:
        with VideoFileClip(video_path) as video:
            return video.duration
    except Exception as e:
        print(f"获取视频时长出错: {e}")
        return None

# 获取音频时长
def get_audio_duration(audio_path):
    """获取音频时长(秒)"""
    try:
        audio = AudioSegment.from_file(audio_path)
        return len(audio) / 1000  # 转换为秒
    except Exception as e:
        print(f"获取音频时长出错: {e}")
        return None

后续再更…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值