设置视频拖拽
所有文档

          内容分发网络 CDN

          设置视频拖拽

          百度云支持对flv与mp4伪流视频的拖拽功能——视频进度条拖拽,开启拖拽可降低回源率,提升速度。本接口用于设置视频拖拽的参数。(注意:此接口为全量接口,设置时需要将已有的设置一并写入,否则原有配置会被覆盖。)

          原理简介

          • MP4

            百度智能云CDN支持MP4文件的伪流(pseudo-streaming)播放,通常这些文件拓展名为.mp4,.m4v,.m4a。

            在一个典型的Flash播放器中(不同播放器可能不同),如果用户拖动进度条,播放器会发送一个HTTP(S)请求,并在该请求的查询参数中带有指定时间的参数(通常参数名为start,单位为秒),服务器响应以该时间开始的视频流。例如:http://example.com/elephants_dream.mp4?start=238.88。 类似的,您还可以指定结束时间(通常参数名为end,单位为秒),服务器会响应从start到end指定范围内的视频内容。例如:http://example.com/elephants_dream.mp4?start=238.88&end=555.55

            这使得您的Flash播放器可以依靠服务器实现进度条拖动功能。

          • FLV

            百度智能云CDN同样支持Flash Video(FLV)文件的伪流(pseudo-streaming)播放,通常这些文件拓展名为.flv。

            FLV文件的伪流模式与MP4有所不同:FLV文件是通过文件字节偏移进行拖动的。

            通常情况下(不同播放器可能不同),用户在FLash播放器中播放一个FLV文件,当用户拖动进度条时,播放器会发送一个HTTPS(S)请求,并在该请求的查询参数中携带指定文件字节偏移的参数(通常参数名为start,单位为字节),服务器根据配置会响应以两种不同的内容:

            • byte模式:服务器响应以原始FLV文件从start指定字节开始的文件内容
            • byteav模式:服务器在原始FLV文件以start指定字节开始的内容前添加上第一个Video Tag和Audio Tag(通常为Metadata)作为响应,该模式由于包含Metadata使得播放器的解码参数得以重设。
              即byteav模式比byte模式要多响应两个Tag(Metadata)。
          Method Path 说明
          PUT /v2/domain/{domain}/config?mediaDrag 设置视频拖拽的参数

          domain:CDN加速域名

          请求体(Request Body)

          参数 可选 类型 说明
          mediaDragConf 必选 MediaDragConf 视频拖拽的设置

          MediaDragConf:

          参数 可选 类型 说明
          mp4 可选 MediaDrag mp4类型伪流的拖拽设置,如果是取消设置,请不要带上这个字段
          flv 可选 MediaDrag flv类型伪流的拖拽设置,如果是取消设置,请不要带上这个字段

          MediaDrag:

          参数 可选 类型 说明
          fileSuffix 可选 list类型,元素类型为String 百度智能云CDN支持MP4文件的伪流(pseudo-streaming)播放,通常这些文件拓展名为.mp4,.m4v,.m4a,因此这个fileSuffix值为文件拓展名集合,如: ["mp4", "m4v", "m4a"],type为mp4,fileSuffix默认值为["mp4"];type为flv,fileSuffix默认值为["flv"]
          startArgName 可选 String start参数名称,默认为“start”,您可以自定义参数名称,但是要求不能和endArgName相同
          endArgName 可选 String end参数名称,默认为“end”,您可以自定义参数名称,但是要求不能和startArgName相同
          dragMode 必选 string mp4类型按秒进行拖拽,flv类型按字节进行拖拽。type为flv可选择的模式为“byteAV”或”byte”;type为mp4只能是"second"模式

          响应码 (Http Status Code)

          HTTP Status Code 说明
          200 成功
          400 更新失败,参数错误等

          请求示例1

          PUT /v2/domain/myself.baidu.com/config?mediaDrag HTTP/1.1
          Host: cdn.baidubce.com
          Content-Length: 130
          Content-Type: application/json
          
          {
              "mediaDragConf":{
                  "mp4":{
                      "fileSuffix":[
                          "mp4",
                          "m4a"
                      ],
                      "startArgName":"startIndex",
                      "dragMode":"second"
                  },
                  "flv":{
                      "dragMode":"byteAV"
                  }
              }
          }

          响应示例

          HTTP/1.1 200 OK
          Content-Type: application/json; charset=utf-8
          Transfer-Encoding: chunked
          
          {
              "status":"RUNNING"
          }

          请求示例2 取消flv类型伪流的拖拽设置,保持mp4类型伪流的拖拽设置不变 此时请求体中不加flv参数,但是为保持mp4类型伪流的拖拽设置不变,请求体中的mp4参数一定要为当前该domain的mp4参数值一致(当前该domain的mp4参数值可以通过查询视频拖拽接口获取)。

          PUT /v2/domain/myself.baidu.com/config?mediaDrag HTTP/1.1
          Host: cdn.baidubce.com
          Content-Length: 130
          Content-Type: application/json
          
          {
              "mediaDragConf": {
                  "mp4": {
                      "fileSuffix": [
                          "mp4",
                          "m4a"
                      ],
                      "startArgName": "startIndex",
                      "dragMode": "second"
                  }
              }
          }

          响应示例

          HTTP/1.1 200 OK
          Content-Type: application/json; charset=utf-8
          Transfer-Encoding: chunked
          
          {
              "status":"RUNNING"
          }

          请求示例3 修改mp4类型伪流的拖拽设置的dragMode设置项,保持flv类型伪流的拖拽设置不变 此时请求体中mp4参数的dragMode设置为目标值,mp4的其余参数保持和当前该domain的对应参数一致,否值会被覆盖为默认值。请求体中的flv参数一定要为当前该domain的mp4参数值一致)。

          PUT /v2/domain/myself.baidu.com/config?mediaDrag HTTP/1.1
          Host: cdn.baidubce.com
          Content-Length: 130
          Content-Type: application/json
          
          {
              "mediaDragConf":{
                  "mp4":{
                      "fileSuffix":[
                          "mp4",
                          "m4a"
                      ],
                      "startArgName":"startIndex",
                      "dragMode":"second"
                      "dragMode":"--目标值---"
                  },
                  "flv":{
                      "dragMode":"byteAV"
                  }
              }
          }

          响应示例

          HTTP/1.1 200 OK
          Content-Type: application/json; charset=utf-8
          Transfer-Encoding: chunked
          
          {
              "status":"RUNNING"
          }
          上一篇
          查询SEO开关属性
          下一篇
          查询视频拖拽