如何快速入门使用ffmpeg进行视频处理?
摘要:ffmpeg是音视频处理领域的瑞士军刀,本文简单介绍了在windows下基于ffmpeg开发的入门知识,并结合实例介绍了下三个主要工具的基本用法。
1 ffmpeg安装
1.1 安装vcpkg
直接从github上下载Release版本,并进行安装
https://github.com/microsoft/vcpkg
从GitHub克隆vcpkg存储库。存储库包含用于获取vcpkg可执行文件的脚本,以及由vcpkg社区维护的特选开放源代码库的注册表。要执行此操作,请运行:
git clone https://github.com/microsoft/vcpkg.git
vcpkg特选注册表是一组数量超过2000个的开源库。 这些库已通过vcpkg的持续集成管道进行验证,可以协同工作。虽然vcpkg存储库不包含这些库的源代码,但它保存方案和元数据,以便在系统中生成和安装它们。
导航到vcpkg目录并执行启动脚本:
cd vcpkg && bootstrap-vcpkg.bat
启动脚本执行先决条件检查并下载vcpkg可执行文件。就这么简单,vcpkg已安装并可供使用。
配置VCPKG_ROOT环境变量。
set "VCPKG_ROOT=C:\path\to\vcpkg"
set PATH=%VCPKG_ROOT%;%PATH%
以这种方式设置环境变量只会影响当前终端会话。若要使这些更改在所有会话中永久存在,请通过“Windows 系统环境变量”面板进行设置。
1.2 安装其他库
一切准备就绪,在cmd命令行执行如下命令安装ffmpeg静态库:
vcpkg.exe install ffmpeg:x86-windows-static
在cmd命令行执行如下命令安装ffmpeg动态库:
vcpkg.exe install ffmpeg:x86-windows
安装过程如下:
使用vcpkg list可以列出当前所有安装的库,使用vcpkg remove可以卸载安装的库。
1.3 exe文件获取
vcpkg install ffmpeg默认不会安装ffmpeg.exe等工具程序,它只安装了作为库使用的 FFmpeg C/C++开发接口,如:avcodec、avformat、avutil、swscale等.lib/.dll,以及include/*/*.h头文件,因为vcpkg的目标是为C/C++项目提供开发依赖(SDK/库),而不是提供命令行工具(像ffmpeg.exe这种完整可执行程序)。要想使用ffmpeg.exe这种命令行工具,可以从官网https://ffmpeg.org/download.html下载预编译版本:
如下载 “release full”版本,解压后会包含ffmpeg.exe、ffplay.exe、ffprobe.exe三个可执行文件,将其路径添加到环境变量PATH中即可在cmd命令行直接使用这三个命令。
2 命令使用介绍
2.1 ffmpeg.exe
1. 查看帮助
-h,-?,-help,--help [arg]:显示帮助。可以指定可选参数来打印有关特定项目的帮助,如果未指定参数 arg,则仅显示基本工具选项,若指定参数,arg 可能值为:
long:除了基本工具选项之外,还打印高级工具选项。
full:输出完整的选项列表,包括编码器、解码器、解复用器、复用器、过滤器等的共享和私有选项。
type=name:输出相应类型的相关参数。如:decoder=msmpeg4v2,输出有关名为msmpeg4v2编码器的详细信息。
Decoder msmpeg4v2 [MPEG-4 part 2 Microsoft variant version 2]:
General capabilities: horizband dr1
Threading capabilities: none
接下来还有以下帮助选项
-version:显示查看版本(包括子模块的详细版本信息)。
-muxers:显示所有支持的封装格式(如mp4、mkv)
-demuxers:显示所有支持的解封装格式
-devices:显示支持的音视频输入/输出设备
-decoders:显示所有可用的解码器
-encoders:显示所有可用的编码器(如H.264、AAC等)
-filters:显示可用过滤器。
