ffmpeg是常用的用来处理视频的工具,它的功能非常强大,包含了丰富的音视频处理接口,如视频格式转换,音视频分离、添加水印等。出于效率上的考虑,ffmpeg是基于c编写的,所以在使用之前通常需要编译安装。想要在分布式集群上面用ffmpeg,需要在每台机器上安装ffmpeg或者用预先编译好的包。本文将详细介绍如何在分布式集群上使用预先编译好的ffmpeg包。
1、imageio-ffmpeg自动下载ffmpeg可执行文件
如果你在python中调用ffmpeg功能,可以使用imageio,imageio包含一个imageio-ffmpeg库(https://github.com/imageio/imageio-ffmpeg)。 imageio-ffmpeg是ffmpeg的python封装。在使用imageio-ffmpeg操作视频时,如果检测到当前系统没有安装ffmpeg,会自动下载已经编译好的ffmpeg二进制可执行文件。不过这个可执行文件大约有30M,整个下载的过程会耗费较多的时间。
2、拷贝ffmpeg可执行文件到执行路径
如果分布式集群被限制无法访问外网,或者无法接受下载ffmpeg可执行文件的耗时,是否有更好的方法?一种解决办法是把可执行文件放在运行脚本中。ffmpeg可执行文件的下载地址:https://github.com/imageio/imagei