Python脚本中的FFmpeg

FFmpeg是Fast Forward Moving Picture Experts Group的简称。它是一个开源项目,提供诸如ffmpegffplayffprobe 等工具来处理多媒体文件。

FFmpeg是一个命令行工具,可以帮助转换视频/音频格式,压缩视频,从视频中提取音频,创建GIF,剪切视频,等等。

本教程将教你在Python中使用FFMPEG命令。

安装FFmpeg Python软件包

首先,你必须在你的系统上安装FFmpeg。以管理员身份打开命令提示符,运行以下命令,用choco 安装FFmpeg。

choco install ffmpeg

接下来,使用Python包管理器工具pip ,安装ffmpeg-python 包。

在提示符下运行下面的命令,用pip 来安装软件包。

pip install ffmpeg-python

输出:

Successfully built ffmpeg
Installing collected packages: ffmpeg
Successfully installed ffmpeg-1.4

在Python中使用FFmpeg来修剪视频

由于我们已经在系统上配置了FFmpeg,让我们使用一些FFmpeg命令在Python中处理视频。

下面的例子将视频Pencil.mp4 ,从5s削减到10s,并保存为output.mp4

import ffmpeg
video = ffmpeg.input('Pencil.mp4')
video = video.trim(start=5, duration=5)
video = ffmpeg.output(video, 'output.mp4')
ffmpeg.run(video)

在Python中使用FFmpeg来获取视频的宽度和高度

下面的例子在Python中打印了一个指定视频的宽度和高度。

import ffmpeg
probe = ffmpeg.probe('output.mp4')
video = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
width = int(video['width'])
height = int(video['height'])
print("Width:", width)
print("Height:", height)

输出:

Width: 1280
Height: 720

使用FFmpeg在Python中保存视频的缩略图

你也可以在Python中使用FFmpeg保存视频的缩略图。

下面的例子从视频的4s时间里生成宽度为500px的缩略图。

import ffmpeg
video = ffmpeg.input('Pencil.mp4', ss=4)
video = video.filter('scale', 500, -1)
video= ffmpeg.output(video,'output.png', vframes=1)
ffmpeg.run(video)

高度是由长宽比自动决定的。

输出图片:

Python脚本中的FFmpeg

使用FFmpeg在Python中翻转视频

你可以在Python中使用ffmpeg.hflip() 来水平翻转视频,使用ffmpeg.vflip() 来垂直翻转视频。

水平翻转视频:

import ffmpeg
video = ffmpeg.input('Pencil.mp4')
video = ffmpeg.hflip(video)
video = ffmpeg.output(video, 'horizontal.mp4')
ffmpeg.run(video)

垂直翻转视频:

import ffmpeg
video = ffmpeg.input('Pencil.mp4')
video = ffmpeg.vflip(video)
video = ffmpeg.output(video, 'vertical.mp4')
ffmpeg.run(video)

FFmpeg是一个方便的工具,可以对多媒体文件进行不同的操作。它可以快速修剪视频,改变文件格式,提取音频,创建GIF,等等。

到此为止,你应该已经清楚地了解了如何在Python脚本中使用FFmpeg命令。我们希望你觉得这个教程很有帮助。