API | 操作描述 |
提交转封装任务 |
public Guzzle\\Service\\Resource\\Model createMediaSegmentJobs(array $args = array());
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.tencentcloud.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', //协议头部,默认为 http'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {// 提交转封装任务 https://www.tencentcloud.com/document/product/436/49053$result = $cosClient->createMediaSegmentJobs(array('Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.tencentcloud.com/cos5/bucket'Tag' => 'Segment','QueueId' => 'p81e648af2aee496885707ca0xxxxxxxxx','Input' => array('Object' => 'video01.mp4'),'Operation' => array('Segment' => array('Format' => 'mkv','Duration' => '5','HlsEncrypt' => array('IsHlsEncrypt' => 'false','UriKey' => '',),),'Output' => array('Region' => $region,'Bucket' => 'examplebucket-1250000000','Object' => 'Segment-trans${Number}.mkv',),// 'UserData' => 'xxx', // 透传用户信息// 'JobLevel' => '0', // 任务优先级,级别限制:0 、1 、2。级别越大任务优先级越高,默认为0),'CallBack' => '',));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Tag | Request | 创建任务的 Tag:Segment | String | 是 |
Input | Request | 待操作的媒体信息 | Container | 是 |
Operation | Request | 操作规则 | Container | 是 |
QueueId | Request | 任务所在的队列 ID | String | 是 |
CallBack | Request | 回调地址 | String | 否 |
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Object | Request.Input | 媒体文件名 | String | 是 |
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Segment | Request.Operation | 指定转封装参数 | Container | 是 |
Output | Request.Operation | 结果输出地址 | Container | 是 |
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 | 限制 |
Format | Request.Operation.Segment | 封装格式 | String | 是 | aac、mp3、flac、mp4、ts、mkv、avi、hls、m3u8 |
Duration | Request.Operation.Segment | 转封装时长,单位:秒 | String | 否 | 不小于5的整数 |
HlsEncrypt | Request.Operation.Segment | hls 加密配置 | Container | 否 | 无, 只有当封装格式为 hls 时生效 |
节点名称(关键字) | 父节点 | 描述 | 类型 | 必选 | 默认值 | 限制 |
IsHlsEncrypt | Request.Operation.Segment.HlsEncrypt | 是否开启 HLS 加密 | String | 否 | false | 1. true/false 2. Segment.Format 为 HLS 时支持加密 |
UriKey | Request.Operation.Segment.HlsEncrypt | HLS 加密的 key | String | 否 | 无 | 当 IsHlsEncrypt 为 true 时,该参数才有意义 |
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Region | Request.Operation.Output | 存储桶的地域 | String | 是 |
Bucket | Request.Operation.Output | 存储结果的存储桶 | String | 是 |
Object | Request.Operation.Output | 输出结果的文件名,如果设置了Duration, 且 Format 不为 HLS 或 m3u8 时, 文件名必须包含${Number}参数作为自定义转封装后每一小段音/视频流的输出序号 | String | 是 |
GuzzleHttp\\Command\\Result Object([Body] => GuzzleHttp\\Psr7\\Stream Object([stream:GuzzleHttp\\Psr7\\Stream:private] => Resource id #88[size:GuzzleHttp\\Psr7\\Stream:private] =>[seekable:GuzzleHttp\\Psr7\\Stream:private] => 1[readable:GuzzleHttp\\Psr7\\Stream:private] => 1[writable:GuzzleHttp\\Psr7\\Stream:private] => 1[uri:GuzzleHttp\\Psr7\\Stream:private] => php://temp[customMetadata:GuzzleHttp\\Psr7\\Stream:private] => Array())[RequestId] => NjI2YTA2MzZfZAODIJAIODJAIODZF8xNjc2YTA=[ContentType] => application/xml[ContentLength] => 866[Bucket] => examplebucket-1250000000[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/jobs[Response] => Array([JobsDetail] => Array([Code] => Success[CreationTime] => 2022-04-28T11:12:54+0800[EndTime] => -[Input] => Array([BucketId] => examplebucket-1250000000[Object] => video01.mp4[Region] => ap-guangzhou)[JobId] => j184996a2c6a111ec954767a8248f19aa[Message] =>[Operation] => Array([Output] => Array([Bucket] => examplebucket-1250000000[Object] => Segment-trans${Number}.mkv[Region] => ap-guangzhou)[Segment] => Array([Duration] => 10[Format] => mkv[HlsEncrypt] => Array([IsHlsEncrypt] => false[UriKey] =>))[UserData] => xxx[JobLevel] => 0)[QueueId] => p81e648af2az8x7ca0898s0dasbe086[StartTime] => -[State] => Submitted[Tag] => Segment)))
本页内容是否解决了您的问题?