FFmpeg 音视频开发工具

目录

[FFmpeg 下载与安装](#FFmpeg 下载与安装)

[ffmpeg 使用快速入门](#ffmpeg 使用快速入门)

[ffplay 使用快速入门](#ffplay 使用快速入门)


FFmpeg 全套下载与安装

1、FFmpeg 是处理音频、视频、字幕和相关元数据等多媒体内容的库和工具的集合。一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。

官网:https://www.ffmpeg.org/

源码:https://github.com/FFmpeg/FFmpeg

在线文档:http://ffmpeg.org/documentation.html

2、进入官网下载页面:https://www.ffmpeg.org/download.html,选择 Get packages & executable files (可执行文件)-> 以 Windox 系统为例,选择 Windows Builds from gyan.dev-> 然后可以看到一些不同的下载方式,不同的下载地址,视个人网速而定,本人选择 git master builds 下面mirror @ github 下面的镜像地址,-> 然后在 githunb 中下载 ffmpeg-2023-07-19-git-efa6cec759-full_build.zip(推荐下载 -full 全量版本,这样包含的库更多)。

3、下载解压后在 bin 目录下即可看到目标 .exe 程序文件:ffmpeg.exe、ffplay.exe、ffprobe.exe。

ffmpeg:是一个用于操作、转换和流式传输多媒体内容的命令行工具箱。

ffplay:是一款极简主义的多媒体播放器。

ffprobe:是一个用于检查多媒体内容的简单分析工具。

其他小工具:如 aviocat、ismindex 和 qt-faststart。

4、设置环境变量 :搜索 -> 高级系统设置->高级->环境变量->系统变量-> 选择"Path" -> 点击"编辑->新建 -> 把FFmpeg解压后的bin文件夹路径复制粘贴进去,然后点击确定关闭即可。

5、测试是否安装成功,按 win + R 打开运行,输入cmd打开命令运行窗口,输入命令 ffmpeg --version 查看版本信息。

6、安装成功后就可以直接使用命令运行窗口执行ffmpeg命令进行各种媒体格式的转换了。

bash 复制代码
C:\Users\A> ffmpeg -version
ffmpeg version 2023-07-19-git-efa6cec759-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil      58. 14.100 / 58. 14.100
libavcodec     60. 22.100 / 60. 22.100
libavformat    60. 10.100 / 60. 10.100
libavdevice    60.  2.101 / 60.  2.101
libavfilter     9.  8.102 /  9.  8.102
libswscale      7.  3.100 /  7.  3.100
libswresample   4. 11.100 /  4. 11.100
libpostproc    57.  2.100 / 57.  2.100

ffmpeg 使用快速入门

1、ffmpeg 是一个用于操作、转换和流式传输多媒体内容的命令行工具箱。

2、官网在线文档:http://ffmpeg.org/ffmpeg.html

3、下载的安装包解压后 doc 目录下有离线文档,如:file:///D:/software/ffmpeg-2023-07-19-git-efa6cec759-full_build/doc/ffmpeg.html。

演示 描述
ffmpeg -i input.mp4 output.avi 将 input.mp4 转为 input.avi 格式
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.mp4 将输出文件的视频比特率设置为64 kbit/s
ffmpeg -i input.avi -r 24 output.mp4 强制输出文件的帧速率为24 fps
ffmpeg -r 1 -i input.m2v -r 24 output.mp4 强制输入文件的帧速率(仅对原始格式有效)为1 fps,强制输出文件的帧率为24 fps

ffplay 使用快速入门

1、ffplay 是一款极简主义的多媒体播放器,功能相当的强大,基于命令行和快捷键操作,没有图形化界面。

2、官网在线文档:https://ffmpeg.org/ffplay.html

3、下载的安装包解压后 doc 目录下有离线文档,file:///D:/software/ffmpeg-2023-07-19-git-efa6cec759-full_build/doc/ffplay.html

按键 作用
q, ESC 退出
f 全屏
p, 空格 暂停
w 显示音频波形
s 逐帧显示
左方向键/右方向键 向后10s/向前10s
上方向键/下方向键 向后1min/向前1min
page down/page up 向后10min/向前10min
鼠标点击屏幕 跳转到指定位置(根据鼠标位置相对屏幕的宽度计算)
[常用快捷键]
名称 有参数 作用
x Y 强制屏幕宽度
y Y 强制屏幕高度
s Y 强制屏幕大小
fs N 全屏
an N 关闭音频
vn N 关闭视频
ast Y 设置想播放的音频流(需要指定流ID)
vst Y 设置想播放的视频流(需要指定流ID)
sst Y 设置想播放的字幕流(需要指定流ID)
ss Y 从指定位置开始播放,单位是秒
t Y 播放指定时长的视频
nodisp N 无显示屏幕
f Y 强制封装格式
pix_fmt Y 指定像素格式
stats N 显示统计信息
idct Y IDCT算法
ec Y 错误隐藏方法
sync Y 视音频同步方式(type=audio/video/ext)
autoexit N 播放完成自动退出
exitonkeydown N 按下按键退出
exitonmousedown N 按下鼠标退出
loop Y 指定循环次数
framedrop N CPU不够的时候丢帧
window_title Y 显示窗口的标题
rdftspeed Y Rdft速度
showmode Y 显示方式(0 = video, 1 = waves, 2 = RDFT)
codec Y 强制解码器
[常用命令参数]
相关推荐
简鹿办公8 分钟前
如何提取某站 MV 视频中的音乐为 MP3 音频
音视频·简鹿视频格式转换器·视频提取mp3音频
yufengxinpian14 分钟前
集成了高性能ARM Cortex-M0+处理器的一款SimpleLink 2.4 GHz无线模块-RF-BM-2340B1
单片机·嵌入式硬件·音视频·智能硬件
runing_an_min2 小时前
ffmpeg视频滤镜:替换部分帧-freezeframes
ffmpeg·音视频·freezeframes
ruizhenggang2 小时前
ffmpeg本地编译不容易发现的问题 — Error:xxxxx not found!
ffmpeg
runing_an_min4 小时前
ffmpeg视频滤镜:提取缩略图-framestep
ffmpeg·音视频·framestep
小曲曲5 小时前
接口上传视频和oss直传视频到阿里云组件
javascript·阿里云·音视频
安静读书7 小时前
Python解析视频FPS(帧率)、分辨率信息
python·opencv·音视频
佑华硬盘拷贝机7 小时前
音频档案批量拷贝:专业SD拷贝机解决方案
音视频
EasyNVR8 小时前
NVR管理平台EasyNVR多个NVR同时管理:全方位安防监控视频融合云平台方案
安全·音视频·监控·视频监控
xcLeigh15 小时前
HTML5超酷响应式视频背景动画特效(六种风格,附源码)
前端·音视频·html5