所有文档

          音视频点播 VOD

          开发者指南

          快速入门

          1. 新建 VodClient

            VodClient是与VOD交互的核心,所有VOD操作均需通过VodClient完成。

          2. 创建媒资。
          3. 管理媒资。

            媒资状态请参见VOD核心概念-媒资状态

            媒资上传成功后,以 mediaId 为索引对媒资进行管理,具体请参见媒资管理

          4. 获取播放地址和播放器代码。

            媒资上传之后,开发者可以通过接口函数getPlayableUrl()getMediaPlayerCode()得到 VOD 平台生成的播放地址和Web播放器代码,从而方便地进行播放器集成。

          媒资管理

          创建媒资

          对音视频源文件进行转码、生成缩略图、获取元信息等处理后形成音视频媒资媒资并生成媒资的唯一标识mediaId。

          代码示例:

          var client = new VodClient(config);
          client.createMediaResource("<title>", "<description>", <data>)
              // Node.js中<data>可以为一个Stream、<pathToFile>;在浏览器中<data>为一个Blob对象
              .then(function (response) {
                  // 上传完成
                  console.log(response.body.mediaId);
              })
              .catch(function (error) {
                  console.log(error);
                  // 上传错误
          //监听progress事件 获取上传进度
          client.on('progress', function (evt) {
              console.log(evt);
              });

          查询指定的媒资信息

          通过媒资的唯一标识 mediaId 查询指定媒资的详细信息,包括:

          媒资信息 类型 描述
          status Object 媒资状态,可选值PENDING/RUNNING/FAILED/PUBLISHED/DISABLED/BANNED
          attributes Object 媒资属性
          title String 媒资名称,“媒资属性”的子参数
          description String 媒资描述,“媒资属性”的子参数
          meta Object 媒资元数据
          sizeInBytes Number 媒资数据大小,“媒资元数据”的子参数
          durationInSeconds Number 媒资时长,“媒资元数据”的子参数
          publishTime String 媒资发布时间
          createTime String 媒资创建时间

          代码示例:

          var client = new VodClient(config);
          client.getMediaResource("<mediaId>")
              .then(function (response) {
                  // 查询成功
                  console.log(response)
              })
              .catch(function (error) {
                  console.log(error);
                  // 查询错误
              });

          查询所有媒资

          查询特定用户的所有媒资,以列表形式返回。

          代码示例:

          var client = new VodClient(config);
          client.listMediaResources()
              .then(function (response) {
                  // 查询成功
                  for (var i = 0; i < response.body.media.length; i++) {
                      console.log(response.body.media[i])
                  }
              })
              .catch(function (error) {
                  console.log(error);
                  // 查询错误
              });

          更新媒资的 title 和 description

          通过媒资的唯一标识 mediaId 更新指定媒资的属性,包括名称和描述。

          代码示例:

          var client = new VodClient(config);
          client.updateMediaResource("<mediaId>", "<newTitle>", "<newDescription>")
              .then(function (response) {
                  // 查询成功
                  console.log(response)
              })
              .catch(function (error) {
                  console.log(error);
                  // 查询错误
              });

          停用指定媒资

          通过媒资的唯一标识 mediaId 停用指定媒资,仅对状态为 PUBLISHED 的媒资有效。

          音视频媒资在 VOD 整个生命周期中的各种状态称为媒资状态,包含:

          媒资状态 状态名 描述
          RUNNING 转码中 系统正在对媒资进行后台处理。媒资上传成功自动进入此状态
          PUBLISHED 已发布 媒资已完成处理,可以正常播放。系统完成对媒资的后台处理后进入此状态
          FAILED 转码失败 系统处理媒资时候发生异常
          PROCESSING 内部处理中 系统正在响应用户对媒资的停用/发布/封禁/解禁请求
          DISABLED 已停用 媒资已被开发者停用
          BANNED 已屏蔽 媒资已被系统屏蔽

          代码示例:

          var client = new VodClient(config);
          client.stopMediaResource("<mediaId>")
              .then(function (response) {
                  // 查询成功
                  console.log(response)
              })
              .catch(function (error) {
                  console.log(error);
                  // 查询错误
              });

          恢复指定媒资

          通过媒资的唯一标识 mediaId 恢复指定媒资,仅对状态为 DISABLED 的媒资有效。

          代码示例:

          var client = new VodClient(config);
          client.publishMediaResource("<mediaId>")
              .then(function (response) {
                  // 查询成功
                  console.log(response)
              })
              .catch(function (error) {
                  console.log(error);
                  // 查询错误
              });

          删除指定媒资

          通过媒资的唯一标识 mediaId 删除指定媒资。删除后,媒资不可见。删除操作不可逆。

          代码示例:

          var client = new VodClient(config);
          client.deleteMediaResource("<mediaId>")
              .then(function (response) {
                  // 查询成功
                  console.log(response)
              })
              .catch(function (error) {
                  console.log(error);
                  // 查询错误
              });

          播放器管理

          查询媒资播放地址

          通过媒资的唯一标识 mediaId 查询指定媒资的可播放文件及媒资封面图的实际路径,用于自定义播放器的开发。

          代码示例:

          var client = new VodClient(config);
          client.getPlayableUrl("<mediaId>")
              .then(function (response) {
                  console.log(response);
              });

          获取到媒资缩略图(cover)的实际路径后,可通过图片服务(图片样式除外)对媒资封面图进行缩放、裁剪、格式转换、旋转、添加水印等实时处理,URL格式如下所示:

          # 例1:将媒资封面图(600×330)缩略成宽度为200,高度按原图比例等比例缩放
          http://gcikixy9wpfkpdx3qbb.exp.bcevod.com/mda-gcseezyb93g5hqpp/mda-gcseezyb93g5hqpp.jpg@w_200
          
          # 例2:将媒资封面图(600×330)拉伸到200×150的比例,再等比例缩放至宽200,高150
          http://gcikixy9wpfkpdx3qbb.exp.bcevod.com/mda-gcseezyb93g5hqpp/mda-gcseezyb93g5hqpp.jpg@s_1,w_200,h_150
          
          # 例3:将媒资封面图(600×330)等比例缩小330/150倍,再居中裁剪至宽200,高150
          http://gcikixy9wpfkpdx3qbb.exp.bcevod.com/mda-gcseezyb93g5hqpp/mda-gcseezyb93g5hqpp.jpg@s_2,w_200,h_150

          查询播放器代码

          通过媒资的唯一标识 mediaId 及基本外观数据生成基础的播放器代码,便于开发者开发简单的播放器。对于高级定制需求,请根据播放器SDK自定义播放器。

          参数说明:

          参数 描述
          mediaId 生成播放器代码的媒资ID
          width 生成播放器的宽度
          height 生成播放器的高度
          autoStart 生成的播放器是否自动播放该媒资

          代码示例:

          var client = new VodClient(config);
          client.getPlayerCode('<mediaId>', <width>, <height>, <auto_start>)
              .then(function (response) {
                  for (var i = 0; i < response.body.codes.length; i++) {
                      var code = response.body.codes[i];
                      console.log(code.codeType); // 代码类型,为url、html和flash一种,分别表示独立播放页面、嵌入式HTML代码和嵌入式FLASH代码
                      console.log(code.sourceCode); // 获取代码
                  }
          
              });
          上一篇
          开发环境
          下一篇
          版本更新说明