`
yuun
  • 浏览: 58362 次
文章分类
社区版块
存档分类
最新评论

阿里云播放器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

分享到:
评论

相关推荐

    金山云播放器sdk,demo

    总的来说,金山云播放器SDK是一个强大的工具,它简化了Android应用中直播播放功能的实现,提供了对RTSP协议的支持,以及丰富的定制化选项。通过学习和使用"KSYMediaPlayer_Android-master"中的示例代码,开发者可以...

    阿里云直播Android播放器demo

    5. **UI设计**:阿里云播放器可以与自定义的UI组件结合,Demo可能包含一个简单的控制面板,用于展示播放进度、音量、全屏切换等功能。 6. **事件监听**:为了获取播放状态的变化,开发者需要注册监听器,如播放开始...

    阿里云开发sdk

    阿里云开发SDK,全称为阿里云软件开发工具包(Alibaba Cloud SDK),是阿里云为开发者提供的集成开发环境,方便用户快速、高效地构建基于阿里云服务的应用程序。通过使用阿里云SDK,开发者可以轻松调用阿里云的各种...

    阿里云短信sdk

    阿里云短信SDK是一款由阿里云提供的服务开发工具,主要用于帮助开发者快速、便捷地接入其短信服务。这款SDK针对Python编程语言进行了优化,使得在Python环境中使用阿里云短信服务变得更加简单。下面将详细介绍这款...

    前端播放器(阿里云视频播放)

    阿里云视频播放解决方案提供了一整套高效、稳定且功能丰富的播放服务,适用于各种在线教育、直播、点播等应用场景。本篇文章将深入探讨前端播放器在阿里云视频播放中的核心知识点。 一、HTML5 Video元素 在现代Web...

    阿里云OCR识别SDK示例

    阿里云OCR识别SDK示例是针对开发者提供的一个强大的工具包,它支持多种编程语言,包括C#、C++、Node.js、Python(3.5版本)以及Go,旨在帮助开发者轻松实现图像文字识别功能。OCR(Optical Character Recognition,...

    dotNet阿里云api-sdk

    阿里云API SDK是针对.NET开发者提供的一个强大工具集,它使得.NET开发者能够轻松地与阿里云的各类服务进行交互,实现各种云服务的功能。本文将详细介绍这个SDK的主要内容、使用场景以及如何集成到.NET项目中。 一、...

    阿里云播放器完善-播放视频url

    本教程将详细介绍如何在Android项目中集成阿里云播放器,并实现视频播放、进度控制、音量与亮度调节以及全屏功能。 首先,你需要在项目中引入阿里云播放器的SDK。这通常通过在`build.gradle`文件中添加依赖来完成。...

    Android开发-在Android里接入阿里云推流SDK实现直播推流的功能-LivePusherTest.zip

    python下载安装 Android开发-在Android里接入阿里...Android开发-在Android里接入阿里云推流SDK实现直播推流的功能_LivePusherTest.zipAndroid开发-在Android里接入阿里云推流SDK实现直播推流的功能_LivePusherTest.zip

    阿里云oss_sdk

    阿里云OSS SDK是一款专为开发者设计的Java库,用于简化与阿里云对象存储服务(Object Storage Service,简称OSS)的交互。OSS是一种基于互联网的存储服务,能够安全、稳定、高效地存储和访问各类数据。SDK的封装使得...

    短信sdk:使用阿里云短信sdk源码

    短信sdk:使用阿里云短信sdk实现短信通异步发送。 1.调用阿里云短信sdk或其他厂商短信sdk 2.将随机验证码保存 (可以保存到redis或mysql之类的,设置一个失效时间。 ) 3.用户输入验证码说 和保存的验证码进行比较。 看...

    阿里云邮件推送服务-SDK手册-D.docx

    阿里云邮件推送服务SDK是为开发者提供的一种高效、稳定的邮件发送解决方案。该服务允许开发者通过编程方式轻松地向用户发送各种类型的电子邮件,如营销邮件、通知邮件等。本手册主要涵盖了SDK的使用方法,包括创建...

    阿里云短信SDK简单实现以及发送DEMO示例

    下面将详细介绍如何使用阿里云短信SDK进行简单实现,并提供一个DEMO示例。 首先,你需要在阿里云官方网站上注册账号并创建一个短信服务实例,获取到AccessKey ID和AccessKey Secret。这两个是鉴权凭证,用于身份...

    阿里云存储SDK

    总结,阿里云存储SDK为开发者提供了一种简单高效的方式,利用C++ SDK,开发者可以轻松地将阿里云的对象存储服务集成到他们的应用程序中,实现云存储的诸多功能,从而提高数据管理的效率和安全性。无论是在企业级应用...

    阿里云基础播放器-播放视频url

    阿里云基础播放器是专为开发者设计的一款视频播放解决方案,尤其适用于在Android平台上播放网络视频。这个播放器库,称为AliVcMediaPlayer,能够处理各种格式的视频内容,包括但不限于MP4,使得开发者可以轻松地在其...

    阿里云oss c-sdk交叉编译移植 oss-demo.tar.gz

    阿里云OSS(Object Storage Service)C-SDK交叉编译移植是将阿里云提供的C语言SDK在非目标系统上进行编译,以便在特定的目标硬件或操作系统上运行OSS相关的应用,例如物联网设备、嵌入式系统等。在这个过程中,我们...

    阿里云-云通信PHP版sdk精简,非原先阿里大于SDK,原阿里大鱼被

    阿里云-云通信PHP版sdk精简,非原先阿里大于SDK,原阿里大鱼被合并进了“阿里云-云通信”,SD_aliyun-dysms-php-sdk

    阿里云JAVA SDK 阿里云消息服务MNS 阿里云OSS

    alicom-mns-receive-sdk aliyun-sdk-mns aliyun-sdk-oss aliyun-java-sdk-core aliyun-java-sdk-dybaseapi aliyun-java-sdk-dysmsapi aliyun-java-sdk-ecs aliyun-java-sdk-kms aliyun-java-sdk-live aliyun-java-...

    阿里云邮件推送服务-SDK手册.pdf

    阿里云邮件推送服务-SDK手册是阿里云提供的一款邮件推送服务的SDK使用手册,该手册提供了详细的指导和示例代码,帮助开发者快速上手使用阿里云邮件推送服务。 Access Key的创建 在使用阿里云邮件推送服务之前,...

Global site tag (gtag.js) - Google Analytics