在线播放
功能描述
使用声网云端录制服务完成录制后,录制的内容会以 TS 文件形式上传到你设定的第三方云存储中,同时生成一个 M3U8 文件用于索引所有的 TS 文件。你可以在你的第三方云存储中获得该 M3U8 文件的链接,直接在线播放录制文件。
声网云端录制服务不支持在线播放录制生成的 WebM 文件。
前提条件
开始前,请参考使用 RESTful API 开始云端录制进行一次完整的录制流程体验,并且确保录制文件已上传到你设定的第三方云存储中。
实现方法
下面分别介绍阿里云、腾讯云 和 AWS S3 如何在线播放录制文件。
以下实现中,读写权限设置均以存储桶 (Bucket) 为单位。为提高安全性,你也可以选择以单个录制文件为单位设置读写权限。
- 阿里云
- 腾讯云
- AWS S3
参考如下步骤使用阿里云云存储实现在线播放:
-
登录阿里云控制台,进入你设定的录制存储空间 (Bucket),在文件管理页面可以看到 M3U8 和 TS 文件。
-
在基础设置页面将读写权限设置为公共读或公共读写,点击保存。
-
在文件管理页面,M3U8 文件右侧点击详情,进入详情页。
-
在详情页面,选择复制文件 URL,如下图所示:
-
在浏览器上输入复制的外链地址即可开始在线播放。
参考如下步骤使用腾讯云云存储实现在线播放:
-
登录腾讯云控制台,点击存储桶列表。
-
选择你要播放的存储桶 (Bucket),点击配置管理,进入存储桶访问权限页面。
-
将公共权限设置为公有读私有写或公有读写,点击保存。
-
回到存储桶列表页面,点击你要播放的存储桶,选择详情,进入对象属性标签页。在基本信息一栏,复制对象地址:
-
在浏览器上输入复制的外链地址即可开始在线播放。
参考如下步骤使用 AWS 实现在线播放:
-
登录 AWS S3 控制台,进入云端录制使用的存储桶 (Bucket),将文件属性分别设置成如下:
-
选中 M3U8 文件,点击操作 ,选择更改元数据。
-
将 Content-Type 键值设为 application/x-mpegURL(需手动输入)。
-
选中所有的 TS 文件,将 Content-Type 设为 video/MP2T。
-
-
配置存储桶策略使 Bucket 能被公开访问。在权限页面点击存储桶策略,填入以下代码(将
<YourBucketName>
修改为你的 Bucket):JSON{
"Version": "2012-10-17",
"Id": "Policy1553255976836",
"Statement": [
{
"Sid": "Stmt1553255974279",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::<YourBucketName>"
}
]
} -
选中 M3U8 文件查看 URL 地址。
-
在浏览器上输入 M3U8 文件的 URL 即可开始在线播放。
开发注意事项
使用在线播放功能时,你需要关注以下开发注意事项:
- Safari 浏览器可以直接播放 M3U8 文件,其他浏览器可能需要安装 HLS 播放插件。
- 支持 HLS 协议的播放器也可以播放 M3U8 文件,如 VLC media player。
- 因 iOS 系统和浏览器对 M3U8 格式的支持有限,你在某些版本的 iOS 系统或某些浏览器上可能会遇到无法播放 M3U8 格式的文件。
- 如果录制结束后收到的响应中
uploadingStatus
为"backuped"
,说明有部分录制内容上传到了备份云,必须等备份云将这部分文件上传到云存储之后才可以播放 M3U8 文件。 - 设置公有读权限的目的是使 Bucket 中的文件能被公开访问。如你无需在线播放录制文件,为提高安全性,建议你将 Bucket 的权限设置为私有。