摘要: 想要快速实现直播能力,并对原有业务不产生任何影响,依托如阿里云一样的直播平台,来搭建移动直播系统,将技术难题交给阿里云,把更多的精力放在核心业务的本身,是最为稳妥和高效的选择。本文介绍阿里云直播系统架构、核心能力、技术实现和接入流程。

点此查看原文: https://yq.aliyun.com/articles/394552?spm=a2c41.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可以直接打开播放,移动端兼容性良好,但是缺点是延迟比较高。FLV(HTTP-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,有任何的想法和建议,欢迎你在云栖社区原文下方进行留言和互动。

想要业务咨询的用户,也可扫码加入钉钉群,与阿里云技术专家和产品经理面对面交流。

首帧秒开+智能鉴黄+直播答题,阿里云直播系统背后技术大起底相关推荐

  1. 【云周刊】第156期:首帧秒开+智能鉴黄+直播答题,阿里云直播系统背后技术大起底...

    本期头条 首帧秒开+智能鉴黄+直播答题,阿里云直播系统背后技术大起底 关注直播行业的人都知道, 2016年是移动直播的元年,那一年,网红被我们挂在嘴边,直播平台数量呈大规模增长.模式从最开始的秀场直播 ...

  2. 第70届戛纳电影节:优酷全网首次广播级直播,阿里云提供海外专线技术

    近日,第70届戛纳电影节在法国举行,共有来自13个国家的20部影片角逐最佳影片金棕榈奖.作为欧洲三大电影节之一,自然是明星和影迷追逐的焦点.为了让不能亲赴戛纳感受现场氛围的影迷没有遗憾.优酷全网率先采 ...

  3. 带你走进准确率高于 99.7% 的智能鉴黄功能

    2016年迎来直播和短视频大爆炸,直播类应用在中国区App Store上线已超500款,无数创业者奔赴直播和短视频浪潮. 视频.直播行业一片繁荣,涉黄却是行业心头大患,加上有关部门对传播淫秽信息的严格 ...

  4. 【Android】使用阿里云直播实现手机直播功能

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.阿里云视频直播流程 二.录制直播推流步骤 1. 集成说明 通过本地依赖方式集成SDK 通过Maven依赖方式集成S ...

  5. 图片实测:智能鉴黄,哪家强?

    当下,UGC内容量的爆发超出所有人的想象.据粗略统计,每天上传到YouTube的视频可以连续播放98年,Facebook每天发布的照片量堆起有80个埃菲尔铁塔那么高,有200万篇文章在网上发布,相当于 ...

  6. 图片实测:智能鉴黄,哪家强

    当下,UGC内容量的爆发超出所有人的想象.据粗略统计,每天上传到YouTube的视频可以连续播放98年,Facebook每天发布的照片量堆起有80个埃菲尔铁塔那么高,有200万篇文章在网上发布,相当于 ...

  7. Question | 标注下数据、训练个模型,商用的智能鉴黄有这么简单吗?

    "Question"为网易易盾的问答栏目,将会解答和呈现安全领域大家常见的问题和困惑.如果你有什么疑惑,也欢迎通过邮件(zhangyong02@corp.netease.com)提 ...

  8. iOS直播集成和问题总结(阿里云直播)

    https://www.jianshu.com/p/714ce954e628 最近接手公司的直播项目,对以前遗留的问题做处理和优化, 于是顺便看了下阿里云直播的文档,在下面写下对直播的理解和遇到的问题 ...

  9. 阿里云直播GRTN和RTC技术谈

    直播,已经成为了"剁手党"们最喜闻乐见的一种购物形式.对直播体验的极致追求,也是淘宝技术人们长期的努力方向.为了提升用户购物体验,让直播更加丝滑,让剁手更快一些,在2020双十一期 ...

最新文章

  1. 技术分享 |《原神》部分渲染效果分析
  2. 怎么判断linux22端口是否通,在Linux环境下使用SSH判断端口是否通(示例代码)
  3. QueryPath, php上的jQuery
  4. 【教程】一步一步教你如何自定义设置——博客园canvas/JS交互动画背景
  5. python图像对比_python+PIL实现图片对比(一)
  6. 禁止tomcat的Catina.out的累计输出
  7. BLS门限签名介绍及实现
  8. 【渝粤题库】国家开放大学2021春2018货币银行学题目
  9. Python算法:关于数据的线性增长与二次方增长的比较
  10. php连接新浪云mysql_新浪云连接数据库php
  11. 面试常问的 C/C++ 问题,你能答上来几个?
  12. 一政网给了我公考上岸的机会
  13. jq将数据库数据显示在select标签上
  14. PHP面试总结 v2018.08.24
  15. HMC基金会Big Ma机器人同步代币HMC(希曼)将上线 PancakeSWAP
  16. php一键安装的环境包,php环境搭建的一键安装包有哪些?
  17. 基于Logistic回归的麻雀搜索算法
  18. CIF,D1,HALF D1,FULL D1
  19. 物联网工程是怎样一种存在
  20. 杀鸡也用牛刀,Haskell 处理 XML 文档小试

热门文章

  1. mpython 直接访问_如何从python代码中直接访问Android的Service
  2. php链接本地mysql数据库配置文件_php连接 mysql 数据库如何添加一个公共的配置文件...
  3. 华为做raid5步骤_华为RH2288V5服务器做RAID 0(官方推荐做法)
  4. gns3中两个路由器分别连接主机然后分析ip数据转发报文arp协议_ARP协议在同网段及跨网段下的工作原理...
  5. linux mysql 安装innodb_在ubuntu Mysql 5.7 安装InnoDB Memcached 插件
  6. 怎么调整字段长短_【芝士蛋糕怎么总烤不熟呢?】
  7. java支持多线程吗_Java多线程之一
  8. esd防护_电路级ESD防护方法
  9. python redis模块常用_python-Redis模块常用的方法汇总
  10. GPS 校验和 代码_Linux recovery 移除签名校验