功能描述

使用 Agora 云端录制服务完成录制后,录制的内容会以 TS 文件形式上传到你设定的第三方云存储中,同时生成一个 M3U8 文件用于索引所有的 TS 文件。你可以在你的第三方云存储中获得该 M3U8 文件的链接,直接在线播放录制文件。

目前不支持在线播放云端录制生成的 WebM 文件。

实现方法

在开始前,请确保录制文件已全部上传完成。下面分别介绍阿里云七牛云腾讯云AWS S3 如何在线播放录制文件。

以下方法中,读写权限设置均以存储桶(bucket)为单位。为提高安全性,你也可以选择以单个录制文件为单位设置读写权限。

阿里云

  1. 登录阿里云控制台,进入你设定的录制存储空间(bucket),在文件管理页面可以看到 M3U8 和 TS 文件。

  2. 基础设置页面将读写权限设置为公共读公共读写,点击保存

  3. 文件管理页面,M3U8 文件右侧点击详情,进入详情页。

  1. 详情页面,选择复制文件 URL,如下图所示

  1. 在浏览器上输入复制的外链地址即可开始在线播放。

七牛云

  1. 进入你设定的录制存储空间(bucket),可以看到 M3U8 和 TS 文件都已经上传至云存储。

  2. 空间设置访问控制设为公开空间。如果没有绑定域名,请先绑定一个域名。

  3. 复制 M3U8 文件的外链,如下图所示:

  4. 在浏览器上输入复制的外链地址即可开始在线播放。

更多信息请参考在七牛云存储上播放 HLS

腾讯云

  1. 登录腾讯云控制台,点击存储桶列表
  2. 选择你要播放的存储桶(bucket),点击配置管理,进入存储桶访问权限页面。
  3. 公共权限设置为公有读私有写公有读写,点击保存

  1. 回到存储桶列表页面,点击你要播放的存储桶,选择详情,进入对象属性标签页。在基本信息一栏,复制对象地址:

  1. 在浏览器上输入复制的外链地址即可开始在线播放。

AWS S3

  1. 登录 AWS S3 控制台,进入云端录制使用的存储桶(bucket),将文件属性分别设置成如下:

    1. 选中 M3U8 文件,点击操作 ,选择更改元数据

    2. Content-Type 键值设为 application/x-mpegURL (需手动输入)。

    3. 选中所有的 TS 文件,将 Content-Type 设为 video/MP2T

  2. 配置存储桶策略使 bucket 能被公开访问。在权限页面点击存储桶策略,填入以下代码 (将 <YourBucketName> 修改为你的 bucket):

    {
     "Version": "2012-10-17",
     "Id": "Policy1553255976836",
     "Statement": [
         {
             "Sid": "Stmt1553255974279",
             "Effect": "Allow",
             "Principal": "*",
             "Action": "s3:*",
             "Resource": "arn:aws:s3:::<YourBucketName>"
         }
     ]
    }
  3. 选中 M3U8 文件查看 URL 地址。

  4. 在浏览器上输入 M3U8 文件的 URL 即可开始在线播放。

开发注意事项

  • Safari 浏览器可以直接播放 M3U8 文件,其他浏览器可能需要安装 HLS 播放插件。
  • 支持 HLS 协议的播放器也可以播放 M3U8 文件,如 VLC media player。
  • 如果录制结束后收到的响应中 uploadingStatus"backuped",说明有部分录制内容上传到了备份云,必须等备份云将这部分文件上传到云存储之后才可以播放 M3U8 文件。
  • 设置公有读权限的目的是使 bucket 中的文件能被公开访问。如你无需在线播放录制文件,为提高安全性,建议你将 bucket 的权限设置为私有。