阿里云移动端播放器高级功能---直播时移

简介: 基本介绍通常都知道直播是无法seek拖动的,那么针对在直播中想回看之前直播过的内容的用户来说,直播时移就能派上用场。我们阿里云播放器支持了直播时移功能,用户能较为方面和快速的使用直播时移的功能。先来看一下直播时移的介绍:时移直播基于常规的HLS视频直播,直播推流被切分成TS分片,通过HLS协...

基本介绍

通常都知道直播是无法seek拖动的,那么针对在直播中想回看之前直播过的内容的用户来说,直播时移就能派上用场。我们阿里云播放器支持了直播时移功能,用户能较为方面和快速的使用直播时移的功能。
先来看一下直播时移的介绍:时移直播基于常规的HLS视频直播,直播推流被切分成TS分片,通过HLS协议向播放用户分发,用户请求的m3u8播放文件中包含不断刷新的TS分片地址;对于常规的HLS直播而言,TS分片地址及相应的TS文件并不持久化保存,导致当前时间之前的直播视频内容无法回溯;而对于开通了时移功能的HLS直播而言,TS分片地址及相应TS文件会分别在数据库和OSS中持久化保存最长15天,使得回溯从直播开始时间到当前时间之间的视频内容成为可能。
更多的信息可以参考官网介绍:直播时移

先来看一下时移效果图:
81a5829ec9403c2690d72ca0394364543f1db8e2

时移原理

时移是通过时间轴url(TimeLineUrl) 去实时获取到可以时移的时间范围。在这个时间范围内的直播流,可以往回拖拽,回看之前的内容。拖拽时,播放器内部通过更新直播流的地址,加上起播的时间参数,然后从服务器拉取新的流,达到回看的目的。

接口和示例

Android使用

时移源的设置

AliyunVodPlayer 提供了 AliyunLiveTimeShift 这个类作为直播时移的播放源。其中setUrlsetTimeLineUrl是主要涉及的两个地址。
setUrl:这个设置的是直播流的地址。通过这个地址,播放器播放对应的直播源。
setTimeLineUrl:这个设置的是时移区间的获取地址。播放器将会每隔1分钟调用一次此接口去更新时移时间段。
(如何生成TimeLineUrl,请参考:直播时移

时移信息的获取

时移的获取,跟普通的点播信息获取基本类似,但是有特有的新增接口(Android):
getCurrentLiveTime:获取当前直播的时间点。
getCurrentTime:获取当前播放的时间点。

比如:现在是2019-01-30 14:01:04,播放的时候,往前时移了1分钟。那么:
getCurrentLiveTime = 2019-01-30 14:01:04。
getCurrentTime = 2019-01-30 14:00:04。

示例

//1.创建时移对象
mAliyunLiveTimeShift = new AliyunLiveTimeShift();
long currentSeconds = System.currentTimeMillis() / 1000;

//2.设置直播流地址
mAliyunLiveTimeShift.setUrl("http://pull-videocall.aliyuncs.com/timeline/test.m3u8");

//3.设置时移区间地址。
mAliyunLiveTimeShift.setTimeLineUrl("http://pull-videocall.aliyuncs.com/openapi/timeline/query?lhs_start=1&app=timeline&stream=test&format=ts&lhs_start_unix_s_0="
                + (currentSeconds - 5 * 60) + "&lhs_end_unix_s_0=" + (currentSeconds + 5 * 60));

//4.准备时移源。
mPlayer.prepareAsync(mAliyunLiveTimeShift);

iOS接口和示例

iOS提供了以下接口来使用直播时移:

//直播时间
@property (nonatomic, assign) NSTimeInterval liveTime;

//播放时间
@property (nonatomic, assign) NSTimeInterval currentPlayTime;

//每60秒更新用户时移时间,设置更新区间url后,可以获取
@property (nonatomic, strong) AliyunPlayerVideoTimeShiftModel *timeShiftModel;

//设置直播数据源
- (void)prepareWithLiveTimeUrl:(NSURL *)liveTimeUrl;

//设置时移区间更新url
- (void)setLiveTimeShiftUrl:(NSString*)liveTimeShiftUrl;

//时移到指定的时间
- (void)seekToLiveTime:(NSTimeInterval)startTime;

具体使用过程:

//1.设置时移区间更新url,地址需要用当前时间来进行拼写
NSTimeInterval currentSeconds = [[NSDate date] timeIntervalSince1970]; //秒
    NSString *currentLive = [NSString stringWithFormat:@"http://push-demo.aliyunlive.com/openapi/timeline/query?app=asr&stream=yunxi&format=ts&lhs_start_unix_s_0=%.0f&lhs_end_unix_s_0=%.0f",(currentSeconds - 5 * 60), (currentSeconds + 5 * 60)];
[self.vodPlayer setLiveTimeShiftUrl:currentLive];

//2. 准备直播时移播放地址
[self.vodPlayer prepareWithLiveTimeUrl:[NSURL URLWithString:@"http://push-demo.aliyunlive.com/asr/yunxi.m3u8"]];

//3. 播放成功后可以更新界面UI显示
//开始时间
double start = self.vodPlayer.timeShiftModel.startTime;
//记录总的结束时间
self.vodPlayer.timeShiftModel.endTime

//4. 拖动seek时移区间,通过进度条计算出来具体的时移时间
[self.vodPlayer seekToLiveTime:(int)(n*sender.value+s)];

目录
相关文章
|
2天前
|
弹性计算 运维 监控
解密阿里云弹性计算:探索云服务器ECS的核心功能
阿里云ECS是核心计算服务,提供弹性云服务器资源,支持实例按需配置、集群管理和监控,集成安全防护,确保服务稳定、安全,助力高效业务运营。
79 0
|
1天前
|
存储 SQL 分布式计算
|
2天前
|
SQL 数据管理 API
数据管理DMS产品使用合集之阿里云DMS提供API接口来进行数据导出功能吗
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
2天前
|
人工智能 定位技术 云计算
阿里云+Salesforce:更多功能,上新!
阿里云+Salesforce:更多功能,上新!
22 1
|
2天前
|
应用服务中间件 API 开发工具
阿里云视频点播功能
阿里云视频点播功能
20 0
|
2天前
|
弹性计算 Ubuntu 网络协议
阿里云CDN功能Quick Start
本文通过在国外Region ECS创建ECS,通过ECS部署应用,然后使用CDN加速部署应用,全链路测试体验阿里云CDN通过IP加速服务的功能。
|
2天前
|
Kubernetes 网络协议 定位技术
阿里云DNS常见问题之IP地理位置库功能开通失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
2天前
|
存储 弹性计算 固态存储
阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
阿里云服务器配置选择涉及CPU、内存、公网带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型e实例,如2核2G3M配置,适合低流量网站。企业用户则应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。选择时考虑实际应用需求和性能稳定性。
148 6
|
2天前
|
域名解析 弹性计算 Linux
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
本文为大家介绍了2024年购买阿里云服务器和注册域名,绑定以及备案的教程,适合需要在阿里云购买云服务器、注册域名并备案的用户参考,新手用户可通过此文您了解在从购买云服务器到完成备案的流程。
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
|
2天前
|
存储 弹性计算 固态存储
阿里云服务器租用价格参考,云服务器收费标准与实时活动价格整理
阿里云服务器租用价格参考,本文更新了阿里云服务器最新的租赁费用,包括云服务器实时的活动价格与云服务器收费标准。经济型e实例云服务器4核16G10M带宽配置30.00元/1个月、90.00元/3个月,独享型通用算力型u1实例2核4G服务器仅需199元1年,轻量云服务器2核2G新用户专享价格61元/1年,计算型c7a实例2核4G配置特惠价625.68元/1年。更多阿里云服务器热门配置活动价格及云服务器租赁费用及活动价格见下文。
阿里云服务器租用价格参考,云服务器收费标准与实时活动价格整理

热门文章

最新文章