一、音视频的应用范围
1、直播类:音视频会议、教育直播、娱乐/游戏直播等
2、短视频:抖音、快手、小咖秀
3、网络视频:优酷、腾讯视频、爱奇艺
4、音视频通话:微信、QQ、Skype等
5、视频监控:
6、人工智能:人脸识别,智能音箱等,更关注算法
二、音视频的处理流程
三、播放器架构
四、渲染的流程
五、FFmpeg命令分类
1、基本信息查询命令
-version 显示版本
-demuxers 显示可用的demuxers
-muxers 显示可用的muxers
-devices 显示可用的设备
-codecs 显示所有编解码器
-decoders 显示可用的解码器
-encoders 显示可用的编码器
-bsfs 显示比特流filter
-formats 显示可用的格式
-protocols 显示可用的协议
-filters 显示可用的过滤器
-pix_fmts 显示可用的像素格式
-sample_fmts 显示可用的采样格式
-layouts 显示channel名称
-colors 显示识别的颜色名称
2、录制命令
查询avfoundation支持的设备列表
- ffmpeg -f avfoundation -list_devices true -I “”
1、录制视频命令:
ffmpeg -f avfoundation -i 1 -r 30 out.yuv
-f:指定使用avfoundation采集数据
-i:指定从哪采集数据,它是一个文件索引号
-r:指定帧率
2、播放视频命令
ffplay -s 2880x1800 -pix_fmt uyvy422 out.yuv
1、录制音频命令:
ffmpeg -f avfoundation -i :0 out.wav
: 冒号前设置视频,冒号后设置音频
2、播放音频命令
ffplay out.wav
3、分解与复用命令
1、多媒体格式转换
ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv
2、抽取视频流
ffmpeg -i f35.mov -an -vcodec copy out.h264
-an:不要音频
3、抽取音频
ffmpeg -i f35.mov -acodec copy -vn out.aac
4、处理原始数据命令
1、ffmpeg提取YUV数据
ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv
-i :指对哪个多媒体文件进行处理
-an: a代表audio , n代表no
-c:v:对视频进行编码
-pix_fmt:像素格式
2、播放YUV
ffplay -s 2880x1800 out.wav
1、ffmpeg提取PCM数据
ffmpeg -i out.mp4 -vn -ar 44100 -ac2 -f s16le out.pcm
-a:以a开头是表示与音频相关
s16le: s表示有符号, 16表示16位,le表示小端
2、播放PCM数据
ffplay -ar 44100 -ac 2 -f s16le out.pcm
5、滤镜命令
水印,画中画,裁剪,倍速
1、ffmpeg提取YUV数据
ffmpeg -i in.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4
-vf :表示视频滤镜
in_w:视频宽
in_h:视频高
-c:v: 视频编码器
-c:a 音频编码器
2、播放YUV
ffplay out.mp4
6、裁剪与合并命令
1、裁剪命令
ffmpeg -i in.mp4 -ss 00:00:00 -t 10 out.ts
-ss :从什么时间裁剪
-t: 裁剪时长
2、合并命令
ffmpeg -f concat -i inputs.txt out.flv
concat:拼接
inputs.txt:文件列表,所有要合并文件的名字。内容格式为file 'filename'
7、图片与视频互转命令
1、视频转图片
ffmpeg -i in.flv -r 1 -f image2 image-%3d.jpeg
-r:指定转换图片的帧率,1秒1张
-f: 转成什么格式的
2、图片转视频
ffmpeg -i image-%3d.jpeg out.mp4
8、直播相关命令
1、推流
ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName
-re :减慢帧率速度,帧率保持同步
-f: 转成什么格式的
2、拉流
ffmpeg -i rtmp://server/live/streamName -c copy dump.flv
845

被折叠的 条评论
为什么被折叠?



