一、ffmpeg、ffplay、ffprobe区别
ffmpeg:超快音视频编码器(类似爱剪辑)
ffplay:简单媒体播放器
ffprobe:简单多媒体流分析器
二、帮助文档查看
2.1 ffmpeg查看帮助文档
基本信息:ffmpeg -h
高级信息:ffmpeg -h long
所有信息:ffmpeg -h full
2.2 ffplay、ffprobe帮助文档
ffplay:ffpay -h
ffprobe:ffprobe -h
注意:ffmpeg、ffplay、ffprobe部分参数通用,部分不通用
三、ffmpeg命令处理流程
如下一条命令将1920×1080的MP4文件转码成1280×720的flv文件
ffmpeg -i test_1920x1080.mp4 -acodec copy -vcodec libx264 -s 1280x720 test_1280x720.flv

文章插图
将test_1920×1080的文件解复用成音频和视频(demuxer)
将数据包解码成数据帧(decoder)
将帧处理成不同分辨率(filter)
将处理后的数据帧编码成数据包(encoder)
将编码后的音频和视频数据包输出到文件(muxer)
四、 ffmpeg命令
4.1 命令分类查询
命令分页:windows下可采取
ffmpeg -formats | more命令查找:# windowsffmpeg -formats | findstr flv#linuxffmpeg -formats | grep flv查询具体分类所支持的参数# 语法ffmepg -h type=name# 示例1ffmpeg -h muxer=flv# 示例2ffmpeg -h filter=atempo 
文章插图
【免费分享】整理了一些学习资料、教学视频和学习路线图,资料包括《Andoird音视频开发必备手册+音视频学习视频+学习文档资料包+大厂面试真题+2022最新学习路线图》等有需要可以点击
FFmpegWebRTCRTMPRTSPHLSRTP播放器-音视频流媒体高级开发

文章插图

文章插图
formats:如图所示(此命令包含muxers和demuxers),其中第一个参数为支持的复用器 。其中D为支持解复用器,E为支持复用器

文章插图
devices

文章插图
- dshow:支持录制设备(比如摄像头、麦克风)lavfi:虚拟设备sdl,sdl2:代表支持sdl输出vfwcap:摄像头采集
- codes

文章插图
其中第一个参数代表每个字母代表含义如下:
D…:解码支持
.E…:编码支持
…V…:视频编解码器(Video)
…A…:音频编解码器(Audio)
…S…:字母编解码器(Subtitle)
…I…:内幕帧编解码器,不需要参考别的帧(Intra frame-only )
…L.:有损的压缩(Lossy)
…S:无损的压缩(Lossless)
decoders

文章插图
encoders

文章插图
bsfs

文章插图
protocols

文章插图
filters

文章插图
pix_fmts

文章插图
layouts

文章插图
sample_fmts

文章插图
colors

文章插图
4.2 ffmpeg转封装4.2.1 截取视频
- -i 设定输入流
- -f 设定输出格式
- -ss 开始时间
- -t 时间长度(毫秒)
ffmpeg -i .test.mp4 -codec copy -ss 10 -t 20 -f flv 4.2.2音频处理