ffmpeg视频处理总结(封装格式,编码格式,YUV处理)
(以下简单用A和B代替文件的路径和名称)
1.封装格式处理
- 封装格式相互转换
例:将MP4格式视频转为flv格式视频
ffmpeg -i A.mp4 B.flv
- 转换视频的编码格式
例:将一个MP4格式视频转为h264编码的格式
ffmpeg -i A.mp4 -vcodec h264 B.mp4
2.编码格式(封装与解封装)
- 解封装
例:将mp4格式视频解封装为w*h的264文件
ffmpeg -i A.mp4 -vcodec copy -s w*h -an -f m4v B.264
(其中-vcodec表示设置编码器,-vcodec copy就是用它原来的编码器,-s为设置它的尺寸,-an 为去除音频,-f选择格式)
- 封装
例:将一个264文件封装为一个ts格式视频和mp4格式视频
ffmpeg -i A.264 -vcodec copy -f mpegts B.ts
ffmpeg -i A.264 -vcodec copy -f mp4 B.mp4
3.YUV处理
- 播放YUV
ffplay -f rawvideo -video_size w*h A.yuv
- 转换成YUV文件
ffmpeg -i A.264 -vcodec rawvideo -an B.yuv
- YUV格式转换
例:YUV420转换YUV422
ffmpeg -pix_fmt yuv420p -s w*h -i A.yuv -pix_fmt yuv422p B.yuv
- YUV尺寸更改
ffmpeg -s w*h -i A.yuv -vf scale=w*h B.yuv