一:FFmpeg处理音视频的流程

音视频开发*:FFmpeg常用命令

 

二:FFmpeg处理音视频的命令。

1、基本信息查询。

-version                       显示版本

-demuxers                   显示可用的demuxers

-muxers                       显示可用的muxers

-devices                       显示可用的设备

-decoders                    显示可用的解码器

-encoders                    显示可用的编码器

-formats                       显示可用的格式

-protocols                    显示可用的协议

-filters                          显示可用的过滤器

-pix_fmts                     显示可用的像素格式

-sample_fmts              显示可用的采样格式

-layouts                       显示channel名称

-colors                         显示识别的颜色名称

示例:ffmpeg -version

 

2、录制命令

ffmpeg -f avfoundation -i 1 -r 30 out.yuv

-f:指定使用 avfoundation 采集数据

-i:指定从哪采集数据,他是一个文件索引号

-r:指定帧率

 

2.2、播放yuv格式数据:

ffplay -s 3360x2100 -pix_fmt uyvy422 out.yuv

 

2.3、查看可用设备

ffmpeg -f avfoundation -list_devices true -i ""

 

2.4、录制音频

ffmpeg -f avfoundation -i :0 out.wav

:0  代表音频设备

 

3、分解与复用

3.1、多媒体格式转换

ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv

-i:输入文件

-vcodec :视频编码处理方式

-acodec:音频编码处理方式

copy:指明只拷贝,不做编解码

 

3.2、提取音频

ffmpeg -i out.mp4 -acodec copy -vn out.aac

vn:v 代表视频,n 代表 no 也就是舞视频的意思。

 

3.3、提取视频

ffmpeg -i out.mp4 -acodec copy -an out.h264

an:  a 代表视频,n 代表 no 也就是无音频的意思。

 

3.4、视频和音频合成

 ffmpeg -i out.h264 -i out.aac -vcodec copy -acodec copy muxer.mp4

 

4、提取原始数据

4.1、提取YUV数据

ffmpeg -i input.mp4 -an -c:v rawvideo -pixel_format yuv420p out.yuv

-c:v rawvideo   指定将视频转成原始数据

-pixel_format yuv420p   指定转换格式为yuv420p

 

ffplay -s wxh out.yuv

 

4.2、YUV转H264

ffmpeg -f rawvideo -pix_fmt yuv420p -s 320x240 -r 30 -i out.yuv -c:v libx264 -f rawvideo out.h264

 

4.3、提取PCM数据

ffmpeg -i out.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm

ffplay -ar 44100 -ac 2 -f s16le -i out.pcm

 

4.4、PCM转WAV

ffmpeg -f s16be -ar 8000 -ac 2 -acodec pcm_s16be -i input.raw output.wav

 

5、滤镜命令

ffmpeg可以使用libavfilter库中的过滤器处理原始音频和视频帧。 几个链式过滤器形成一个过滤器图形。 ffmpeg区分两种类型的过滤器图形:简单和复杂。

 

相关文章: