美文网首页音视频测试
音视频常见问题?YUV/RGB视频花屏、黑屏、绿屏.

音视频常见问题?YUV/RGB视频花屏、黑屏、绿屏.

作者: 李菜菜同学 | 来源:发表于2023-08-26 16:05 被阅读0次

本节内容:音视频面试常见问题-视频花屏、绿屏、黑屏排查思路

1视频画面怎么表示YUV/RGB

2.视频为什么会花屏

3.视频为什么会绿屏

4视频为什么会黑屏音

5.音视频成长路线分享

一、音视频面试常见问题-视频花屏、绿屏、黑屏排查思路

1.音视频编解码原理

简单来说就是  推流---流媒体服务器转发--拉流

图示

2.图像基础概念

1.图像的基本概念

像素: 像素是一个图片的基本单位,pix是英语单词picture的简写,加上英语单词“元素element”,就行到了”pixe”,简称px,所以像素”有“图像元素之意。

分辨率: 是指图像的大小或尺寸。比如1920x1080。

位深: 是指在记录数字图像的颜色时,计算机实际上是用每个像囊需要的位深来表示的。比如红色分量用8bit。

率: 在1秒钟时间里传输的图片的倾数,也可以理解为图形处理器每秒钟能够刷新几次。比如25fps表示一秒有25张图片。

码率:视频文件在单位时间内使用的数据流量。比如1Mbps。

Stride: 指在内存中每行像素所占的空间。为了实现内存对齐每行像素在内存中所占的空间并不一定是图像的宽度.

2.YUV

2.1什么是YUV?

图示

2.2YUV的存储方式:

图示

2.3不同采样率 采样

图示

2.4为什么解码出现绿屏?

一般:解码RGB出现绿屏、分辨率问题

因为解码失败时YUV分量都填为0值,然后根据公式:

R = 1.402*(-128)=-126.598

G=-0.34414*(-128)-0.71414*(-128)= 44.04992 + 9140992 = 135.45984B = 1.772*(-128)=-126.228

RGB 佰范围为[0,255],所以最终的值为

R =0

G=135.45984

B=0

此时只有G分量有值所以为绿色

YUV -> RGB

3.视频为什么需要进行编码压缩?

一张为720x480的图像,用YUV420P的格式来表示,其大小为:72048015约等于0.5MB

如果是25顿,10分钟的数据量 0.5M10*60*25 = 7500MB->7GB多

视频编码压缩的目的是降低视频数据大小,方便存储和传输。

视频压缩原理--数据冗余:

编码的目的是为了压缩,各种视频编码算法都是为了让视频体积变得更小,减少对存储空间和传输带宽的占用。编码的核心是去除冗余信息,通过以下几种冗余来达到压缩视频的目的:

1.空间冗余:图像相邻像素之间有较强的相关性,比如一帧图像划分成多个16x16 的块之后,相邻的块很多时候都有比较明显的相似性

2.时间冗余:视频序列的相邻前后帧图像之间内容相似,比如帧率为 25fps 的视频中前后两帧图像相差只有 40ms,前后两张图像的变化较小,相似性很高

3.视觉冗余:我们的眼睛对某些细节不敏感,对图像中高频信息的敏感度小于低频信息的。可以去除图像中的一些高频信息,人眼看起来跟不去除高频信息差别不大(有损压)

4.编码冗余(信息熵冗余) :一幅图像中不同像素出现的概率是不同的。对出现次数比较多的像素,用少的位数来编码。对出现次数比较少的像素,用多的位数来编码,能够减少编码的大小。比如哈夫曼编码

图像帧的类型:

图示

3.1为什么 压缩的原始数据一般采用yuv的格式?

视频编码是对一张张图像来进行的。我们知道彩色图像的格式是 RGB 的,但RGB 三个颜色是有相关性的。

采用YUV格式,利用人对图像的感觉的生理特性,对于亮度信息比较敏感,而对于色度信息不太敏感,所以视频编码是将Y分量和UV分量分开来编码的,并且可以减少UV分量比如我们之前说的YUV420P。

3.2视频花屏、绿屏、黑屏排查

一般情况下问题出现的原因:

黑屏:渲染,比如opengl

绿屏:解码,丢数据问题

花屏:丢数据问题,码率过低

步骤:发送端--服务器转发--接收端

通过以上三个方面去排查:

1.如果发现观众端显示不正常排查顺序:

a.排查接收端

内存是否对齐?dump的格式是否正确?网络网卡带宽的限制?

b.发送端查询

dump H264的数据是否正常?

udp发送,有没有可能丢包?

采集数据的格式是否正常?

c.服务器排查(很多使用的是第三方的服务器)

一般排查相对难,层级去排查。

a.排查接收端 b.发送端查询 c.服务器排查

相关文章

  • 音视频结构:带你深入理解YUV

    前言 在音视频开发中,RGB和YUV这些颜色空间估计大家都不会陌生。相对来说RGB比较容易理解,但是YUV的一些概...

  • 音视频基础

    音视频原始文件 采集的音频原始文件为PCM格式。 采集的视频原始文件为YUV/RGB格式。 由于采集的原始的音视频...

  • 如何解决直播中黑屏、花屏、闪屏问题?10 分钟搞明白

    「黑屏、花屏、闪屏」经常出现在直播应用中,除了网络问题,在直播过程中的黑屏、花屏、闪屏却有很多技术原因,这篇文章将...

  • FFmpeg 入门-前置基础

    章节 像素存储格式 YUV & RGB I、B、P 帧 pts & dts 音视频开发技术可以做的事情 前言 在学...

  • 直播专题问题排查-黑屏、花屏、闪屏(六)

    黑屏、花屏、闪屏问题 首先我们要明白,黑屏、花屏、闪屏等问题,可能是推流端的问题,也可能是播放器的问题,遇到这些现...

  • Live-client-4-x264编译

    在音视频开发中,通常需要将颜色空间模型YUV、RGB数据编码成MPEG、H.26X系列的视频编码。 视频相关知识 ...

  • FFmpeg - 播放YUV,视频帧格式转换

    播放YUV 定时读取YUV的视频帧 将YUV转换为RGB数据 用RGB数据生成CGimage 在view上绘制CG...

  • Opengl ES之YUV数据渲染

    YUV回顾 记得在音视频基础知识介绍中,笔者专门介绍过YUV的相关知识,可以参考:《音视频基础知识-YUV图像》[...

  • YUV格式与RGB的转换

    前言 YUV与RGB是两种不同的颜色空间,视频一般都用YUV来进行存储,因为相同分辨率的视频RGB占用空间为YUV...

  • iOS视频数据编码

    一、视频采集输出数据格式YUV&RGB RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)...

网友评论

    本文标题:音视频常见问题?YUV/RGB视频花屏、黑屏、绿屏.

    本文链接:https://www.haomeiwen.com/subject/nkebmdtx.html