You need to enable JavaScript to run this app.
导航
视频拖拽
最近更新时间:2024.12.11 10:48:00首次发布时间:2024.12.11 10:48:00

CDN加速服务提供了 "视频拖拽" 功能,可以处理特定场景下播放器发送的视频分片请求。参见 前提条件

前提条件

  • 您已经添加域名到CDN加速服务。相关操作,请参见添加域名

  • 播放器播放的视频文件的格式是 MP4 或者 FLV。

  • 播放器通过在请求 URL 中使用 startend 查询参数来指定请求的视频分片。例如,以下请求 URL 表示播放器请求的是从第 15 秒开始,第 120 秒结束的视频分片。

    • http://www.example.com/4K_demo.mp4?start=15.000&end=120.000

操作步骤

  1. 登录多云CDN控制台

  2. 在左侧导航栏,单击 CDN加速
  3. 在CDN加速域名列表找到您的域名,单击域名名称。
  4. 在域名页面,单击 内容优化 标签页。
  5. 在页面右上方,单击 编辑配置
  6. 视频拖拽 区域,设置 状态 为启用。
  7. 在页面右上方,单击 提交编辑

alt

start/end 参数说明和视频文件的 Metadata 要求

视频格式Metadatastart/end 参数请求 URL 示例
MP4在源站上,MP4 视频文件必须包含 Metadata,并且 Metadata 必须出现在文件的开头。表示视频的开始和结束时间,单位是秒,精确到毫秒。http://www.example.com/volcano.mp4?start=5.013&end=12.123
FLV在源站上,FLV 视频文件必须包含 Metadata。表示开始和结束位置所对应视频文件中的字节。http://www.example.com/volcano.flv?start=5&end=145
  • startend 参数名称区分大小写。例如,CDN加速服务收到了一个请求 URL 是 http://www.example.com/sample.mp4?Start=15 的视频分片请求。由于 Start参数的大小写不正确,CDN加速服务返回的是完整的 sample.mp4,而不是指定的视频分片。

  • 如果 startend 指定位置的视频帧不是关键帧,则CDN加速服务将从视频的早些时间中获取离 startend 最近的关键帧作为实际的开始和结束时间。

更多信息

视频拖拽概述

视频拖拽是现代视频播放器普遍支持的功能。在视频播放时,用户可以拖动播放器中的进度条改变播放时间点。当用户拖动进度条到一个时间点时,播放器会向服务器请求从该时间点开始的一个视频分片,而不是请求完整的视频。这样,在用户观看视频时,无需等待完整视频文件的下载,而是在播放器获得视频分片后就可以从相应时间点开始观看视频了,用户体验好。

说明

  • 当用户在播放器中首次打开一个视频时,播放器是向服务器请求从视频开头开始的一个视频分片。

  • 在视频播放过程中,播放器会在当前视频分片播放结束前,提前向服务器请求下一个视频分片。

CDN加速服务如何处理播放器的视频分片请求

当您的场景满足 前提条件,并且您通过CDN加速服务来分发视频,CDN加速服务会将播放器的视频分片请求处理成一个用户 Range 请求。基于缓存中的完整视频文件,CDN加速服务可以准确返回播放器请求的视频分片。

在CDN加速服务收到播放器发送的视频分片请求时,如果CDN加速服务还未缓存完整的视频文件或者缓存的视频文件已过期,CDN加速服务会先向源站请求完整的视频文件。因此,对于发送该视频分片请求的播放器,需要等待较长的时间才能收到CDN加速服务的响应。要避免这个问题,对于热门的视频,推荐您使用预热功能将这些视频文件提前缓存到CDN加速服务节点。

什么是关键帧

视频中任意一个平滑过渡是由两个关键帧定义的。这两个关键帧分别记录了该平滑过渡的开始状态和结束状态。对于 MP4 和 FLV 格式的视频文件,其元数据中指定了哪些视频帧是关键帧。

其他信息

  • 在CDN加速服务缓存视频文件时,文件的缓存键中既不包含 start 参数,也不包含 end 参数。
  • 在CDN加速服务向源站请求完整视频文件时,回源请求中既不包含 start 参数,也不包含 end 参数。