首页 > 编程知识 正文

做教学直播需要什么设备(有声主播设备)

时间:2023-05-06 19:09:41 阅读:79597 作者:958

2018年3月31日,《ZEGO Meetup视频直播技术实践之路》第三期在上海成功举办,会场聚集了直播行业的从业人员聆听。 会议不出所料,现场前端团队负责人高贵的蜻蜓——科技资深技术专家和架构师jldsb、沪江CCTalk音视频架构师fzdyet和涂图TuSDK研发技术总监个性冬、 其中,哪个直播前端团队负责人高贵的蜻蜓老师主要分享了哪个直播这四年在移动端和Web端两大平台上踩出的漏洞和优化经验。 本文是对他演讲内容的整理。

高贵的蜻蜓,现场前端团队负责人

简介:曾经每天都很美,英语说得很流利,现在负责前端开发团队team leader相关工作的现场直播是什么? 技术上主要偏向JS、Node全堆栈式开发,主要负责公司内部主站、内部服务和部分微服务的开发和管理。

直播团队于2012年底进入直播行业,但直播还处于混乱时期,没有比现在更多的第三方直播技术解决方案提供商。 任何一个直播平台都是从零开始,和很多c端厂商一起,一点一点地研究,踏实地导出直播技术,走了很多弯路。

近两年的直播爆发后,出现了非常多的第三方直播解决方案。 一些制造商将精力集中在云这样的解决方案上,提供更好的服务器和算法来提高流传输速度,还有一个只有客户端的SDK,可以帮助企业更快地访问实时业务。 另外,还有像即时技术这样的制造商,它们将两个部分结合起来,提供一系列解决方案,使您能够快速启动希望立即访问视频直播的公司和项目。

在会议上,高贵的蜻蜓着重于在什么样的现场直播中分享了在移动端和Web端主流研发中积累的漏洞和优化经验。

是现场前台技术负责人高贵的蜻蜓吗

移动端平台的实践与优化

移动端推力step1

早期的安卓手机整体性能较弱,移动终端采用硬件代码rtmp dump的推送方式。

硬码可以启用GPU,释放部分CPU的计算能力,支持业务计算,同时降低了手机的整体发热量,间接延长了整个APP的使用时间,当时效果很好。 但是,随着使用和测试的进行,现场直播和其他竞争产品的比较存在以下问题。

1 )画面模糊。

2 )码率较大。

为了解决这个问题也进行了很多尝试,但是效果不太理想。 然后,在Android内部,我们发现谷歌强制使用baseline编码,导致协调不成功。

3 )硬件兼容性差。

Android的MediaCodec编码器在兼容性上非常繁琐,因为不同的手机和芯片平台的行为略有不同,不同的硬件制造商对其的支持也各不相同,但iOS中却相对没有这种问题。

4 )网络流量不稳定。

针对直播端推送流频繁中断、观众端出现卡顿等问题,每个直播端都进行了一些优化。 例如,如果流网络堵塞,则放弃尚未发送的队列中的数据以防止总延迟增加,或者调整播放器的缓存大小以减少网络不稳定所带来的影响。

当时没有专门研究电视和视频的研发人员进行现场直播,通过这样的努力提高了性能效率,但与其他竞争产品相比也有差距。

那时,直播行业开始爆发式增长,并逐渐出现了第三方解决方案。 直播中,为了解决一些痛点,我们决定尝试第三方解决方案。

移动端推流step2

在寻找第三方解决方案的过程中,哪个现场团队发现第三方提供商的一个共同点是——大部分都是采用软件编码硬件编码的解决方案。 在现场直播内部也开始以这种想法进行尝试,试了一段时间后,整体性能得到了提高,还发现了两个问题。

1 )低端机的整体性能较弱,视频下载帧率不太稳定,不能稳定在20、30帧,有时直接跳到100或1位

2 )采用软件代码后,低端机发热量较大。

“我们尝试了这个软件对硬件进行编码的解决方案,但发现这个解决方案也不成熟。 然后我们遇到了构建技术的解决方案。 在直播行业的头一两年,我们已经尝试了很多方案,但最终还是有专门的音视频人员没有深入研究音视频技术的性能问题。 市面上常见的解决方案也往往是东墙西墙,难以全面解决问题。 通过接触即时消息技术,即时消息可以完全解决以往遇到的问题,在画质、兼容性、纸箱频率、加载速度、视频稳定性方面直播性能也有非常好的提高,确实达到了行业领先水平”现场前台技术负责人高贵的蜻蜓这样说。

移动端牵引

移动端的引流比较简单。 演唱会初期使用了Ijkp吗

layer进行视频流的播放,基本稳定,不需折腾,使用起来也正常。但随着各家直播平台性能的提升,么么直播的首屏加载时间相比较长,体验差。在同样接入几个机型对比后发现,么么直播发现在拉相同流的情况下,即构的播放器加载速度更快一些。所以最后,无论是推流还是拉流,么么直播平台都替换成了即构的解决方案。

美颜

现在,美颜是直播平台必备的功能。么么直播最早在开发美颜功能时,并没有那么顺利。起初即构的SDK并没有把视频流的原始数据开放出来,而美颜的SDK需要使用视频流原始数据,然后进行再加工,所以最初碰到了整合的问题。通过沟通,即构决定开放他们的视频流原始数据,提供内存和textureID两种形式暴露数据,而市面上大部分的美颜相关的SDK都支持这两种方式,所以美颜问题也得到了顺利解决。

Web端平台的实践与优化

Web端推流

web上主要有两种推流方式,直接使用flash开播或者使用OBS软件开播。么么直播没有对OBS进行二次开发,所以在有限带宽内,会给主播提供几个码率、分辨率的配置,依据不同的网络环境自行进行调整,可是主播相对来说不愿使用。

高贵的蜻蜓表示,很多平台已经不太使用flash这种开播方式,但flash的推流方案在么么直播平台是很多主播的选择。么么直播平台的主要业务集中在美女直播,相对斗鱼和其他游戏平台所需带宽的量小一些。这种情况下,flash有先天优势。它最主要的优点是方便,主播不需要进行额外的学习,直接上手,浏览器支持flash打开页面就能用。不过这也带来了另外的几个问题:

1)flash自身的缺陷——对系统资源的消耗较大

2)flash不支持AAC编码,只有Nelly Moser 和Speex 两种音频编码格式,所以在同等的音视频质量下,推流所需的带宽较高。

针对这些问题,么么直播做了如下一些尝试:

1、开发桌面端插件。简单地说,就是开发一个第三方插件,主播开播的时候不走flash的推流流程,而是直接通过插件进行推流。这在一定程度上能解决上面的问题,但是不同PC的兼容性问题、开发成本以及主播的主观能动性都使这一方案没有继续使用。

2、开发单独的推流软件。这点很多平台都有在做。独立的推流软件稳定性高、性能好,并且可定制化程度也比较好,但是需要的研发资源和人力比较高,受制于当时团队内部没有这么多的人力开发,最终否掉了这个方案。

3、服务端转码。在服务端对现有的流进行转码,这个其实已经应用得比较广泛了。最常见的就是将一路高清或者大码率的流进行转码,然后拆分出几路低清的流,上来的是非AAC的流,通过转码最终下行拉流的时候拉取的是AAC流。目前我们也是使用服务端转码的解决方案。

Web端拉流

H5上使用的是hls进行拉流,通过转码就能够做到。由于hls的特性,需要切片,所以延迟相对高。

pc端主要是使用rtmp和flv两种流格式,么么直播平台rtmp使用flash进行播放,flv使用js进行播放。

使用flash播放rtmp的流时,涉及到视频的秒开时间、flash加载速度两大性能指标。么么直播首先通过精简播放器的体积,使其从原来的600多K减小到现在的19K;然后在前端页面上采取分块加载的策略,优先加载和播放相关的代码或者文件。进行了这两方面的处理后,视频的秒开时间从原先的3-4秒降到了2秒内。

flv使用的是纯前端js播放,通过使用最新的Media Source ExtensionsAPI,可以把flv的视频流通过前端转码,直接在页面上通过video标签进行播放,使其无需flash。

rtmp跟flv流的性能相当,由于flv舍弃了flash,整体CPU消耗比原先降低了5%—10%左右,所以使用flv整体性能提升是较大的。并且,相对小的性能消耗可以得到和flash一样的直播播放体验。

关于即构ZEGO

即构科技于2015年由QQ前总经理rdls创立,A轮获得IDG投资,核心团队来自腾讯QQ,汇聚了来自YY和华为等厂商的顶尖语音视频人才。即构ZEGO致力于提供全球最清晰最稳定的实时语音视频云服务,助力企业业务创新,改变用户线上沟通方式。即构ZEGO深耕视频直播、视频社交、游戏语音、线上抓娃娃和在线教育等领域,赢得了映客、花椒直播、一直播、喜马拉雅FM、陌陌游戏、自由之战2、和好未来等顶级厂商托付和信赖。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。