课程名称:音视频基础+ffmpeg原理 入门音视频技术开发
课程章节:视频基础知识
课程讲师:李超
课程内容
1.生成 YUV
通过 ffmpeg 命令将 .mp4 文件转换成 .yuv 文件,命令如下:
ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv
其中:
- -i 输入文件
- -an a表示音频,n关闭,关闭音频
- -c:v rawvideo 使用 rawvideo 对音频处理
- -pix_fmt: 像素格式
- out.yuv 输出文件
2.播放 YUV
播放 yuv 文件命令,其中 -vf 为video filter视频滤波器参数的缩写。
ffplay -f rawvideo -pixel_format yuv420p -video_size 480x270 out.yuv
播放Y分量命令:
ffplay -pixel_format yuv420p -video_size 480x270 -vf extractplanes='y' out.yuv
播放U分量命令:
ffplay -pixel_format yuv420p -video_size 480x270 -vf extractplanes='u' out.yuv
播放V分量命令:
ffplay -pixel_format yuv420p -video_size 480x270 -vf extractplanes='v' out.yuv
3.提取 YUV 中的各个分量
提取 yuv 文件中各个分量并保存为文件的命令:
ffmpeg -i killer.mp4 -filter_complex "extractplanes=y+u+v[y][u][v]" -map "[y]" y.yuv -map "[u]" u.yuv -map "[v]" v.yuv
播放单个 Y 分量命令,其中 gray 位单色。
ffplay -s 640x480 -pix_fmt gray y.yuv
播放单个U分量,分辨率需要减半:
ffplay -s 320x240 -pix_fmt gray u.yuv
播放单个V分量,分辨率需要减半:
ffplay -s 320x240 -pix_fmt gray v.yuv