手记

【金秋打卡】第25天 YUV 实战

课程名称音视频基础+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


0人推荐
随时随地看视频
慕课网APP