MyException - 我的异常网
当前位置:我的异常网» 互联网 » 阿里云播放器SDK的准确打开方式 | 功能、架构与应用

阿里云播放器SDK的准确打开方式 | 功能、架构与应用(一)

www.MyException.Cn  网友分享于:2013-11-16  浏览:0次
阿里云播放器SDK的正确打开方式 | 功能、架构与应用(一)

阿里云播放器SDK(ApsaraVideo for Player SDK)是阿里视频云端到云到端服务的重要一环,除了支持点播和直播的基础播放功能外,还深度融合视频云业务,支持视频的加密播放、安全下载、首屏秒开、低延时等业务场景,为用户提供简单、快速、安全、稳定的视频播放服务。本文将从产品特点、技术架构、点播和直播场景中播放器的应用等几个方面来介绍阿里云播放器SDK。

阿里云播放器SDK具有哪些特点?

一、 快速接入
因为面对的是不同层次的开发者,在接入成本上需要考虑的尽量全面。为此,阿里云播放器提供了详尽完备的文档和场景化的DEMO,为用户参考使用,另外,视频指导教程和针对不同问题和场景的专题介绍也能帮助用户更好、更快地接入。
二、 简单集成
Android和iOS提供统一接口和错误码,接近系统API的接口设计保证每位开发者能快速集成。
三、 分层架构 按需选配
基础功能、业务功能、UI组件等分层架构,保证最精简的包大小,根据业务需求组合选用。
四、 云和端一体化
云端加密、客户端解密,端和云的联动保证视频安全。端上采集数据、云端分析,为业务运营提供支持。
五、 安全稳定
从防盗链、URL鉴权到加密播放和安全下载,全方位保护视频安全,满足不同场景的安全需求。

下面我们来看看阿里云播放器SDK的产品架构

首先,移动端播放器的产品架构,分成基础播放器、高级播放器、业务组件这三层。在基础播放器中,播放器实现了视频流解析、音视频同步、软硬解码等基础能力,并支持url播放、播放逻辑控制、音量和亮度调节、点播/直播支持、倍数播放、首屏秒开等功能。在此之上,封装了高级播放器,这个是和业务强相关的播放器,与云服务深度融合,支持VID播放、加密播放、清晰度切换、安全下载、边播边缓存等业务相关性的功能,同时,阿里云播放器还提供一系列业务组件,包括已经推出的UI组件,和即将提供的弹幕组件、分享组件、红包组件、广告组件等。这几个模块化的划分,满足了个性化和业务化的各种场景需求。

我们再来看看web端的产品架构,也就是Flash、H5的层次结构。在最底层,其实是一个H5的原生标签,阿里云在这里封装了一个基础的H5播放器,在此之上,根据不同业务场景,做了不同播放器类型的划分。在最上面一层,提供了自适应选择播放器的功能,当用户的视频源过来的时候,可以根据终端类型、平台类型等信息自动选择最佳的播放器。

播放器所支撑的两大业务包括视频点播和视频直播,视频点播包括音视频采集、合成、上传、转码、媒资管理、分发及视频播放等一系列的功能,而视频直播是基于CDN和MTS所构建的直播平台,需要为用户提供低延时、低卡顿与视频秒开等一系列能力。这两种业务场景中,视频播放都作为最贴近观众的一环存在,提供最直观的极致体验。下面我们介绍以下这两种场景中,阿里云播放器都是如何应用的。

_1

播放器在点播服务中的应用

视频播放器在点播服务中,经过和云端服务的高度融合,实现了以下功能:

  • 加密播放

在独播剧、教育、金融等业务场景中,保护视频内容的安全非常重要,播放器通过视频加密转码和解密播放的过程,可对视频内容本身做进一步的安全保护,有效保护视频版权。

实现原理是业务方将视频上传到阿里云的服务器上的时候,可以配置加密转码,转码出来的视频是经过加密的,想要实现播放的话,需要通过业务授权、获取加密密钥来进行数据解密。这个方案的优势是服务端采用信封加密技术,传输不是直接的明文传输,比其他方案更加安全,同时只需要一个加密开关,播放器开发者无需关心特殊逻辑,传入相关参数即可,所以易用性极强,成本极底。

  • 离线下载

离线下载是将视频资源下载到本地,在没有网络的情况下实现播放,其实这个功能很常见,阿里云播放器是在基础能力之上提供了更多属性。它可以支持安全下载,把加密的视频缓存在本地,对它进行重新加密,与APP进行绑定,即使被拷贝走了也无法播放。并且支持断点下载和并行下载,当异常中断后,再次启动可以继续上次下载,节省了C端用户的流量和时间。另外,开发者可以在控制台灵活配置是否离线下载某个视频,或者是否禁止视频离线下载,灵活控制视频资源等情况。

  • 边播边缓存

对于用户来说,非常关心的是流量成本。阿里云播放器支持边播边缓存功能,当用户一次观看后视频会缓存到本地,重复观看时,用户无需再次消耗流量。另外,用户可以灵活配置缓存和自动管理缓存目录。在短视频场景中十分常用。

  • 变速播放

阿里云播放器实现了变速的同时声调不改变,保持音视频同步。在视频点播播放过程中,可以支持0.5x-2x的变速播放的动态配置,对直播场景,也能够自动判定。可以根据用户的兴趣和喜好来控制视频播放速度,比如在教育视频中,用户可以对感兴趣的地方慢速播放,对不感兴趣的内容快速跳过。

  • UI播放器

阿里云提供了一整套UI的播放器SDK,能够满足用户快速上线,整个播放的逻辑已经固化在UI之中,比如首屏、标题、进度条、全屏、锁屏、清晰度切换、手势控制等功能,它是一个完整的播放器,用户只需要调用整个VIEW的显示,将视图贴在APP上,就可以简单、快速地实现播放功能了。

  • 国际化多语言

播放器SDK也逐步走向海外,通过配置实现多语言版本。首先,它可以根据用户系统的语言自动适配选择播放器SDK的语言,其次,它可以通过添加配置文件,无需修改SDK,就灵活切换语言版本,最后,播放器SDK也支持Android、iOS、Flash、H5等多个平台的国际化多语言的需求。

播放器在直播服务中的应用

整个视频直播是通过直播SDK将音视频推流,到大规模分布式流媒体实时转码,再到CDN内容高效分发,最终到达视频直播终端播放的流程。我们需要为用户提供的是便捷接入、高清流程、低延迟、高并发的整套服务,其中播放器需要实现首帧秒开、低延时、低卡顿、超时重连等等的功能,才能让直播服务变得完整、流畅。视频播放器在直播服务中实现了以下功能:

  • 首帧秒开

在优化之前,播放器拿到解码后的数据,是需要经过一个音视频同步等待,下载一定的数据才能看到视频的。在进行了一系列优化之后,拿到数据之后,阿里云先对第一帧进行解码出来,省去了缓冲的时间,用户可以直接看到,从而实现了秒开的效果,提升了用户体验。

  • 低延时策略

当直播中网络抖动或其他因素导致延时很大的情况下,播放器SDK也要配合进行处理。在阿里云播放器中提供了一个参数,用来控制播放端延时的大小。播放器中的下载缓存区有一定的缓存视频,我们将缓存视频的长度和用户延时的长度进行对比,当缓存视频长度超过了用户延时长度的时候,采取动态丢帧策略,找到缓存区中最后一帧,将之前的帧丢弃,从而控制了延时长度,确保了终端观看直播的效果。

除了以上技术亮点,阿里云播放器SDK基础功能也是十分完备的,包括播放控制(开始结束、恢复暂停,重播,自动播放,Seek),诊断工具(环境诊断、网络诊断、切换播放器诊断),音量/亮度调节,UI设置(封面、水印、皮肤)等,另外,也有一些个性化功能正在规划开发中,包括弹幕、截图gif、进度条打点、VR全景播放、贴片广告、投屏等等。

_2

同时,阿里云播放器SDK也可以联动短视频SDK、上传SDK、视频点播、视频直播和OSS、CDN等产品,形成不同的产品组合。用户可以像搭积木一样,根据自己的业务场景选择不同的服务,一站式搭建自己的视频业务。

随着阿里云视频点播、直播的业务不断壮大,阿里云播放器SDK也已经为众多教育、社交、视频、游戏、新闻行业客户服务,我们希望能够提供易用、稳定、强大的视频服务,为更多极致的用户体验努力。

 

原文链接:https://yq.aliyun.com/articles/229957

文章评论

不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
漫画:程序员的工作
漫画:程序员的工作
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
编程语言是女人
编程语言是女人
鲜为人知的编程真相
鲜为人知的编程真相
 程序员的样子
程序员的样子
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
10个调试和排错的小建议
10个调试和排错的小建议
每天工作4小时的程序员
每天工作4小时的程序员
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
旅行,写作,编程
旅行,写作,编程
老程序员的下场
老程序员的下场
Java程序员必看电影
Java程序员必看电影
如何成为一名黑客
如何成为一名黑客
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
我的丈夫是个程序员
我的丈夫是个程序员
总结2014中国互联网十大段子
总结2014中国互联网十大段子
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
程序员必看的十大电影
程序员必看的十大电影
程序员都该阅读的书
程序员都该阅读的书
程序员的鄙视链
程序员的鄙视链
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
那些争议最大的编程观点
那些争议最大的编程观点
我是如何打败拖延症的
我是如何打败拖延症的
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
一个程序员的时间管理
一个程序员的时间管理
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
代码女神横空出世
代码女神横空出世
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员和编码员之间的区别
程序员和编码员之间的区别
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有