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 强制解码器
[常用命令参数]
相关推荐
Black蜡笔小新44 分钟前
WebRTC嵌入式视频通话SDK:EasyRTC从免插件到轻量级带来的音视频通话技术
音视频·webrtc·sdk·rtc·webp2p
EasyNVR1 小时前
EasyRTC:开启智能硬件与全平台互动新时代
网络·音视频·webrtc·p2p·智能硬件·视频监控
EasyGBS1 小时前
从开发到部署:EasyRTC嵌入式视频通话SDK如何简化实时音视频通信的集成与应用
音视频·webrtc·实时音视频·视频监控
AI服务老曹9 小时前
通过感知、分析、预测、控制,最大限度发挥效率的智慧油站开源了
人工智能·开源·自动化·音视频
St-sun10 小时前
短视频导演编导制片人编剧教程策划影视媒体电商摄影后期 知识总结
音视频·媒体
SKYDROID云卓小助手12 小时前
无人设备遥控器之视频回传篇
网络·人工智能·嵌入式硬件·目标检测·计算机视觉·音视频
EasyNVR13 小时前
智能硬件新时代,EasyRTC开启物联音视频新纪元
运维·服务器·音视频·webrtc·p2p·智能硬件·视频监控
X@AKS14 小时前
http 响应码影响 video 标签播放视频
网络协议·http·音视频
深耕AI16 小时前
使用DeepSeek自动获取视频双语字幕srt文件【工具说明】
音视频·deepseek
科技小E16 小时前
EasyRTC:智能硬件适配,实现多端音视频互动新突破
网络协议·安全·小程序·音视频·webrtc·p2p·视频监控