tencent cloud

文档反馈

转封装任务接口

最后更新时间:2024-03-13 10:25:33

    简介

    本文档提供关于转封装任务接口的 API 概览和 SDK 示例代码。
    API
    操作描述
    提交转封装任务

    提交转封装任务

    功能说明

    提交转封装任务。

    方法原型

    public Guzzle\\Service\\Resource\\Model createMediaSegmentJobs(array $args = array());

    请求示例

    <?php
    
    require 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);
    }

    参数说明

    Request 中的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Tag
    Request
    创建任务的 Tag:Segment
    String
    Input
    Request
    待操作的媒体信息
    Container
    Operation
    Request
    操作规则
    Container
    QueueId
    Request
    任务所在的队列 ID
    String
    CallBack
    Request
    回调地址
    String
    Container 类型 Input 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Object
    Request.Input
    媒体文件名
    String
    Container 类型 Operation 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Segment
    Request.Operation
    指定转封装参数
    Container
    Output
    Request.Operation
    结果输出地址
    Container
    Container 类型 Segment 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    限制
    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 时生效
    Container 类型 HlsEncrypt 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    必选
    默认值
    限制
    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 时,该参数才有意义
    Container 类型 Output 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    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
    )
    
    )
    
    )
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持