直播问题分析总结 -- 花屏&绿屏

直播时有时会遇到花屏或绿屏的现象,都有那些原因会导致这种现象呢?
我梳理了部分原因:

 

视频直播花屏&绿屏 原因

花屏

花屏主要分为整个画面都花屏或局部花屏两种情况。

全屏花屏

  • 正常花屏

有一种花屏是正常的,就是码率特别低的时候出现的大面积马赛克,我们俗称"画面糊了"。
比如我们告诉视频编码器要输出1280 720高清分辨率的画面,但同时要求它只用 200 kbps的码率*(码率是指编码器每秒产生的视频数据大小 ),编码器此时能做的事情就是无底线地降低画质,就会导致大面积的马赛克。

  • 视频参数问题
    比如当视频源修改过视频参数(如从720P修改1080P),此时客户端用于解码的SPS&PPS如果没有重新获取的话,就会出现整个画面花屏的现象。这种花屏的现象会一直持续下去,不会随着时间而恢复正常画面。

     

    视频参数变化 导致全屏花屏或绿屏

局部花屏

  • SO_SNDBUF的Buffer太小
    当流媒体服务器的SO_SNDBUF的Buffer太小, 在网络环境不好时,导致部分直播数据丢失(比如丢失P帧),继而会导致部分花屏的现象。

解决方法:
增加SO_SNDBUF的Buffer大小

 

    SOCKET sSocket = ...
    ...
    int nRcvBufferLen = 1024*1024;
    int nSndBufferLen = 4*1024*1024;
    int nLen          = sizeof(int);

    setsockopt(sSocket, SOL_SOCKET, SO_SNDBUF, (char*)&nSndBufferLen, nLen);
    setsockopt(sSocket, SOL_SOCKET, SO_RCVBUF, (char*)&nRcvBufferLen, nLen);
  • P帧丢失
    I帧正常丢失P帧的情况下,画面的大部分区域是正常的,只有在发生变化的那部分区域会存在局部花屏。

绿屏

产生绿屏的主要是: 无法渲染的画面有些用黑色填充,有些用绿色填充,有些用上一帧画面填充。
视频参数改变, 而解码端的SPS&PPS信息未及时重新获取更新,会导致画面无法正常渲染,继而导致绿屏的现象出现。



作者:FlyingPenguin
链接:https://www.jianshu.com/p/f75c0cb02100
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

### 解决LCD显示噪点的技术方案 LCD显示出现噪点的主要原因可能是硬件设计缺陷、外部干扰或者软件配置不当引起的。以下是针对该问题的具体技术解决方案: #### 1. 调整PWM频率以减少纹波影响 当LCD的刷新频率与光源(如白光灯)之间的频差小于20Hz时,可能会引起视觉上的纹波现象[^1]。通过调整PWM频率至更合适的范围,可以有效缓解这一问题。具体操作如下: - 使用开发板中的寄存器设置功能,修改PWM输出频率。 - 测试不同频率下的显示效果,找到最佳匹配值。 ```c // 假设这是一个用于调节PWM频率的函数 void adjust_pwm_frequency(uint32_t frequency_hz) { // 配置PWM模块的相关参数 pwm_set_frequency(frequency_hz); } ``` 如果LCD本身的刷新率不稳定,则无法完全消除此问题,需考虑更换质量更高的幕组件。 --- #### 2. 排查USB串口对LCD信号的潜在干扰 根据描述,插上USB转TTL/RS232设备后,LCD可能出现花屏的概率增加,表明存在电磁兼容性(EMC)问题[^2]。建议采取以下措施降低干扰: - **物理隔离**:将USB接口远离LCD控制器区域布置,并加装蔽罩保护敏感电路部分; - **优化电源管理**:确保USB供电线路具备良好的滤波能力,避免噪声传递到核心逻辑单元; - **改进PCB布局**:重新评估现有印刷电路板的设计,缩短关键走线长度并增大与其他高功率器件间的距离; --- #### 3. 检查CAMERA模块是否引入额外因素 某些情况下,连接摄像头可能导致整个系统的稳定性下降,进而引发异常表现,比如绿或黑问题[^3]。对此可尝试执行下列步骤排查根本原因: - 修改CMOS传感器初始化序列,确认其退出低功耗模式后再正常工作; ```c write_cmos_sensor(0x01, 0xC0); /* 新增指令唤醒休眠状态 */ ``` - 如果仍然存在问题,则进一步验证当前所使用的图像处理算法是否存在偏差。 --- #### 总结 综上所述,修复LCD幕上存在的噪点可以从三个方面入手——合理设定内部定时机制参数、增强抗扰动性能以及仔细审查关联外设的工作状况。每一步都需要细致分析实际环境条件再做相应调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值