前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你黑了吗

你黑了吗

原创
作者头像
高峰-pfgao
修改2020-11-17 09:41:13
1.9K0
修改2020-11-17 09:41:13
举报
文章被收录于专栏:腾讯云音视频专家服务

今天你黑了吗,哈哈,当然不是指的你皮肤变黑了,而是身处在直播浪潮中的你,在观看直播中是否碰见了黑屏的现象,不过不要慌张,接下来就以腾讯云直播为例告诉您引起黑屏的原因以及如何去规避黑屏。

问题描述

简单的来讲呢,就是当我们打开手机或者电脑看一场精彩的直播情况下,屏幕无法渲染出画面,黑乎乎的只能听见声音,没有图像出来,看就是它1-1的现象。

图1-1
图1-1

问题原因

黑屏原因千奇百怪,接下来跟着我一起揭开黑屏的神秘原因,我们从两个方面去剖析,一个是影响全局下行用户,一个是影响部分用户。

影响下行所有用户黑屏因素

(1)主播端摄像头权限:不管是移动端还是PC端去推流,在使用到摄像头都是需要权限申请,如果不赋予权限申请,会出现摄像头权限被禁用的情况,导致主播端视频数据无法采集,从而推出来的只有音频数据

(2)主播端编码失败:我们都知道当摄像头采集完数据后,下一个步骤就是传输到编码器,由于参数配置或者某些机型的硬编兼容性问题,从而导致没有视频数据送入到云端推流服务器。

(3)源流是纯音频流:此图可以看到streams信息只有音频数据的编码信息,没有视频信息。

图1-2
图1-2

因为浏览器或者部分播放器而影响局部黑屏因素:

(1)播放端解码异常:播放器遇到不支持的视频格式会导致解析失败,比如目前市面上主流的播放器都是只支持H264的编解码,但是播放H265的直播流会导致解码异常,只有声音没有画面,可以通过此图看到编码是H265方式,ffplay播放黑屏,但是用h265播放器播放即可正常,结尾有彩蛋继续看。

图1-3
图1-3

(4)播放器兼容性问题:某种情况下会出现客户自研播放器拉流黑屏,可以使用市面上主流播放器对比,比如VLC,ffplay等。

(5)关键帧的问题:推流设置的关键帧3s一个片,如果2s一个片,会出现短暂的黑屏现象,原因拉取到的ts没有关键帧导致无法解析。vlc播放器情况下可能会黑2秒,如果使用火狐可能直接跳过没有关键帧的片,自研播放器可能一直黑屏,大概率原因是播放器只判断了第一个ts里面帧的类型,后面不再进行判断,导致一直黑屏下去。如何查看关键帧可以通过videoeye查看,看type类型,两个I帧,通过两个pts相减,即可得到关键帧间隔。

图1-4
图1-4

(6)数据内容/格式异常也会导致解码失败:ffplay播放,是否缺少pps和sps信息,某些情况下缺少sps和pps会导致播放器解码异常。

图1-5
图1-5

现在呢我们既然找到了问题的所在,接下来跟着我走看看如何去避免这些小问题的发生

解决方案

(1)针对摄像头权限问题:App 侧做好权限处理问题,增加对摄像头和麦克风的检测判断,如果检测到未获取对应的权限,则禁止主播开播,并提示授予权限。

图1-6
图1-6

(2)sdk端增加对主播流信息的帧率监测,如果在监测到流信息帧率为0的情况下,同时确定采集到了视频数据,大概率就是编码器的原因,这时可以通过sdk的log看看具体报错信息加以定位

(3)播放端解码异常:(1)可以通过ffplay查看video信息是否是hevc编码格式,此编码格式代表h265,这种情况下一种是需要专用播放器播放,一种是通过腾讯云云端转码为h264解决。

图1-7
图1-7

(4)缺少关键帧导致黑屏:针对此问题两种解决方案,一种是按照关键帧切割,一种是ts切片包含关键帧,切割ts时长大于关键帧间隔时间

留言讨论

产生黑屏的原因多种多样,不同的场景下遇到的黑屏原因不同,以上的原因可能不足,有遇到新的黑屏情况欢迎通过工单或者其他im工具的方式联系我们,我们加以补充。

彩蛋

两个h265播放器

https://gftest-1253985742.cos.ap-guangzhou.myqcloud.com/ffplayBin20170516.zip 此播放器直接解压即可使用

https://gftest-1253985742.cos.ap-guangzhou.myqcloud.com/ffplay_265.exe 放到解压后的ffplay的bin目录下即可使用

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题描述
  • 问题原因
    • 影响下行所有用户黑屏因素:
      • 因为浏览器或者部分播放器而影响局部黑屏因素:
      • 解决方案
      • 留言讨论
      • 彩蛋
      相关产品与服务
      云直播
      云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档