一、什么是 ffmpeg
FFmpeg,官方网站描述为“一个开源计算机程序,可以录制、转换数字音频和视频,并能将另一种数据流封装到多媒体容器中。” FFmpeg 是非常常见的音视频处理工具,几乎支持所有音视频格式的读写,被广泛用于音视频相关的开发和应用中。
二、Python 安装 ffmpeg
1. 手动下载安装
手动下载 ffmpeg 并安装可以满足大部分使用场景,如果需要更灵活的安装方式,可以选择手动安装。具体步骤如下:
1. 下载 ffmpeg,https://ffmpeg.org/download.html,解压到 ~/ffmpeg 目录下
2. 添加环境变量
echo "export PATH=$PATH:~/ffmpeg/bin" >> ~/.bashrc
source ~/.bashrc
2. Python 库安装
Python 提供了多个库来与 ffmpeg 进行交互,常用的库有 moviepy,pydub,ffmpeg-python 等。
1. moviepy 的安装
moviepy 安装非常简便,运行下面的代码即可完成安装:
!pip install moviepy
2. pydub 的安装
pydub 也可以通过 pip 安装,运行下面的代码即可完成安装:
!pip install pydub
3. ffmpeg-python 的安装
ffmpeg-python 是一个 Python 接口,可以把 FFmpeg 嵌入到 Python 中,API 使用类似于 FFmpeg 的命令行。安装方法如下:
!pip install ffmpeg-python
三、Python 库使用
1. moviepy 库的使用
moviepy 支持读入和处理音视频。下面是一个使用 moviepy 制作 gif 的例子:
from moviepy.editor import *
clip = (VideoFileClip("my_video.mp4")
.subclip((4, 0), (4, 2))
.resize(0.3))
clip.write_gif("small.gif")
2. pydub 库的使用
pydub 主要用于音频处理。下面是一个使用 pydub 将 mp3 文件转换成 wav 文件的例子:
from pydub import AudioSegment
sound = AudioSegment.from_file("my_audio.mp3", format="mp3")
sound.export("my_audio.wav", format="wav")
3. ffmpeg-python 库的使用
ffmpeg-python 最大的好处就是可以直接在 Python 中执行 FFmpeg 命令。下面是一个使用 ffmpeg-python 剪辑视频的例子:
import ffmpeg
input_file = ffmpeg.input('my_video.mp4')
output_file = ffmpeg.output(input_file, 'my_cut_video.mp4', ss=10, t=5)
ffmpeg.run(output_file)
四、总结
Python 安装 ffmpeg 可以通过手动下载安装以及使用 Python 相关库进行安装。常见的库有 moviepy,pydub,ffmpeg-python 等,可以实现视频剪辑、转换,音频处理等功能。