Python 脚本中的 FFmpeg

FFmpeg 是快进运动图像专家组的缩写。 它是一个开源项目,提供了ffmpeg、ffplay、ffprobe等工具来处理多媒体文件。

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

本篇文章将介绍在Python中使用FFMPEG命令。


安装 FFmpeg Python 包

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

bash 复制代码
choco install ffmpeg

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

在提示符中运行以下命令以使用 pip 安装软件包。

bash 复制代码
pip install ffmpeg-python

输出:

bash 复制代码
Successfully built ffmpeg
Installing collected packages: ffmpeg
Successfully installed ffmpeg-1.4

在 Python 中使用 FFmpeg 修剪视频

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

以下示例将视频 Pencil.mp4 从 5 秒剪切到 10 秒,并将其保存为 output.mp4。

python 复制代码
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 中打印指定视频的宽度和高度。

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)

输出:

bash 复制代码
Width: 1280
Height: 720

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

您还可以使用 Python 中的 FFmpeg 保存视频的缩略图。

以下示例从视频中的时间 4 秒生成宽度 500px 的缩略图。

python 复制代码
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 翻转视频

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

水平翻转视频:

python 复制代码
import ffmpeg
video = ffmpeg.input('Pencil.mp4')
video = ffmpeg.hflip(video)
video = ffmpeg.output(video, 'horizontal.mp4')
ffmpeg.run(video)

垂直翻转视频:

python 复制代码
import ffmpeg
video = ffmpeg.input('Pencil.mp4')
video = ffmpeg.vflip(video)
video = ffmpeg.output(video, 'vertical.mp4')
ffmpeg.run(video)

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

至此,您应该已经清楚地了解如何在Python脚本中使用FFmpeg命令。 我们希望本教程对您有所帮助。

相关推荐
xlq223221 天前
22.多态(上)
开发语言·c++·算法
666HZ6661 天前
C语言——高精度加法
c语言·开发语言·算法
Wise玩转AI1 天前
Day 27|智能体的 UI 与用户交互层
人工智能·python·ui·ai·chatgpt·ai智能体
星释1 天前
Rust 练习册 100:音乐音阶生成器
开发语言·后端·rust
s***46981 天前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
风生u1 天前
go进阶语法
开发语言·后端·golang
666HZ6661 天前
C语言——黑店
c语言·开发语言
Gomiko1 天前
JavaScript基础(八):函数
开发语言·javascript·ecmascript
runepic1 天前
Python + PostgreSQL 批量图片分发脚本:分类、去重、断点续拷贝
服务器·数据库·python·postgresql
〝七夜5691 天前
JVM内存结构
java·开发语言·jvm