Python导入moviepy找不到editor 视频没有声音设置audio_codec参数

moviepy合成视频出错:

  • 问题一:导入moviepy.editor找不到editor,No module named moviepy.editor
  • 问题二:合成的视频没有声音
  • 问题一:导入moviepy.editor找不到editor,No module named moviepy.editor

    from moviepy.editor import *
    改为
    from moviepy import *
    或者
    from moviepy import VideoFileClip,AudioFileClip,CompositeVideoClip

    问题二:合成的视频没有声音

    视频没有声音 导出文件时设置audio_codec=‘aac’

    运行环境:
    MAC + Python3.12 + moviepy-2.1.1

    安装moviepy

    > pip install moviepy
    

    如果提示moviepy安装成功, import 语句做了修改也不行的话。完整代码见末尾。以下是问题处理步骤。

    首先查看moviepy安装信息

    > pip show moviepy
    

    结果显示如下:
    Location: /Users/rose/pythonProject1/.venv/lib/python3.12/site-packages
    Requires: decorator, imageio, imageio_ffmpeg, numpy, pillow, proglog, python-dotenv

    去上面显示的Location路径/Users/rose/pythonProject1/.venv/lib/python3.12/site-packages中查看是否有Requires信息中显示的这些库。如果不全,执行对应的安装命令,已经有的就不需要再安装了。这一步是保证有需要的其他依赖库。

    
    > pip install decorator imageio imageio_ffmpeg numpy pillow proglog python-dotenv
    

    把Location路径/Users/rose/pythonProject1/.venv/lib/python3.12/site-packages下的 editor 和 moviepy文件夹删除,重新执行命令安装moviepy

    > pip show moviepy
    

    安装成功后,重启 Pycharm.

    //注意操作.venv目录时,.venv默认是隐藏文件夹,
    //MAC下显示隐藏文件夹命令
    defaults write com.apple.finder AppleShowAllFiles -bool true 
    //重启 Finder,使更改生效
    killall Finder
    
    //处理完对应的文件删除和安装后,重新恢复文件夹隐藏
    //MAC 下恢复隐藏文件夹命令
    defaults write com.apple.finder AppleShowAllFiles -bool false
    //重启 Finder,使更改生效
    killall Finder
    

    完整代码如下:

    #以前的写法
    #视频音频合并
    from moviepy.editor import *
    #加载视频音频素材
    videoData = VideoFileClip('video.mp4')
    audioData = AudioFileClip('audio.mp4')
    #往视频中添加音频
    finalVideo = videoData.set_audio(audioData)
    #导出文件
    finalVideo.write_videofile('final.mp4')
    
    
    #修改后的写法
    #视频音频合并
    from moviepy import *
    #加载视频音频素材
    videoData = VideoFileClip('video.mp4')
    audioData = AudioFileClip('audio.mp4')
    #往视频中添加音频
    finalVideo = videoData.with_audio(audioData)
    #导出文件
    finalVideo.write_videofile('final.mp4',codec='libx264',audio_codec='aac')
    注意:
    MAC合并后生成的视频没有声音是因为没有添加audio_codec='aac'
    
    

    作者:梅子专栏

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python导入moviepy找不到editor 视频没有声音设置audio_codec参数

    发表回复