问题描述
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]范围内的整数,因此接口返回该错误。
解决方案
请确保请求体XML中Target节点各项参数符合接口要求,比如:
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
相关文档
文档内容是否对您有帮助?