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

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

关注直播行业的人都知道, 2016年是移动直播的元年,那一年,网红被我们挂在嘴边,直播平台数量呈大规模增长。模式从最开始的秀场直播,转向UGC全民直播,内容从最开始的美女、色情,逐渐与各垂直领域进行探索与结合。最近,直播抓娃娃机和直播答题的接连风靡,也让我们看到了移动直播场景延伸和创新的可能性。

移动直播的应用场景

直播是内容高级的展示手段,移动直播和垂直领域结合,会碰撞出更好场景,为原有业务增值。

比如一些常见的场景应用:

直播+电商:更容易很促成销售,数据显示超过6成的观众会浏览商品,而购买率达到2成;
直播+教育:可以使远程教育更接近现场授课,并通过实时互动,能有效提升学习质量;
直播+金融:通过理财师分析大盘、实时资讯风向,可以实现从资讯到交易的全流程,促进理财产品的购买等等。

当然以上场景都是建立在稳定、完整、高性能、可扩展的直播系统之上。接下来,视频云产品经理弦望将为我们介绍阿里云直播系统解决方案和背后的核心技术能力。

直播系统解决方案

阿里云的直播技术架构,提供了从端到端的完整解决方案,可以助力用户快速搭建直播系统,实现直播功能。

下图中,左边是推流端,有Android、iOS的推流SDK,也可借助类OBS的推流工具和专业设备结合进行推流。直播流推上来后,会在直播中心进行实时处理,比如实时转码、截图、录制、水印、直播时移等,再通过CDN进行分发。播放端接收整个视频流的播放,可以支持10万以上路流输出、1000万以上观众同时在线。

image
(直播技术架构图)

我们可以看到,整个链路上都有SDK或者OpenAPI开放给用户使用,用户只需要基于SDK做一些接口的对接,就可以完成整个直播系统的开发。

技术能力介绍

下面我们看下整个直播系统都涉及到哪些具体环节,每个环节都是怎么实现的。

一、推流端

直播推流端即主播端,主要通过手机摄像头采集视频数据和麦克风采集音频数据,经过一系列前处理、编码、推流,直到CDN进行分发。

image

1、 高级美颜

前处理是对视频进行渲染,比如美颜、水印、贴图、混音、降噪等处理。其中直播平台必备的美颜功能,是通过算法去识别人脸的皮肤部分,对皮肤区域进行色值调整从而实现的。现在,阿里云以技术普惠大众的价值观将基于人脸识别的瘦脸、小脸、大眼、腮红等高级美颜功能完全免费开放。同时,通过标准化封装,推流SDK提供标准接口,可支持第三方美颜能力的接入,让用户基于自身业务做选择。

2、 实时混音

在推流阶段,阿里云还开放了时下热门的混音技术,它是将采集的人声和音乐声进行混合后输出,并支持降噪和耳返功能。整个技术流程是:将背景音乐解码成PCM音频数据,同时,将麦克风采集的PCM音频数据进行降噪处理,二者合成,在主播端直接播放PCM音频,在观众端则先进行音频编码再通过RTMP推送音频流并完成播放。

image

二、直播服务端处理

在推流完成后,直播服务端需要进行技术实现,包括实时转码,鉴黄,直播截图,直播录制,添加水印,时移观看,直播答题等,同时确保稳定、流畅和实时数据可见性。

image

1、 实时转码

实时转码是将一路流转成多路不同清晰度的流,在移动直播场景应用较少,但在PC端推上来的流一般是比较高清的,所以较为有效。阿里云提供的窄带高清技术,使用高配转码集群,高度复杂编码算法,在同等质量下提供更好的压缩率,节省20%-30%的流量带宽。

image

2、直播鉴黄

为了确保平台内容的合规,直播鉴黄是十分必要的一环。大型的直播平台通过人工鉴黄,成本高昂且不够精准。所以,选择人工智能技术鉴别黄色内容,可以减少审核人力,有效降低平台涉黄风险。

image

在直播系统中接入API后,人工智能技术可以对秒级截图的甄别,判定这个直播的色情程度,进行合理打分,也会给出建议处理方式,帮助平台实现内容管控。

3、 直播时移

直播时移是一种点播和直播想结合的能力,简单来说就是支持已经直播过的内容的实时回看。这个功能是结合播放器SDK,通过简单的几个接口调用就能实现。在网络电视、网络直播中,是十分常见的。

4、 直播答题

针对最近十分火热的直播答题,阿里云也推出了解决方案。在技术上是这么实现的:主持人发出答题信号,现场导播人员通过接入方的AppServer,调用阿里云的OpenAPI,在视频帧中插入SEI信息,播放器在解析SEI帧 并回调给APP,在播放端上进行展示。这其中比较关键的点是,SEI信息在CDN分发和转码等处理过程中,是不会被丢掉的。这也确保了所有用户端都能顺利完成推题。另外,整个方案通过同步服务器,进行同一传输通道同时传输,可实现高精度画题同步,保证用户体验。

image

通常,直播答题场景都是通过现场人员在改造之后的OBS端,实现SEI信息插入的操作,同时,阿里云直播答题解决方案也即将提供移动端出题的能力,满足主播直接出题的业务场景需求。

image

三、拉流端

拉流端的核心处理在播放器端的解码和渲染,在互动直播中还需集成聊天室、点赞和礼物系统等功能。

拉流端现在支持RTMP、HLS、HTTP-FLV三种协议,RTMP是Adobe的专利协议,开源软件和开源库都支持的比较好,延时一般在1-3秒。HLS是苹果提出的基于HTTP的流媒体传输协议,优先是跨平台性比较好,HTML5可以直接打开播放,移动端兼容性良好,但是缺点是延迟比较高。FLV(HTTP-FLV)协议是使用HTTP协议传输流媒体内容的一个协议,不用担心专利问题,直播延迟同样可以做到1–3秒。

这三种播放协议都是可以支持的,我们可以根据自己的场景来选择。比如说在端上播放可以使用FLV,如果将视频流分享出去就建议使用HLS。

image

核心技术

那么在整个阿里云直播系统中,都有哪些移动端的核心技术呢。弦望认为:动态码率、高级美颜、播放器首帧秒开三点非常重要。

一、 推流SDK——动态码率

动态码率技术实现原理是,首先在应用层配置时,设置一个最大的码率和最小的码率,圈定码率的浮动范围。然后通过实时上报当前码率,根据带宽的情况作出动态码率调整,在网络情况良好的时候提高视频清晰度,在网络情况不佳的时候则优先保证流畅度。这个技术可以让视频清晰度和卡顿做到一个平衡的状态。
image

弦望表示,目前视频云正在探索动态丢帧的策略,在未来,可能编码的帧率和分辨率也可以是动态调整的。

二、推流SDK——实时美颜

阿里云的实时美颜,其实是将美颜相关的算法,比如线性滤波、非线性滤波、PS大法的图像细节增强等等,做了融合与优化。最新的美颜算法通过多种滤镜的组合,已经达到了非常高的性能,总共耗时6毫秒。

通常视频在移动端推流是每秒15-20帧,每帧50毫秒的处理时间,6毫秒的处理时间其实是基本不会产生性能瓶颈的。

三、播放器——首帧秒开

在播放端,首帧秒开决定用户体验的关键性技术。其基本原理是,当用户在发起请求的点不是视频的关键帧,没办法直接渲染和播放的时候,读取已经在服务端缓存的最近一个GOP,在播放端读取到关键帧就可以直接展示,再通过PTS校正、丢帧、追帧等策略,去动态的处理视频流,降低延时。经过测试,秒开的时间在200毫秒-1秒之间。

image

接入流程

整个PC端直播的流程为:

image

首先,我们需要进行添加域名、绑定CNAME、配置鉴权等直播前筹备工作,然后使用第三方推流软件,或者OBS进行推流,最后获取播放地址,在web页面或者VLC上进行播放预览。

虽然背后的技术相对复杂,但是用户端的操作是十分简单方便的。

如果涉及到移动端推流和播放,可以参考如下文档:

iOS推流SDK使用说明

Android推流SDK使用说明

iOS播放器SDK使用说明

Android播放器SDK使用说明

总结

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

为了方便用户在接入前进行体验,阿里云也提供了产品DEMO,扫码下载推流、播放器和短视频等客户端SDK,有任何的想法和建议,欢迎你在云栖社区原文下方进行留言和互动。

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

0.1元开启直播之旅

image
开年采购季,为了让更多用户能够体验和享受到视频直播云服务的便利与强大,视频直播推出了0.1元体验包,配置清单如下,最多可节省51.88元!
image

点击了解活动详情

目录
相关文章
|
4天前
|
弹性计算 安全 关系型数据库
阿里云产品在技术探索中的实践和思考
本文讲述了作者在使用阿里云产品进行技术探索的实践中,如何借助ECS、RDS、OSS、SLB和VPC构建高可用分布式系统。从最初的虚拟主机服务到全面的云服务,阿里云帮助解决了性能、负载均衡、数据存储和网络安全等问题。在面对性能优化、成本控制和安全管理的挑战时,作者通过监控、调整和采用安全措施确保了系统的高效运行。未来,作者将继续在云计算领域探索,利用AI、大数据及物联网技术驱动业务创新和增长。
25 0
|
9天前
|
存储 机器学习/深度学习 弹性计算
|
1天前
|
弹性计算 安全 微服务
【阿里云云原生专栏】容器网络技术前沿:阿里云Terway网络方案详解
【5月更文挑战第26天】阿里云Terway是高性能的容器网络方案,基于ECS的ENI实现,提供低延迟高吞吐的网络服务。它简化网络管理,实现安全隔离,并与阿里云服务无缝集成。Terway由CNI、Node和Controller组成,适用于微服务、混合云和多租户环境,为企业数字化转型中的复杂网络需求提供强大支持。
17 1
|
2天前
|
弹性计算 监控 数据库
【阿里云弹性计算】企业级应用上云实战:基于阿里云 ECS 的 ERP 系统迁移案例
【5月更文挑战第25天】制造企业将面临资源不足、维护成本高和数据安全问题的ERP系统迁移到阿里云ECS,实现业务上云。通过数据迁移、应用部署、网络配置和性能优化等步骤,企业享受到弹性计算资源、高可靠性和数据安全优势,降低维护成本。阿里云提供24小时支持,助力企业数字化转型。此案例展示企业级应用上云的可行性,鼓励更多企业借助云计算实现创新发展。
10 0
|
2天前
|
敏捷开发 Kubernetes Cloud Native
【阿里云云原生专栏】跨云部署与管理:阿里云云原生技术的多云策略
【5月更文挑战第25天】阿里云云原生技术提供多云策略,助力企业高效跨云部署与管理。通过容器化(如Kubernetes)、服务网格等,实现应用一致性与可移植性;统一资源管理,简化跨云操作。挑战包括数据同步、网络问题和平台差异,但阿里云的解决方案为企业在多云环境中实现资源优化、业务敏捷和系统可靠性提供了强有力支持。随着云计算发展,阿里云将持续演进其多云策略,为企业数字化转型提供保障。
13 1
|
3天前
|
存储 消息中间件 弹性计算
盘点 AutoMQ 深度使用的阿里云云原生技术
AutoMQ是云原生Kafka实现,采用共享存储架构,与阿里云合作利用OSS、ESSD、ESS和抢占式实例降低成本,实现10倍于Apache Kafka的性价比,并提供自动弹性。它使用对象存储OSS实现流式数据高效读取,通过ESSD作为WAL保证性能,弹性伸缩服务ESS简化交付,抢占式实例降低成本。此外,AutoMQ利用ECS的高可用性和ESSD的高性能存储,结合NVMe协议和多重挂载技术,实现快速故障恢复和低成本运维。该系统旨在充分利用云原生能力,推动消息和流存储服务进步。
10 0
|
3天前
|
人工智能 弹性计算 监控
【阿里云云原生专栏】阿里云云原生与AI结合:智能应用的快速构建与部署
【5月更文挑战第24天】阿里云融合云原生和AI技术,助力快速构建智能应用。弹性伸缩、CI/CD、微服务和自动化运维带来优势。通过需求分析、环境准备、数据处理、模型开发到服务部署,阿里云提供容器服务、函数计算、服务网格等工具,支持自动化测试和监控,实现一站式智能应用开发。示例代码展示创建ACK集群和部署AI模型服务过程。
243 1
|
5天前
|
Cloud Native 安全 物联网
【阿里云云原生专栏】云边端一体化:阿里云如何利用云原生技术赋能物联网
【5月更文挑战第22天】阿里云借助云原生技术赋能物联网,实现云边端一体化,提升系统弹性与敏捷性。通过容器化部署,保证高可用性与可靠性。在智能交通等领域,阿里云提供高效解决方案,实现实时数据分析与决策。代码示例展示如何使用阿里云服务处理物联网数据。同时,阿里云重视数据安全,采用加密和访问控制保障数据隐私。丰富的工具和服务支持开发者构建物联网应用,推动技术广泛应用与发展。
141 1
|
6天前
|
弹性计算 Kubernetes Cloud Native
【阿里云弹性计算】阿里云ECS与容器技术融合:打造敏捷的云原生基础设施
【5月更文挑战第21天】阿里云ECS结合容器技术(如Docker和Kubernetes),助力企业构建敏捷云原生基础设施。ECS提供高性能服务器,支持容器快速部署和自动化管理,实现应用的高可用性和可维护性。通过二者协同,企业能打造高效、可扩展的应用,加速数字化转型。示例代码展示了在ECS上使用Docker和Kubernetes部署云原生应用的过程。
55 3
|
7天前
|
安全 小程序 网络安全
阿里云腾讯云免费SSL证书托管系统的开发初衷
由于Google等公司推动,互联网安全趋势将SSL证书期限统一缩短至3个月,阿里云和腾讯云相继跟进。对于管理多个站点的小公司而言,手动维护变得繁琐。为自动化此过程,作者探索使用API解决方案。通过研究腾讯云API,成功实现证书的自动创建、审核和下载。为应对无免费到期提醒服务,作者创建计划任务,在证书到期前7天发送提醒,初期采用短信提醒,并增设公众号模板消息作为备选方案,完成到期提醒系统的构建。接下来的文章将讨论SSL证书的申请和下载流程。
34 2

热门文章

最新文章