MoviePy 安装 配置

最近想用python剪辑、组合视频,发现了这样一个库,好像是15年才发布的库。挺好用的。但是中文资料几乎没有,终于有机会逼自己尝试一下英文文档了哈哈哈。

安装包

由于MoviePy某些功能要用到requests,但是目前直接用pip安装MoviePy时并不会自动帮你安装这个依赖包,还需要自己安装requests。所以安装MoviePy需要两行。

pip install MoviePy
pip install requests

安装完后,pip list查看一下,已安装的库必须包括:

Package    Version
certifi    2018.4.16
chardet    3.0.4
decorator  4.3.0
idna       2.6
imageio    2.3.0
moviepy    0.2.3.4
numpy      1.14.3
Pillow     5.1.0
pip        10.0.1
requests   2.18.4
setuptools 39.1.0
tqdm       4.23.1
urllib3    1.22
wheel      0.31.0

安装imageio

安装完成MoviePy之后,已经可以写程序了。但是它第一次运行时,还会为电脑安装ffmpeg这个软件到C:\Users\用户名\AppData\Local\imageio\ffmpeg\ffmpeg-win32-v3.2.4.exe。具体步骤如下:
先随便写个用到MoviePy的代码:(下面代码含义是,读取某个视频文件,并且原样输出这个文件到new.mp4,相当于复制了一下)

from moviepy.editor import *
video = VideoFileClip("你的某个视频文件.mp4")
result = CompositeVideoClip([video])
result.write_videofile("new.mp4")

当使用MoviePy,但是你电脑没有安装ffmpeg时(或者环境变量设置不对),它就会为你自动安装ffmpeg。并且会提示你安装到的位置。

安装ImageMagick

安装完上述功能,就已经可以使用MoviePy很多功能了,但是某些函数,还需要用到这个叫ImageMagick的软件。如果你不安装它会提示这样的错误:

Traceback (most recent call last):
  File "F:\Tool\PythonVE\Movie\lib\site-packages\moviepy\video\VideoClip.py", line 1156, in __init__
    subprocess_call(cmd, verbose=False)
  File "F:\Tool\PythonVE\Movie\lib\site-packages\moviepy\tools.py", line 42, in subprocess_call
    proc = sp.Popen(cmd, **popen_params)
  File "f:\tool\python36\Lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "f:\tool\python36\Lib\subprocess.py", line 997, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "F:/A/MoviePy/Cut.py", line 14, in 
    txt_clip = TextClip("字幕", fontsize=70, color='white')
  File "F:\Tool\PythonVE\Movie\lib\site-packages\moviepy\video\VideoClip.py", line 1165, in __init__
    raise IOError(error)
OSError: MoviePy Error: creation of None failed because of the following error:

[WinError 2] 系统找不到指定的文件。

.This error can be due to the fact that ImageMagick is not installed on your computer, or (for Windows users) that you didn't specify the path to the ImageMagick binary in file conf.py, or that the path you specified is incorrect

划重点:
.This error can be due to the fact that ImageMagick is not installed on your computer, or (for Windows users) that you didn’t specify the path to the ImageMagick binary in file conf.py, or that the path you specified is incorrect

我们需要自己下载,在官网 http://www.imagemagick.org/script/download.php 可以根据不同的操作系统来下载,Windows在最下面。
下载好后,选择自己喜欢的位置,来安装,疯狂点击Next就行,不需要配置环境变量。

配置ImageMagick

安装了还不够,还要让MoviePy能够找到它的位置。
进入到你的python根目录,打开MoviePy的配置环境变量的文件:\Python36\Lib\site-packages\moviepy\config_defaults.py
你会看到:

import os
FFMPEG_BINARY = os.getenv('FFMPEG_BINARY', 'ffmpeg-imageio')
IMAGEMAGICK_BINARY = os.getenv('IMAGEMAGICK_BINARY', 'auto-detect')

按照它的提示改就好了。ffmpeg不用改,因为是MoviePy帮我们装的,它肯定知道它的位置了。主要是改IMAGEMAGICK_BINARY。把原来的注释掉,改成下面的样子:(当然你要根据你刚才安装的目录来选择)

IMAGEMAGICK_BINARY = r"E:\Software\ImageMagick-7.0.7-Q16\magick.exe"
# IMAGEMAGICK_BINARY = os.getenv('IMAGEMAGICK_BINARY', 'auto-detect')

现在,再次运行上面的程序,成功了!至此,MoviePy安装和配置都完成了!

你可能感兴趣的:(MoviePy)