项目场景:
项目场景:我们在处理视频数据解码时,经常会遇到解码失败出现绿幕的情况,这个时候一般我们会去检查解码端的程序代码。
问题描述
在出现问题的时候,是否有考虑过以下的问题:
“为什么是绿幕,不是黄幕、蓝幕或者其他颜色的?”
原因分析:
- 视频数据解码之后,是YUV格式,即分别由Y\U\V分量组成;
- 最终画面显示的话,是需要由YUV格式转为RGB,RGB是三原色的red、green、blue的简称;
- 当我们进行解码时,通常将YUV视频画面的数据初始化为0;
- 当解码失败时,根据YUV与RGB的转换公式,最终由Y(0)\U(0)\V(0)转换得到我们RGB对应值,该值就是对应的“绿幕”的颜色;
至此小结一下:
有兴趣的同学可以关注一下YUV与RGB格式,以及其中的相互转换公式。