帮你快速理解、总结文档立即下载

生成播放列表

最近更新时间:2024-07-24 11:12:21
我的收藏

简介

本文档提供关于生成播放列表的相关 API 概览以及 SDK 示例代码。
API
操作描述
生成边转边播的播放列表能够分析视频文件产出 m3u8 文件。生成播放列表后即时播放,并根据播放进度实施按需转码,相比离线转码能极大减少了转码等待时间并大幅度降低了转码和存储开销。

生成播放列表

功能说明

生成边转边播的播放列表能够分析视频文件产出 m3u8 文件。生成播放列表后即时播放,并根据播放进度实施按需转码,相比离线转码能极大减少了转码等待时间并大幅度降低了转码和存储开销。

示例代码

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'scheme' => 'https', // 审核时必须为https
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
//生成边转边播的播放列表能够分析视频文件产出 m3u8 文件。生成播放列表后即时播放,并根据播放进度实施按需转码,相比离线转码能极大减少了转码等待时间并大幅度降低了转码和存储开销
$result = $cosClient->GeneratePlayList(array(
'Bucket' => 'test-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Headers' => array(
'Content-Type' => 'application/xml',
),
'Tag'=> 'GeneratePlayList', // 创建任务的Tag:GeneratePlayList;是否必传:是
// 待操作的文件信息;是否必传:是
'Input'=> array(
'Object'=> '', // 文件路径;是否必传:否
),
// 操作规则;是否必传:是 'Operation'=> array( // 转码模板参数;是否必传:是 'Transcode'=> array( // 同创建转码模板接口中的 Request.Container;是否必传:是 'Container'=> array( 'Format'=> 'hls', // 封装格式,取值范围 hls,默认 hls;是否必传:否 // 分片配置;是否必传:否 'ClipConfig'=> array( 'Duration'=> '5', // 分片时长,单位秒,默认 5s,取值范围 [3, 8];是否必传:否 ), ), // 同创建转码模板接口中的 Request.Video;是否必传:是 'Video'=> array( 'Codec'=> 'H.264', // 编码格式,默认 H.264 ,目前仅支持 H.264;是否必传:否 'Width'=> '1080', // 视频宽,单位 px ,范围 [256, 4096], 如果只设置 Width,Height 按照视频原始比例计算,必须为 8 的倍数,默认原视频宽;是否必传:否 'Height'=> '1920', // 视频高,单位 px ,范围 [256, 4096], 如果只设置 Width 按照视频原始比例计算,必须为 8 的倍数,默认原视频宽;是否必传:否 'Bitrate'=> '25', // 视频输出码率,单位 Kbps,范围 [100, 10000],auto 表示自适应码率,默认原视频码率;是否必传:否 ), // 转码配置;是否必传:否 'TransConfig'=> array( ), ), // 结果输出配置;是否必传:是 'Output'=> array( 'Region'=> 'ap-chongqing', // 存储桶的地域;是否必传:是 'Bucket'=> 'test-123456789', // 存储结果的存储桶;是否必传:是 'Object'=> 'output/out.${ext}', // 输出结果的文件名;是否必传:是 ), 'UserData'=> 'This is my data.', // 透传用户信息, 可打印的 ASCII 码, 长度不超过1024;是否必传:否 'JobLevel'=> '0', // 任务优先级,级别限制:0 、1 、2 。级别越大任务优先级越高,默认为0;是否必传:否 ),


));
// 请求成功
print_r($result);
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

参数说明

参数名称
参数描述
类型
是否必填
Tag
创建任务的Tag:GeneratePlayList
string
是
Input
待操作的文件信息
Container
是
Operation
操作规则
Container
是
CallBack
任务回调地址,优先级高于队列的回调地址。设置为 no 时,表示队列的回调地址不产生回调
string
否
CallBackFormat
任务回调格式,JSON 或 XML,默认 XML,优先级高于队列的回调格式
string
否
QueueType
任务所在的队列类型,限制为 SpeedTranscoding, 表示为开启倍速转码
string
否
CallBackType
任务回调类型,Url 或 TDMQ,默认 Url,优先级高于队列的回调类型
string
否
CallBackMqConfig
任务回调 TDMQ 配置,当 CallBackType 为 TDMQ 时必填。详情见 CallBackMqConfig
Container
否

Input 的具体数据描述

参数名称
参数描述
类型
是否必填
Object
文件路径
string
否

Operation 的具体数据描述

参数名称
参数描述
类型
是否必填
Transcode
转码模板参数
Container
是
Output
结果输出配置
Container
是
UserData
透传用户信息, 可打印的 ASCII 码, 长度不超过1024
string
否
JobLevel
任务优先级,级别限制:0 、1 、2 。级别越大任务优先级越高,默认为0
string
否

Output 的具体数据描述

参数名称
参数描述
类型
是否必填
Region
存储桶的地域
string
是
Bucket
存储结果的存储桶
string
是
Object
输出结果的文件名
string
是

Transcode 的具体数据描述

参数名称
参数描述
类型
是否必填
Container
同创建转码模板接口中的 Request.Container
Container
是
Video
同创建转码模板接口中的 Request.Video
Container
是
TransConfig
转码配置
Container
否

Container 的具体数据描述

参数名称
参数描述
类型
是否必填
Format
封装格式,取值范围 hls,默认 hls
string
否
ClipConfig
分片配置
Container
否

ClipConfig 的具体数据描述

参数名称
参数描述
类型
是否必填
Duration
分片时长,单位秒,默认 5s,取值范围 [3, 8]
string
否

TransConfig 的具体数据描述

参数名称
参数描述
类型
是否必填
InitialClipNum
初始转码分片个数,默认 0
string
否
CosTag
输出m3u8文件对象的标签集合,最多可设置10个标签(例如,Key1=Value1&Key2=Value2)。 标签集合中的 Key 和 Value 必须先进行 URL 编码。
string
否
HlsEncrypt
hls 加密配置
Container
否

HlsEncrypt 的具体数据描述

参数名称
参数描述
类型
是否必填
IsHlsEncrypt
是否开启 HLS 加密,取值 true/false,默认 false
string
否

Video 的具体数据描述

参数名称
参数描述
类型
是否必填
Codec
编码格式,默认 H.264 ,目前仅支持 H.264
string
否
Width
视频宽,单位 px ,范围 [256, 4096], 如果只设置 Width,Height 按照视频原始比例计算,必须为 8 的倍数,默认原视频宽
string
否
Height
视频高,单位 px ,范围 [256, 4096], 如果只设置 Width 按照视频原始比例计算,必须为 8 的倍数,默认原视频宽
string
否
Bitrate
视频输出码率,单位 Kbps,范围 [100, 10000],auto 表示自适应码率,默认原视频码率
string
否
Fps
帧率,单位 fps ,范围 (0, 30],默认 30
string
否
Gop
关键帧间最大帧数,范围 [1, 100000],默认 2
string
否
Maxrate
视频码率峰值,单位 Kbps ,范围 [10, 50000]
string
否

CallBackMqConfig 的具体数据描述

参数名称
参数描述
类型
是否必填
MqRegion
消息队列所属园区,目前支持园区 sh(上海)、bj(北京)、gz(广州)、cd(成都)、hk(中国香港)
string
是
MqMode
消息队列使用模式,默认 Queue :主题订阅:Topic队列服务: Queue
string
是
MqName
TDMQ 主题名称
string
是

返回参数说明

具体返回参数请参见 生成播放列表 接口。