温馨提示:您当前的浏览器版本过低,存在安全风险,建议升级浏览器

  • • 体验方维系列软件产品
  • • 了解最热的互联网资讯
热门标签
百度地图 百度地图 百度地图 百度地图 百度地图 百度地图 百度地图
最新资讯

视频直播技术趋势深度剖析|ECUG精粹系列

2017-03-15 4549

直播技术是当下很受关注的技术领域,它开启全新的交互变革。目前,直播技术的现状如何?它的技术细节有哪些?下一个趋势会是什么?本文带你详细了解。

 

直播技术现状

 

移动直播的主流技术方案

移动直播,PC 和移动端不一样,有很大差异。

 

现在手机的主流视频参数是 360P 640×360 分辨率)、800kbps ,帧率 15-25fps ,延迟 3-6 秒(看到的主播和延迟),编码方案基本上全是 H.264 ,软编硬编都有,YY 自身也是软硬编码都有。前处理基本的思路都是基于 GPU 的美颜等特效。

 

主流的传输方案:上行是RTMP ,下行 FLV  over HTTP CDN 云服务负责转发。当然,也有个别的厂商不一样,YY 就不一样,YY 整个传输都是自己写的,这和业界完全不同,原因是之前就是做语音传输的,那时一直是自己做传输层,由 UDP 来实现传输协议,做视频的时候就延续过去的技术传统,所以跟主播厂商不一样。当然,YY支持标准协议。

 

当前直播技术的困境

 

终端硬件的性能瓶颈

整个移动直播最近两年很火,曾经开玩笑称这个行业是被 iPhone6 创造出来的,没有 iPhone6 就没有今天的移动直播行业。为什么呢?因为在 iPhone 之前的手机根本没有办法拿来做直播,电池太小、屏幕太小、CPU 主频太低、性能太差、摄像头也太差,iPhone 之前的手机都不能作为一个合格的直播手机,自从 iPhone 这个划时代的伟大产品出现,创造出这个直播的行业。但是 iPhone 的性能也卡住了这个行业的技术上限,例如现在 iPhone7 发布,iPhone7 的性能上限就是整个行业各项技术指标的上限,不可能超越它,YY 下一步技术指标再进步就只能指望 iPhone8 了。

 

传输宽带的成本

 

算法缺乏成熟的开源方案

算法是有的,但是都是从 PC 时代过来的算法,并没有对手机做单独的优化,从设计之初并没有考虑到移动视频或者视频直播的场景,所以要做大量的改进、优化、定制。例如回声消除,当时考虑的是 PC 环境,对手机的环境适应很差,这些需要自己去改。

 

优质的内容制作技术和互联网的鸿沟

优质内容制作手段非常多,比如影视剧、电影电视、广电部门的综艺节目,制作成本相当高,拍摄画面清晰,画面特效融合得非常好,创作广电和互联网内容之间会产生鸿沟,传统电视的东西怎么推到互联网?他们之间只有很窄的通道即采集卡,输出到采集卡,从 PC 反采集出去,变成能够在互联网上推流的东西。

 

广电有严格的标准委员会,有严格的执行标准,采购商按照标准采购,但是到互联网之后并没有那么遵守标准,或者说压根没有什么标准,没有移动直播标准委员会推广移动直播的标准,各家直播出来的视频甚至都不互联互通。传统广电制作的优秀内容,过渡到互联网这边就会有各种各样的麻烦。

 

直播质量的几个重要指标

视频画质

主观画质和客观画质,都有相应的算法。

美颜效果

卡顿率,主观流畅性

有些视频其实不卡,偶尔顿一下,或者显得动作不连贯,就是主观流畅性。

编解码性能功耗

音视频延迟

音画同步率

在唱歌的场景特别重要,口形和声音对不上会认为这个人在假唱。

主观音质,PESQ POLQA

 

YY 的一些质量优化成果

 

编码优化

开源的项目其实并不是为移动直播和视频直播做设计的,在性能上有巨大的优化空间。性能、画质、码率不可能全部都要,YY 的思路是牺牲其中一项换另外两项的提升。汇编优化能产生一点效果,但是收益比较有限,开源项目对手机的 SSE  NEON 指令等效果不错,但是不会有太大的进步。主要是牺牲少量画质可以换取性能大幅提升,牺牲码率稳定性换取平均码率降低。在测试上,YY 更看重总体功耗测试。在手机上比较靠谱的是总功耗,即使用一段时间之后耗了多少电、发热多少,这是比较靠谱的。

 

编码算法性能优化

算法的进展,移动直播主流的码率是 800kbps YY 是针对800kbps 做的。中等运动是 800kbps ,优化前PSNR 33.994,优化后是 33.827PSNR 降低 0.16% ,性能提升 39.6% PSNR降低 0.3 人眼才能看,0.16% 在主观上是看不出来的,YY 用零点几的 PSNR 画质的降低去换性能,编码算法性能优很明显。

 

编码性能测试

单独运行编码器的性能不代表实际使用性能,CPU 占用率不代表实际功耗。也有人用硬件编码,但是硬编码没有想象中提升的程度多,硬编码性能的确比软编码好,但是功耗降低并不多。简单的对比测试,软编和硬编 CPU 差得很多,软编是 50% 、60%左右,硬编是 30% 40% ,耗电相差 3% ,但是硬编画质损失不如软便画质损失好,取舍权衡也很难。还是很期待下一代iPhone ,下一代 iPhone CPU 上去了,想尝试用软编。

 

美颜效果优化的思路

最痛苦的是没有评价函数,做 IT 的一定要有评价函数。美颜没有评价函数,完全主观感受,同一个东西找不同的人,会得出天壤之别的结论。做了一年不知道是否变好了。

 

有一个思路可以分享:

肤色区域检测,保持皮肤的颗粒质感,有些开源的做直播都带美颜,磨皮做出来很虚假,像塑料,人的皮肤不那么平,需要人为地增加一点颗粒感。肤色调节,人肤色白一点。基于人脸检测的自动曝光和自动白平衡,手机上有这项功能,但是它不是针对人脸做的,YY 是基于人脸的自动曝光和自动白平衡,对人脸形状微调,其实就是瘦脸,可以达到轻微整形的效果,把下巴两腮稍微细一点,把人脸的形状检测出来,把图像一点点扭曲,达到一点瘦脸的效果。只不过不敢做得太多,做得太多就有点扭曲时空的效果,比如把手机往脸旁边放一下,手机的平面是扭曲的。

 

延迟优化

1. 编解码延迟

延迟低总会有一些代价,综合考虑采用更小的 GOP ,最长的时候 GOP 5 秒多,现在基本上是 2 秒的 GOP ,画质降一些。放弃B  frame ,尽量维持高帧率。

 

2. 接入延迟

接入频道看屏幕的时候有一些延迟,涉及到视频的细节。YY 在接入的一刹那音视频同步放弃掉,不让它音画同步,放弃一两秒音画同步,把画面尽量快地播储量,后面用一个算法慢慢平滑地追平,用户一般看不出来。

 

3. 缓冲延迟

自适应低延迟抖动缓冲算法,抖动缓冲你要写低延迟的就复杂,高延迟的好写。

 

音视频同步的测试方法

播放音视频严格同步的脉冲视频源,针对这个视频闪一个白光的同时再“嘀”一声,视频画面和发出来的声音是完全同步的,把这个东西做视频源再看播出来是否同步。YY 做了这样一个设备,采集光信号、电信号,把电信号转成音频信号,输入到采集设备中,原理很简单,跟音频的电信号做对比。比出来的结果,只要两个峰值是对在一起的,就说明音画同步,如果两个峰值错开了,即音画不同步。花几个月,把音画同步压在了 150 毫秒之内,广电的电视音画同步标准是 90 - 100 毫秒,超过 175 毫秒人类才能感知。

 

转码服务优化

2015 年开始,作为观众来说,移动端的数目爆涨。整个用户中 60% 用手机看直播,PC 只占 40% ,而且 PC 的数据还在萎缩,手机仍在增长。手机的解码能力和传输能力较低,要求高清内容都必须提供转码,这个需求也是从 2015 年开始爆发出来的。原来的转码服务很差,后来需求太多,只能优化。

 

YY 现在的转码任务是 80 /天。转码任务是,主播从开播到结束算一个任务,峰值并发转码是 1 万路左右,应用 264 编码优化方案,替换 ffmpeg 和 ×264 的线程池,降低线程迁移概率,提高缓存命中率。ffmpeg 和 ×264 是很好的算法,但都是当年为了单机而设计的,把十几个任务放在一起,做了一个改动,把ffmpeg 和 ×264 换掉了。很有效果,有 20% 30% 的提升。

 

关于直播技术趋势的思考

 

降低直播成本

未来两三年直播成本会是一个大问题。

提高直播传输质量

传输质量是一个问题,码流会越来越高,帧率也会越来越高,延迟也会越来越高。

强化内容生产能力

 

直播成本

 

YY 宽带成本呈直线上升,2016 年前三季度已经突破 5 亿。四季度财报一出来,很有可能突破 7 亿。这样的带宽成本上升,还伴随着很多压榨带宽的手段、压榨采购价格,但是仍然抑制不住带宽成本的指数型上升。

 

直播成本优化

推动 HEVC 普及,2013 年年底已经有了标准和解决方案,但是整个产业环境不够成熟;改进码率控制,优化特定场景的宽带;传输服务规模化,拉低平均成本。现在的直播近似固定码率,在流通方面有些压榨空间,传输的服务规模化,对 YY 来说不需要用 CDN ,但是其他直播是用 CDN ,未来 CDN 会有一场价格战,通过合并产生几家巨头。规模越大,单位成本越低,现在 CDN 厂商也不少。

 

YY 所有传输的带宽均由自己做,自己运维机房,自己买机器。

 

HEVC 进展

1. 全平台的解决方案(除 Web 外)性能接近 H264

虎牙直播的个别频道是 265 的,大概有几百个频道,YY 没有全面开。因为编 265 对直播的机器要求比较高,只开了几百个,现在解码的部分已经接近 264

 

2. PC 端采用 nVidia Intel 编码方案已经成熟

移动端编码已经有少量机型支持。比如高通 820 以后的芯片。

 

3. 部分第三方的软编码器在移动端已经可以做到360p 实时编码,只是功耗还是过高,有待进一步优化

Ittiam 已经被 Google 收了一部分,在安卓 5.0 以后的版本内置了解码器,相当于开源。南方千壹被金山云买了,目前在各项编解码器的评估中基本上是世界第一。

 

4. 转码方案完全支持 HEVC 264

 

直播上下行传输优化

上行 RTMP 优化,适应弱网络环境和移动网格,比如 UDP  tunnel 等。对主播的网络带宽要求比较高。

 

转发网络,DPDK ,智能路由等。YY 经常在机房间转大量的流量,在全国有几十家机房,主播上行是一个机房,观众是另外一个机房,把视频流量从这个机房运到另一个机房,但是中国内机房之间的网络流量很糟糕,经常遇到丢报 20% 30% 的情况。所以,YY 自己做了一个智能路由,有两三条路由可选,当一条不行的时候赶紧切换,而且这种切换是下层做的,上游不能看见,感觉卡了一下就好了。

 

下行 FLV  over  HTTP TCP 加速,为视频直播优化 TCP 拥塞控制。前一阵 Google 公开了 BBR 的中塞控制,即使什么都不改也比原来好用。BBR 相当于对所有的传输所做的,YY 会针对视频做,现在能够做到 20% 30% 的丢包。

 

Web 端推进 H5  Video,用 FLV+MSE 替换 Flash Flash 基本上时日不多了,用一天少一天,因为 Flash 实在太多缺点,也给 YY 惹了不少麻烦。

 

协议标准化可以让直播内容更开放、更容易传播。相信未来业界还是会走上标准化协议,YY  自身虽然有自身的协议,过去也支持了业界的标准协议,可以使用这些协议跟 YY 的传输层连接。

 

强化内容生产能力

过去 YY 在内容编码、传输上花费了很大力气,但忽视了内容的制作能力。现在 YY 没有一个靠谱的导播工具,要做多个视频源切换、剪辑、叠加都没有方便的工具。不过 OBS 不错,但是对于 YY 的直播来说还是有不够的地方。

 

提供强交互解决方案。现在还不太有,现在的交互既聊天,再强一点的暂时没有。

 

PGC 提供更强大的灵活的内容生产方式。现在的视频直播一般是用户拿手机或者电脑,全是UGC PGC 有很小的部分比例,原因是 PGC 还面临很多内容制作的困难。其他的内容生产方式还包括多路内容的实时调度、多人连线直播、专业印象设备接入,采集编码推流的一体化便携式的解决方案。

 

人脸检测和标定技术。优化美颜效果和增强现实特效,人脸检测没有比较好的开源方案,YY 自己在做,现在有第三方厂商提供一些商业化的方案,但是这些方案仍不够成熟,还有改进的空间。

 

连麦和异地解说

两个人都是高清和连麦,还是有些麻烦。直播体育赛事,异地解说,画面得同步,解说怎么跟画面同步?传统电视台之所以能同步,因为解说员比你更早地看到了赛场,把自己的声音合成之后再给观众。所以,传统的体育赛事解说和画面是同步的,但是对于互联网直播很麻烦,主播所在地点不确定。

 

LiveU 类似的无线推流设备

这类设备没有有线网,只有 4G ,这套设备 20 多万,而且还有服务费,成本降不下来。

 

基于人脸标定的特效

增强现实特效,现在对 CPU GPU 的消耗比较高。MSQRD在业界做得不错,据说被 Facebook 收购了。

 

虚拟主播

现在有一些离线软件已经可以做到,比如 FaceRig Live2D ,把人的表情和动作投射到 3D 或者 2D 模型上,人只要出声音即可。这个有解决方案,但是集成在直播中还是有一些事情要做,比如 VR 3D 、全景,解决方案有,技术原型也有,但是离真正上线仍然还有很多工程细节要解决。

 

用直播与世界对话

直播是互联网新型的技术方式,是全新的视频方式。之前发一个帖子什么时候看都行,但直播是一个实时的互联网,跟以前的传播方式不一样,是比较新生的事物,配套的产业技术仍有待完善。

 


点击这里了解方维互动直播系统

做你自己的直播

知识服务精细化运营的核心是什么?用户标签化管理是重点!

微信新推“公众号置顶”功能,你不得不知道的潜规则

VIP专线
18960894629(马经理)
15880086065(鄢经理)
18149540797(荆经理)
VIP专线
18960894629(马经理)
15880086065(鄢经理)
18149540797(荆经理)