直播时有时会遇到花屏或绿屏的现象,都有那些原因会导致这种现象呢?

梳理了部分原因:

视频直播花屏&绿屏 原因

花屏

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

全屏花屏

  • 正常花屏

本文福利, 免费领取C++音视频学习资料包、技术视频,内容包括(音视频开发,面试题,FFmpeg webRTC rtmp hls rtsp ffplay srs)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

有一种花屏是正常的,就是码率特别低的时候出现的大面积马赛克,我们俗称"画面糊了"。

比如我们告诉视频编码器要输出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信息未及时重新获取更新,会导致画面无法正常渲染,继而导致绿屏的现象出现。

本文福利, 免费领取C++音视频学习资料包、技术视频,内容包括(音视频开发,面试题,FFmpeg webRTC rtmp hls rtsp ffplay srs)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

音视频直播开发问题分析总结 -- 花屏绿屏相关推荐

  1. 【音视频开发系列】盘点音视频直播RTSP/RTMP推流一定会遇到的各种坑,教你快速解决

    聊聊RTSP/RTMP推流那些坑 1.推流架构分析 2.推流缓存队列的设计 3.FFmpeg函数阻塞问题分析 [音视频开发系列]盘点音视频直播一定会遇到的各种坑,教你快速解决 更多精彩内容包括:C/C ...

  2. 专业的直播APP音视频互动开发平台

    专业的直播APP音视频互动开发平台,全互动音视频直播SDK,多人随机连麦,重现现场互动 云智真全互动音视频直播SDK,全球首个基于 UDP 的直播 SDK,只有毫秒级的延迟,10000 人语音连麦,多 ...

  3. JavaCV音视频开发宝典:rtp点到点音视频传输TS流(一对一音视频直播)

    <JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 ​ 前言 在开始之前,我们需要了解一点rtp协议相关的知识. 当然了,相信很多小伙伴应 ...

  4. 音视频开发(23)---音视频直播技术--10分钟搭建好直播平台

    音视频直播技术--10分钟搭建好直播平台 前言 今天给大家讲一下如何搭建最简单的音视频直播平台.在之前的文章中我已经给大家介绍过音视频直播技术架构,没看过的同学可以看一下.了解了直播的技术架构,我们就 ...

  5. 音视频---直播云厂商架构分析和选型研究完整版

    目录 ucloud(优刻得) qiniu(七牛) 3ttech(三体云) baishan(白山云) wangsu(网宿) chinacache(蓝汛) aliyun(阿里云) 腾讯云 百度云 其他 直 ...

  6. 音视频互动开发平台之AnyChat SDK

    平台介绍 AnyChat音视频互动开发平台是一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音视频编码.多媒体通讯领域领先 ...

  7. 音视频技术开发周刊 | 237

    每周一期,纵览音视频技术领域的干货. 新闻投稿:contribute@livevideostack.com. 瘦脸.瘦腿太初级,揭秘「亚洲秘术」美颜美体特效 在机器之心最新一期技术分享中,机器之心机动 ...

  8. 音视频技术开发周刊 | 227

    每周一期,纵览音视频技术领域的干货. 新闻投稿:contribute@livevideostack.com. 直播新玩法背后的音视频技术演进 近年来,直播改变了许多行业模式,其形态在不断的演进中也逐渐 ...

  9. 音视频技术开发周刊 | 186

    每周一期,纵览音视频技术领域的干货. 新闻投稿:contribute@livevideostack.com. 如何为WebRTC应用程序选择正确的视频编解码器 确实是棘手的问题. https://bl ...

最新文章

  1. 聊聊elasticsearch的RoutingService
  2. p4 是否能自动merge
  3. 解读dbcp自动重连那些事---转载
  4. How does “Coded UI test” finds a control ?
  5. python 任务计划_使用Python添加计划任务
  6. 内置的常用协议实现模版
  7. activiti 文档_Activiti快速入门 kft-activiti-demo
  8. Linux安装GIMP
  9. 如何用ps做计算机科学系的logo,PS教你制作一个精致的大众汽车LOGO图文教程
  10. 海外app应用市场分享!
  11. 安卓手机屏幕在电脑上实时同步显示
  12. 电脑屏幕键盘关闭方法
  13. regedit 导入注册表
  14. 首次登录强制修改密码
  15. websocket前端向后端传数据时出现Buffer
  16. 头的各个部位示意图_牛肉的部位图解与做法+牛肉各个部位分布图及质地简介...
  17. ST_Intersection
  18. 使用了未定义的类_解决方法
  19. 服务器维修预算申请,云服务器费用预算申请范文
  20. 【论文详解】—AlphaGo中用到的3个关键技术

热门文章

  1. php验证一个日期是否是工作日,如何判断一个日期是节假日还是工作日
  2. ENVI处理遥感教程及学习资料
  3. 刚刚!国资委公布“双百企业”最新名单!
  4. gdc服务器系统,gdc服务器远程
  5. 精心整理200道最新Java中高级工程师高频面试题
  6. 关于联想小新系列Fn+Q切换模式失效的解决方案
  7. 小程序-阻止手机自动锁屏
  8. 与类相关的魔术属性 反射
  9. 默认python3版本,python2没有pip2模块,解决方案
  10. 大模型新势力:IDEA研究院张家兴入局创业,沈向洋任顾问,首轮估值20亿