音视频图片相关基础:

1:rgb 红绿蓝 光的三原色

在RGB中,一幅图像有三个独立的图像平面或通道组成:红,绿,蓝(以及第四个通道透明度)。RGB(255,23,140)是光的三原色,也即红绿蓝Red、Green、Blue,它们的最大值是255,相当于100%。白色:rgb(255,255,255)黑色:rgb(0,0,0)红色:rgb(255,0,0)绿色:rgb(0,255,0)蓝色:rgb(0,0,255)青色:rgb(0,255,255)紫色:rgb(255,0,255)调整相关数字,便可以得到深浅不一的各种颜色

2:YUV (Y’CbCr) 一种像素格式,多用于视频编码/静态图像

         Y(相当于灰度)的"亮度"分量                     ===>表示亮度U(蓝色投影 Cb)和 V(红色投影 Cr)的"色度"分量   ===》表示颜色   ==》色度如果只有Y分量而没有UV分量,就是黑白(灰度)图像,兼容了彩色和黑白电视。注意:人眼对色度没有那么敏感。

3:YUV 存储方式: 平面格式, 半平面格式, 打包格式

平面格式(planar): 先存储所有的y分量,再存储所有的Cb分量,最后存储所有的Cr分量.
打包格式(packed): Y,Cb,Cr一起存储, ==》这里涉及一些存储方式,以n个样点为准依次存储。
半平面格式(semi planar): 先存储所有的Y分量,后面Cb和Cr分量一起存储.

4: YUV 种类:

空间间不同空间,即描述一个像素的bit数不同,比如yuv444,yuv422,yuv411,yuv420
​ ==》主要从空间上理解,
​ 如yuv444 表示y u v的个数都是4,
​ 如yuv422,表示y u v的个数是4,2,2 (人眼对色度的不敏感,u和v交错去取)
空间内相同空间,即描述一个像素的bit数相同,但是存储方式不同
​ ==》主要从固定像素上去理解:
​ 比如对于yuv420而言,又可细分为yuv420p(yu16/yv16),yuv420sp,nv21,nv12,yv12,yu12,I420

5: 对yuv空间内存储的理解:

 其实nv系列,都属于semi-plane系列这里nv12表示正常的顺序,即uv plane,先是u,然后是v而nv21表示相反的顺序,即uv plane,先是v,然后是u同样,nv16和nv61的区别也是仅仅是uv的次序而已。这里的12和16又代表什么呢?实际上代表的是一个像素所占的位数!以nv12为例,表示一个像素占用12bit,其中y是定死的占8bit,也就是u占2bit,v占2bit,实际上就是yuv420格式,具体而言是yuv420sp格式nv16,则表示一个像素占用16bit,其中y是定死的8bit,也即是u占4bit,v占4bit,实际上就是yuv422格式,具体而言是yuv422sp格式

6:为什么视频出问题(解码失败)的时候会显示绿屏?

注意: 在YUV全为0时,图像是绿色的。
图像中不同的颜色编码
1:YUV —》灰度(亮度)+色差分量
2:RGB —》RGB 三色分量

在YUV全0的时候,图片显示绿色

理解: 参考:https://www.fourcc.org/fccyvrgb.php
YUV和RGB的转换:Y = 0.299 R + 0.587 G + 0.114 BU = -0.1687 R - 0.3313 G + 0.5 B + 128V = 0.5 R - 0.4187 G - 0.0813 B + 128R = Y + 1.402 (V-128)G= Y - 0.34414 (U-128) - 0.71414 (V-128)B= Y + 1.772 (U-128)

将YUV的值全0带入公式中,可以得到:

 R = 1.402 * (-128) = -126.598G = -0.34414(-128) - 0.71414(-128) = 44.04992 + 91.40992 = 135.45984B = 1.772 * (-128) = -126.228

差不多就是R = -126, G = 135, B = -126
其中RGB有取值范围, 都是[0, 255]
所以最后就是R=0, G=135, B=0
查看颜色表:rgb(0,135,0) 差不多就是绿色

参考:https://blog.csdn.net/nwpu053883/article/details/103733537

​ https://www.jianshu.com/p/6a361e86ccd5

解码失败会显示绿屏,及yuv和rgb简单理解相关推荐

  1. 【经验分享】为什么视频画面解码失败之后显示的是绿幕?

    项目场景: 项目场景:我们在处理视频数据解码时,经常会遇到解码失败出现绿幕的情况,这个时候一般我们会去检查解码端的程序代码. 问题描述 在出现问题的时候,是否有考虑过以下的问题: "为什么是 ...

  2. QQ影音播放MP4、MKV等视频文件有声音没图像,显示绿屏

    首先,我们很无奈的一点就是我们在播放的时候,发现qq影音播放不了,但是也不是高清的,怎么办?有几种解决方式. qq影音播放时绿屏解决方法1 1.首先,我们打开电影,发现是绿屏,这时候,我们首先点击一个 ...

  3. 华为服务器近端连接显示绿屏,华为找到Mate20 Pro绿屏原因, 并正式给出解决措施!...

    原标题:华为找到Mate20 Pro绿屏原因, 并正式给出解决措施! 在今年秋季发布会的收尾阶段,华为推出了自家今年的压轴旗舰:Mate20系列.而这款手机相比春季发布的P20系列以及上代Mate系列 ...

  4. 解决视频播放器在线视频显示绿屏

    最近郁闷坏了,用暴风影音播放在线视频时老是绿屏,只有声音没有图像,网上差了好长时间也没有解决,只好自己试了,现在我把我的解决路程写上吧.<请您看完再动手,因为这是我的解决过程,前面的有些过程是可 ...

  5. 利用python实现简单的绿屏特效

    目录 简介 组成 图片 代码 引入需要的包 读取前景图 读取背景图 创建掩膜 替换背景 导出结果 创建画板 图像排版 输出图像 完整代码 结语 简介 很多人羡慕电影情节中的科幻场景,其实那些都是科技生 ...

  6. 视频图像解码失败播放的时候,为什么是绿屏而不是红屏

    在进行视频解码的过程中,主要使用到ffmpeg的由YUV到RGB的转换. YUV -> RGB 公式如下: R = Y + 1.402 (V - 128) G = Y - 0.34414 (U ...

  7. 关于mediacode编解码绿屏的汇总

    为什么YUV全为0的图像是绿色的 https://blog.csdn.net/nwpu053883/article/details/103733537 A: 图像中常见的颜色编码有两种方式. 1. Y ...

  8. android jni 硬解码,Android 硬解码 MediaCodec 遇到的(部分手机绿屏)API21

    MediaCodec 是android用来做音视频编解码 下面是遇到其它的问题(解码几分钟后一直dequeueInputBuffer-1) http://blog.csdn.net/qq3773663 ...

  9. RK平台 MPP 与RGA ,解码h265绿屏,花屏解决方法

    mpp 解码之后出现绿屏,花屏等现象,一般是由于h265数据对齐问题, h264视频对齐方式为16位对齐方法. h265视频对齐方式位256奇数对齐. h265对齐之后的宽高可通过 MPP函数中的 r ...

最新文章

  1. Singleton(单例模式)
  2. search by Belonging to my team测试 - with manager role
  3. 红米Note 8 Pro测评:论如何用1399元买到超大底四摄
  4. Microstrategy CEO:比特币是一种货币资产 正在迅速取代黄金作为价值存储
  5. 要抢足球教练饭碗!切尔西未来或将用上AI教练
  6. win软件推荐:ACDSee Photo Studio Ultimate 2022(图片编辑器)
  7. js中this的用法
  8. c语言怎样设计程序界面,「分享」C语言如何编写图形界面
  9. mysql 密码过期解决图例_MYSQL 密码过期解决办法
  10. 《程序员的数学》读书计划
  11. 开源的项目管理软件——OpenProj
  12. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.1
  13. Android 一个adapter实现商品列表折叠
  14. python下载pandas库_Python中的pandas库
  15. tuio+ 图片拼接软件制作方法
  16. 终于把AI换脸的原理搞清了
  17. 基于UWB与航迹推算的智能仓储机器人
  18. 知识产权保护的内容有哪些?
  19. 【SDK编程】LRC歌词制作工具V1.0
  20. R:字符串截取和匹配

热门文章

  1. zoj 1005 Jugs BFS
  2. 嵌入式web服务器lighttpd的交叉编译及配置
  3. 微信计算机发展的表征是什么意思,【表征】的意思是什么?【表征】是什么意思?...
  4. 大咖丨哥伦比亚教授周以真:人工智能恐慌以及大数据威胁反思
  5. UVM基础-Sequence、Sequencer(二)
  6. 微信小程序函数传参以及获取调用
  7. 从项目的一个 panic 说起:Go 中 Sync 包的分析应用
  8. 2018年第一周APP黑马榜单
  9. Object-C,文件路径API
  10. H5外部浏览器唤起微信分享