0044-00000014

问题描述

PutLiveChannel请求中Target节点的FragDuration字段有误。

问题原因

您发起了PutLiveChannel请求来创建一个LiveChannel,并在请求体XML中通过Target节点描述LiveChannel转储配置的各项参数,但是您提供的FragDuration参数不符合接口要求。该参数表示每个ts文件的时长,单位是秒,目前接口支持的取值范围是 [1, 100]。具体而言,转储类型为HLS时,写入当前ts文件的音视频数据时长达到FragDuration指定的时长后,OSS会在收到下一个关键帧的时切换到下一个ts文件。

问题示例

比如您发起了如下请求:

PUT /test-channel?live HTTP/1.1
Date: Wed, 24 Aug 2016 11:11:28 GMT
Content-Length: xxx
Host: test-bucket.oss-cn-hangzhou.aliyuncs.com
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="utf-8"?>
<LiveChannelConfiguration>
    <Description />
    <Status>enabled</Status>
    <Target>
        <Type>HLS</Type>
        <FragDuration>abc</FragDuration>
        <FragCount>3</FragCount>
    </Target>
    <Snapshot>
        <RoleName>role_for_snapshot</RoleName>
        <DestBucket>bucketdest</DestBucket>
        <NotifyTopic>notifyTopic</NotifyTopic>
        <Interval>1</Interval>
     </Snapshot>
</LiveChannelConfiguration

上述请求中Target节点的FragDuration子节点值为abc,不是接口所要求的[1,100]范围内的整数,因此接口返回该错误。

解决方案

请确保请求体XMLTarget节点各项参数符合接口要求,比如:

PUT /test-channel?live HTTP/1.1
Date: Wed, 24 Aug 2016 11:11:28 GMT
Content-Length: xxx
Host: test-bucket.oss-cn-hangzhou.aliyuncs.com
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="utf-8"?>
<LiveChannelConfiguration>
    <Description />
    <Status>enabled</Status>
    <Target>
        <Type>HLS</Type>
        <FragDuration>2</FragDuration>
        <FragCount>3</FragCount>
    </Target>
    <Snapshot>
        <RoleName>role_for_snapshot</RoleName>
        <DestBucket>snapshotdest</DestBucket>
        <NotifyTopic>snapshotnotify</NotifyTopic>
        <Interval>1</Interval>
     </Snapshot>
</LiveChannelConfiguration

相关文档