通过视频剪辑(也称为「修剪」或更改视频长度),您可以更改视频的起止点,使观众只看到视频的特定「片段」。例如,如果您有 20 分钟的视频,但只想分享中间 5 分钟的片段,您可以剪辑视频以移除该 5 分钟片段之前和之后的内容。
更多信息请参阅 视频剪辑 API 文档。
在剪辑视频之前,您需要 API token。有关创建 API token 的信息,请参阅 创建 API tokens。
要剪辑视频,请确定要从现有视频中使用的起止时间来创建新视频。使用 videoUID 和起止时间发送请求。
{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 20,
"endTimeSeconds": 40
}clippedFromVideoUID:用于创建新剪辑视频的视频唯一标识符。startTimeSeconds:现有视频中的时间戳,指示新视频开始的位置。endTimeSeconds:现有视频中的时间戳,指示新视频结束的位置。
curl --location --request POST 'https://api.cloudflare.com/client/v4/accounts/<YOUR_ACCOUNT_ID_HERE>/stream/clip' \
--header 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
--header 'Content-Type: application/json' \
--data-raw '{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 10,
"endTimeSeconds": 15
}'您可以在 Cloudflare 仪表板的 Stream 页面检查视频是否可播放。
Go to Videos ↗剪辑视频处理期间,视频状态响应显示 Queued(排队中)。剪辑过程完成后,视频状态变为 Ready(就绪),并显示剪辑视频的新名称和新时长。
要在视频处理完成并可供播放时收到通知,您可以 订阅 webhook 通知。
剪辑视频时,您还可以为剪辑视频指定新名称。在下面的示例中,name 字段指示剪辑视频使用的新名称。
{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 10,
"endTimeSeconds": 15,
"meta": {
"name": "overriding-filename-clip.mp4"
}
}视频剪辑并处理完成后,新命名的视频将显示在 Cloudflare 仪表板的视频列表中。
您还可以为视频添加自定义水印。有关水印和上传水印配置文件的更多信息,请参阅 应用水印。
{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 10,
"endTimeSeconds": 15,
"watermark": {
"uid": "4babd675387c3d927f58c41c761978fe"
},
"meta": {
"name": "overriding-filename-clip.mp4"
}
}剪辑视频时,您可以通过 要求 signed URL 使视频私有且仅特定用户可访问。
{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 10,
"endTimeSeconds": 15,
"requireSignedURLs": true,
"meta": {
"name": "signed-urls-demo.mp4"
}
}视频剪辑完成后,您可以打开 Cloudflare 仪表板和视频列表找到您的视频。选择视频后,Settings(设置) 选项卡在 Require Signed URLs(需要签名 URL) 旁显示勾选标记。
您还可以使用百分比值为视频指定缩略图。要将缩略图时间戳从秒转换为百分比,将所需时间戳除以视频总时长。有关缩略图的更多信息,请参阅 显示缩略图。
{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 10,
"endTimeSeconds": 15,
"thumbnailTimestampPct": 0.5,
"meta": {
"name": "thumbnail_percentage.mp4"
}
}