Python 脚本中的 FFmpeg
FFmpeg 是快进运动图像专家组的缩写。 它是一个开源项目,提供了ffmpeg、ffplay、ffprobe等工具来处理多媒体文件。
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 从 5 秒剪切到 10 秒,并将其保存为 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
在 Python 中使用 FFmpeg 保存视频缩略图
您还可以使用 Python 中的 FFmpeg 保存视频的缩略图。
以下示例从视频中的时间 4 秒生成宽度 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 翻转视频
在 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命令。 我们希望本教程对您有所帮助。
相关文章
Python 高斯核
发布时间:2023/06/26 浏览次数:161 分类:Python
-
高斯核是一种高通滤波器,是图像处理中最常用的滤波器之一。 它也用于机器学习。 本博客将介绍该内核以及如何使用它。
Python 中的 DNS 查找
发布时间:2023/06/25 浏览次数:118 分类:Python
-
本文将讨论 DNS 和 DNS 查找的概念。 之后,我们讨论使用 Python 进行 DNS 查找的方法。什么是 DNS DNS(域名系统)将域名转换为公共IP地址。
了解 Python 中的槽
发布时间:2023/06/25 浏览次数:167 分类:Python
-
本文将讨论槽常量变量在 Python 中的工作原理以及它如何比使用字典更好。了解 Python 中的槽
在 Python 中设置 HTTP 代理设置
发布时间:2023/06/25 浏览次数:141 分类:Python
-
在本文中,我们将讨论如何在我们的计算机和Python中设置HTTP代理设置。使用export命令在Python中设置HTTP代理设置
Pipenv 指定Python版本
发布时间:2023/06/25 浏览次数:88 分类:Python
-
本文讨论了使用 Pipenv 创建具有特定 Python 版本的虚拟环境的几种方法。 我们将列出先决条件并解释如何使用 pipelinev 所需的命令在虚拟环境中安装特定版本的 Python。
Python 验证 IP 地址
发布时间:2023/06/25 浏览次数:66 分类:Python
-
冒号分隔组 (:)。 在本指南中,我们将验证 IPv4 地址。在 Python 中验证 IP 地址验证IP地址意味着检查输入的IP是否有效。
Python 中的随机 IP 地址生成器
发布时间:2023/06/22 浏览次数:56 分类:Python
-
Python 提供了多个可用于打印随机 IP 地址的模块。 本教程将教您在 Python 中以字符串形式生成随机 IP 地址。使用 Faker 模块在 Python 中生成随机 IP 地址作为字符串
在 Python 中运行单元测试
发布时间:2023/06/22 浏览次数:139 分类:Python
-
在称为单元测试的软件开发过程中,检查应用程序中较小的、可独立测试的组件(称为单元)的功能。 Python unittest 模块允许我们运行单元测试。本文将讨论单元测试以及如何在 Python 中进行测
Python 单元测试发现
发布时间:2023/06/22 浏览次数:118 分类:Python
-
本文将向我们介绍单元测试以及如何针对特定代码段运行它。 我们将学习 discover 命令的用法来自动识别模块名称,以及为什么它在 Python 中可能不起作用。