360检测网站开发语言的工具,wordpress登录后才能下载文件,扬中网站,网站开发制作案例摘要#xff1a; 想要快速实现直播能力#xff0c;并对原有业务不产生任何影响#xff0c;依托如阿里云一样的直播平台#xff0c;来搭建移动直播系统#xff0c;将技术难题交给阿里云#xff0c;把更多的精力放在核心业务的本身#xff0c;是最为稳妥和高效的选择。本文…摘要 想要快速实现直播能力并对原有业务不产生任何影响依托如阿里云一样的直播平台来搭建移动直播系统将技术难题交给阿里云把更多的精力放在核心业务的本身是最为稳妥和高效的选择。本文介绍阿里云直播系统架构、核心能力、技术实现和接入流程。
点此查看原文 https://yq.aliyun.com/articles/394552?spma2c41.11181499.0.0
关注直播行业的人都知道 2016年是移动直播的元年那一年网红被我们挂在嘴边直播平台数量呈大规模增长。模式从最开始的秀场直播转向UGC全民直播内容从最开始的美女、色情逐渐与各垂直领域进行探索与结合。最近直播抓娃娃机和直播答题的接连风靡也让我们看到了移动直播场景延伸和创新的可能性。
移动直播的应用场景
直播是内容高级的展示手段移动直播和垂直领域结合会碰撞出更好场景为原有业务增值。
比如一些常见的场景应用
直播电商更容易很促成销售数据显示超过6成的观众会浏览商品而购买率达到2成 直播教育可以使远程教育更接近现场授课并通过实时互动能有效提升学习质量 直播金融通过理财师分析大盘、实时资讯风向可以实现从资讯到交易的全流程促进理财产品的购买等等。
当然以上场景都是建立在稳定、完整、高性能、可扩展的直播系统之上。接下来视频云产品经理弦望将为我们介绍阿里云直播系统解决方案和背后的核心技术能力。
直播系统解决方案
阿里云的直播技术架构提供了从端到端的完整解决方案可以助力用户快速搭建直播系统实现直播功能。
下图中左边是推流端有Android、iOS的推流SDK也可借助类OBS的推流工具和专业设备结合进行推流。直播流推上来后会在直播中心进行实时处理比如实时转码、截图、录制、水印、直播时移等再通过CDN进行分发。播放端接收整个视频流的播放可以支持10万以上路流输出、1000万以上观众同时在线。直播技术架构图
我们可以看到整个链路上都有SDK或者OpenAPI开放给用户使用用户只需要基于SDK做一些接口的对接就可以完成整个直播系统的开发。
技术能力介绍
下面我们看下整个直播系统都涉及到哪些具体环节每个环节都是怎么实现的。
一、推流端
直播推流端即主播端主要通过手机摄像头采集视频数据和麦克风采集音频数据经过一系列前处理、编码、推流直到CDN进行分发。1、 高级美颜
前处理是对视频进行渲染比如美颜、水印、贴图、混音、降噪等处理。其中直播平台必备的美颜功能是通过算法去识别人脸的皮肤部分对皮肤区域进行色值调整从而实现的。现在阿里云以技术普惠大众的价值观将基于人脸识别的瘦脸、小脸、大眼、腮红等高级美颜功能完全免费开放。同时通过标准化封装推流SDK提供标准接口可支持第三方美颜能力的接入让用户基于自身业务做选择。
2、 实时混音
在推流阶段阿里云还开放了时下热门的混音技术它是将采集的人声和音乐声进行混合后输出并支持降噪和耳返功能。整个技术流程是将背景音乐解码成PCM音频数据同时将麦克风采集的PCM音频数据进行降噪处理二者合成在主播端直接播放PCM音频在观众端则先进行音频编码再通过RTMP推送音频流并完成播放。二、直播服务端处理
在推流完成后直播服务端需要进行技术实现包括实时转码鉴黄直播截图直播录制添加水印时移观看直播答题等同时确保稳定、流畅和实时数据可见性。1、 实时转码
实时转码是将一路流转成多路不同清晰度的流在移动直播场景应用较少但在PC端推上来的流一般是比较高清的所以较为有效。阿里云提供的窄带高清技术使用高配转码集群高度复杂编码算法在同等质量下提供更好的压缩率节省20%-30%的流量带宽。2、直播鉴黄
为了确保平台内容的合规直播鉴黄是十分必要的一环。大型的直播平台通过人工鉴黄成本高昂且不够精准。所以选择人工智能技术鉴别黄色内容可以减少审核人力有效降低平台涉黄风险。
在直播系统中接入API后人工智能技术可以对秒级截图的甄别判定这个直播的色情程度进行合理打分也会给出建议处理方式帮助平台实现内容管控。
3、 直播时移
直播时移是一种点播和直播想结合的能力简单来说就是支持已经直播过的内容的实时回看。这个功能是结合播放器SDK通过简单的几个接口调用就能实现。在网络电视、网络直播中是十分常见的。
4、 直播答题
针对最近十分火热的直播答题阿里云也推出了解决方案。在技术上是这么实现的主持人发出答题信号现场导播人员通过接入方的AppServer调用阿里云的OpenAPI在视频帧中插入SEI信息播放器在解析SEI帧 并回调给APP在播放端上进行展示。这其中比较关键的点是SEI信息在CDN分发和转码等处理过程中是不会被丢掉的。这也确保了所有用户端都能顺利完成推题。另外整个方案通过同步服务器进行同一传输通道同时传输可实现高精度画题同步保证用户体验。通常直播答题场景都是通过现场人员在改造之后的OBS端实现SEI信息插入的操作同时阿里云直播答题解决方案也即将提供移动端出题的能力满足主播直接出题的业务场景需求。三、拉流端
拉流端的核心处理在播放器端的解码和渲染在互动直播中还需集成聊天室、点赞和礼物系统等功能。
拉流端现在支持RTMP、HLS、HTTP-FLV三种协议RTMP是Adobe的专利协议开源软件和开源库都支持的比较好延时一般在1-3秒。HLS是苹果提出的基于HTTP的流媒体传输协议优先是跨平台性比较好HTML5可以直接打开播放移动端兼容性良好但是缺点是延迟比较高。FLVHTTP-FLV协议是使用HTTP协议传输流媒体内容的一个协议不用担心专利问题直播延迟同样可以做到1–3秒。
这三种播放协议都是可以支持的我们可以根据自己的场景来选择。比如说在端上播放可以使用FLV如果将视频流分享出去就建议使用HLS。核心技术
那么在整个阿里云直播系统中都有哪些移动端的核心技术呢。弦望认为动态码率、高级美颜、播放器首帧秒开三点非常重要。
一、 推流SDK——动态码率
动态码率技术实现原理是首先在应用层配置时设置一个最大的码率和最小的码率圈定码率的浮动范围。然后通过实时上报当前码率根据带宽的情况作出动态码率调整在网络情况良好的时候提高视频清晰度在网络情况不佳的时候则优先保证流畅度。这个技术可以让视频清晰度和卡顿做到一个平衡的状态。弦望表示目前视频云正在探索动态丢帧的策略在未来可能编码的帧率和分辨率也可以是动态调整的。
二、推流SDK——实时美颜
阿里云的实时美颜其实是将美颜相关的算法比如线性滤波、非线性滤波、PS大法的图像细节增强等等做了融合与优化。最新的美颜算法通过多种滤镜的组合已经达到了非常高的性能总共耗时6毫秒。
通常视频在移动端推流是每秒15-20帧每帧50毫秒的处理时间6毫秒的处理时间其实是基本不会产生性能瓶颈的。
三、播放器——首帧秒开
在播放端首帧秒开决定用户体验的关键性技术。其基本原理是当用户在发起请求的点不是视频的关键帧没办法直接渲染和播放的时候读取已经在服务端缓存的最近一个GOP在播放端读取到关键帧就可以直接展示再通过PTS校正、丢帧、追帧等策略去动态的处理视频流降低延时。经过测试秒开的时间在200毫秒-1秒之间。接入流程
整个PC端直播的流程为首先我们需要进行添加域名、绑定CNAME、配置鉴权等直播前筹备工作然后使用第三方推流软件或者OBS进行推流最后获取播放地址在web页面或者VLC上进行播放预览。
虽然背后的技术相对复杂但是用户端的操作是十分简单方便的。
总结
想要快速实现直播能力并对原有业务不产生任何影响依托如阿里云一样的直播平台来搭建移动直播系统将技术难题交给阿里云把更多的精力放在核心业务的本身是最为稳妥和高效的选择。
为了方便用户在接入前进行体验阿里云也提供了产品DEMO扫码下载推流、播放器和短视频等客户端SDK有任何的想法和建议欢迎你在云栖社区原文下方进行留言和互动。
想要业务咨询的用户也可扫码加入钉钉群与阿里云技术专家和产品经理面对面交流。