YUV实战

生成YUV

ffmpeg -i input.mp4
-an
-c:v rawvideo
-pix_fmt yuv 420420p out.yuv

-i 参数,代表输入视频
-an,a代表audio,n代表no,即没有音频,将音频过滤掉
-c:v rawvideo,c:v代表视频的编解码器,使用rawvideo进行处理
pix_fmt 指定yuv输出的格式,即yuv420p

播放YUV

ffplay -pix_fmt yuv420p -s 608x398 out.yuv

播放YUV

其中ffplay默认的格式就是yuv420p,所以参数pix_fmt yuv420p也可以省略,-s指定播放的分辨率

播放Y分量

ffplay -pix_fmt yuv420p
-s 608x368
-vf extractplanes=‘y’ out.yuv

这个命令可以从yuv格式的视频中单独播放y分量出来
其中vf是ffmpeg的一个滤波器,ffmpeg的滤波有两个,一个简单滤波一个复杂滤波。vf是简单滤波。
播放Y分量

提取各分量

ffmpeg -i input
-filter_complex ‘extractplanes=y+u+v[y][u][v]’
-map’[y]’ y.yuv
-map’[u]’ u.yuv
-map’[v]’ v.yuv

filter_complex复杂滤波器
此时进行播放要添加参数gray,即单色播放,不然会发生错误
此时播放命令:

ffplay -s 608x368 -pix_fmt gray y.yuv

此时播放u或者v分量的视频的命令:

ffplay -s304x184 -pix_fmt gray u.yuv

播放U分量

这是因为采样时是按照2:1进行的,即u或者v的采样都是y的二分之一,所以分辨率不是608x368而是304x184

问题

为什么U和V分量没有显示颜色

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值