FFmpeg处理音视频流程

FFmpeg基本信息查询命令
-versio 显示版本
-formats 显示可用的格式
-demuxers 显示可用的demuxers
-protocols 显示可用的协议
-muxers 显示可用的muxers
-filters 显示可用的过滤器
-devices 显示可用的设备
-pix_fmts 显示可用的像素格式
-codecs 显示所有编解码器
-sample_fmts 显示可用的采样格式
-decoders 显示可用的解码器
-layouts 显示channel名称
-encoders 显示所有的编码器
-colors 显示识别的颜色名称
-bsfs 显示比特流filter
FFmpeg录制命令
ffmpeg -f avfoundation -i 1 -r 30 out.yuv
-f :指定使用avfoundation采集数据
-i :指定从哪儿采集数据,它是- -个文件索引号
-r :指定帧率
播放
ffplay -s 2560x1600 -pix_fmt uyvy422 out.yuv
支持设备的索引号
ffmpeg -f avfoundation -list_devices true -i ""
FFmpeg录音命令
ffmpeg -f avfoundation -i :0 out.wav
:0 代表音频设备
开始录制音频
ffmpeg -f avfoundation -i :1 out.wav
播放
ffplay out.wav
FFmpeg分解与复用
多媒体格式转换
ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv
-i :输入文件
-vcodec copy :视频编码处理方式
-acodec copy :音频编码处理方式
抽取视频
ffmpeg -i f35.mov -an -vcodec copy out.h264
抽取音频
ffmpeg -i f35.mov -acodec copy -vn out.aac
FFmpeg处理原始数据命令
FFmpeg提取YUV数据
ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmts yuv420p out.yuv
带分辨率播放
ffplay -s 638x358 out.yuv
FFmpeg提取PCM数据
ffmpeg -i out.mp4 -vn -ar 44100 -ac2 -f s16le out.pcm
FFmpeg滤镜命令
ffmpeg -i in.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4
crop 格式 : crop=out_w:out_h:x:y
FFmpeg裁剪与合并命令
裁剪
ffmpeg -i in.mp4 -ss 00:00:00 -t 10 out.ts
合并
ffmpeq -f concat -i inputs.txt out.flv
inputs.txt 内容为 'file filename'格式。
FFmpeg图片/视频互转命令
视频转图片
ffmpeg -i in.flv -r 1 -f image2 image-%3d.jpeg
图片转视频
ffmpeg -i image-%3d jpeg out.mp4
FFmpeg直播推/拉流
直播推流
ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName
直播拉流
ffmpeg -i rtmp://server/live/streamName -c copy dump.flv
实战
推流地址
拉流地址
http://www.xypsp.com/live/4K.m3u8
http://47.98.37.74/live/4K.m3u8
网友评论