获取媒体信息同步请求

最近更新时间:2024-11-19 10:30:52

我的收藏

功能描述

GetMediainfo 接口用于获取媒体文件的信息。

授权说明

通过子账号使用时,需要授予 cos:GetObject权限,具体请参见 COS action,CI其他权限请参见 数据万象 action

服务开通

使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶
使用该功能需提前通过控制台或接口开通媒体处理服务 。详情请参见 开通媒体处理服务

使用限制

使用该接口时,请先确认相关限制条件。详情请参见 使用限制

费用说明

该接口为付费服务,产生的费用将由数据万象收取,详细计费说明可参见 媒体处理费用


请求

请求示例

GET /<ObjectKey>?ci-process=videoinfo HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
Content-Length: <length>
说明:
Authorization: Auth String,详情请参见 请求签名 文档。
ObjectKey 为存储桶对象。

请求头

此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

请求参数

参数说明如下:
节点名称(关键字)
父节点
描述
类型
是否必选
ci-process
操作类型,固定使用 videoinfo
String

请求体

该请求无请求体。

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response>
<MediaInfo>
<Stream>
<Video>
<Index></Index>
<CodecName></CodecName>
<CodecLongName></CodecLongName>
<CodecTimeBase></CodecTimeBase>
<CodecTagString></CodecTagString>
<CodecTag></CodecTag>
<ColorPrimaries></ColorPrimaries>
<ColorRange></ColorRange>
<ColorTransfer></ColorTransfer>
<Profile></Profile>
<Width></Width>
<Height></Height>
<HasBFrame></HasBFrame>
<RefFrames></RefFrames>
<Sar></Sar>
<Dar></Dar>
<PixFormat></PixFormat>
<FieldOrder></FieldOrder>
<Level></Level>
<Fps></Fps>
<AvgFps></AvgFps>
<Timebase></Timebase>
<StartTime></StartTime>
<Duration></Duration>
<Bitrate></Bitrate>
<NumFrames></NumFrames>
<Language></Language>
</Video>
<Audio>
<Index></Index>
<CodecName></CodecName>
<CodecLongName></CodecLongName>
<CodecTimeBase></CodecTimeBase>
<CodecTagString></CodecTagString>
<CodecTag></CodecTag>
<SampleFmt></SampleFmt>
<SampleRate></SampleRate>
<Channel></Channel>
<ChannelLayout></ChannelLayout>
<Timebase></Timebase>
<StartTime></StartTime>
<Duration></Duration>
<Bitrate></Bitrate>
<Language></Language>
</Audio>
<Subtitle>
<Index></Index>
<Language></Language>
</Subtitle>
</Stream>
<Format>
<NumStream></NumStream>
<NumProgram></NumProgram>
<FormatName></FormatName>
<FormatLongName></FormatLongName>
<StartTime></StartTime>
<Duration></Duration>
<Bitrate></Bitrate>
<Size></Size>
</Format>
</MediaInfo>
</Response>
具体的数据内容如下:
节点名称(关键字)
父节点
描述
类型
Response
保存结果的容器
Container
Container 节点 Response 的内容:
节点名称(关键字)
父节点
描述
类型
MediaInfo
Response
媒体的详细信息
Container
Container 节点
MediaInfo
的内容:
节点名称(关键字)
父节点
描述
类型
Format
Response.MediaInfo
格式信息
Container
Stream
Response.MediaInfo
流信息
Container
Container 节点 Stream 的内容:
节点名称(关键字)
父节点
描述
类型
Video
Response.MediaInfo.Stream
视频信息
Container 数组
Audio
Response.MediaInfo.Stream
音频信息
Container 数组
Subtitle
Response.MediaInfo.Stream
字幕信息
Container 数组
Container 节点 Format 的内容(某字段未获取到有效值时不返回):
节点名称(关键字)
父节点
描述
类型
NumStream
Response.MediaInfo.Format
Stream(包含 Video、Audio、Subtitle)的数量
String
NumProgram
Response.MediaInfo.Format
节目的数量
String
FormatName
Response.MediaInfo.Format
容器格式名字
String
FormatLongName
Response.MediaInfo.Format
容器格式的详细名字
String
StartTime
Response.MediaInfo.Format
起始时间,单位为秒
String
Duration
Response.MediaInfo.Format
时长,单位为秒
String
Bitrate
Response.MediaInfo.Format
比特率,单位为 kbps
String
Size
Response.MediaInfo.Format
大小,单位为 Byte
String
Container 节点 Video 的内容(某字段未获取到有效值时不返回):
节点名称(关键字)
父节点
描述
类型
Index
Response.MediaInfo.Stream.Video
该流的编号
String
CodecName
Response.MediaInfo.Stream.Video
编解码格式名字
String
CodecLongName
Response.MediaInfo.Stream.Video
编解码格式的详细名字
String
CodecTimeBase
Response.MediaInfo.Stream.Video
编码时基
String
CodecTagString
Response.MediaInfo.Stream.Video
编码标签名
String
CodecTag
Response.MediaInfo.Stream.Video
编码标签
String
ColorPrimaries
Response.MediaInfo.Stream.Video
色原
String
ColorRange
Response.MediaInfo.Stream.Video
色彩范围
String
ColorTransfer
Response.MediaInfo.Stream.Video
色彩通道
String
Profile
Response.MediaInfo.Stream.Video
视频编码档位
String
Height
Response.MediaInfo.Stream.Video
视频高,单位 px
String
Width
Response.MediaInfo.Stream.Video
视频宽,单位 px
String
HasBFrame
Response.MediaInfo.Stream.Video
是否有B帧。1表示有,0表示无
String
RefFrames
Response.MediaInfo.Stream.Video
视频编码的参考帧个数
String
Sar
Response.MediaInfo.Stream.Video
采样宽高比
String
Dar
Response.MediaInfo.Stream.Video
显示宽高比
String
PixFormat
Response.MediaInfo.Stream.Video
像素格式
String
FieldOrder
Response.MediaInfo.Stream.Video
场的顺序
String
Level
Response.MediaInfo.Stream.Video
视频编码等级
String
Fps
Response.MediaInfo.Stream.Video
视频帧率
String
AvgFps
Response.MediaInfo.Stream.Video
平均帧率
String
Timebase
Response.MediaInfo.Stream.Video
时基
String
StartTime
Response.MediaInfo.Stream.Video
视频开始时间,单位为秒
String
Duration
Response.MediaInfo.Stream.Video
视频时长,单位为秒
String
Bitrate
Response.MediaInfo.Stream.Video
比特率,单位为 kbps
String
NumFrames
Response.MediaInfo.Stream.Video
总帧数
String
Language
Response.MediaInfo.Stream.Video
语言
String
Container 节点 Audio 的内容(某字段未获取到有效值时不返回):
节点名称(关键字)
父节点
描述
类型
Index
Response.MediaInfo.Stream.Audio
该流的编号
String
CodecName
Response.MediaInfo.Stream.Audio
编解码格式名字
String
CodecLongName
Response.MediaInfo.Stream.Audio
编解码格式的详细名字
String
CodecTimeBase
Response.MediaInfo.Stream.Audio
编码时基
String
CodecTagString
Response.MediaInfo.Stream.Audio
编码标签名
String
CodecTag
Response.MediaInfo.Stream.Audio
编码标签
String
SampleFmt
Response.MediaInfo.Stream.Audio
采样格式
String
SampleRate
Response.MediaInfo.Stream.Audio
采样率
String
Channel
Response.MediaInfo.Stream.Audio
通道数量
String
ChannelLayout
Response.MediaInfo.Stream.Audio
通道格式
String
Timebase
Response.MediaInfo.Stream.Audio
时基
String
StartTime
Response.MediaInfo.Stream.Audio
音频开始时间,单位秒
String
Duration
Response.MediaInfo.Stream.Audio
音频时长,单位秒
String
Bitrate
Response.MediaInfo.Stream.Audio
比特率,单位 kbps
String
Language
Response.MediaInfo.Stream.Audio
语言
String
Container 节点 Subtitle 的内容:
节点名称(关键字)
父节点
描述
类型
Index
Response.MediaInfo.Stream.Subtitle
该流的编号
String
Language
Response.MediaInfo.Stream.Subtitle
语言,und 表示无查询结果
String

错误码

该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。

实际案例

请求

GET /for-test.mp4?ci-process=videoinfo HTTP/1.1
Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Fri, 10 Mar 2016 09:45:46 GMT
Authorization: q-sign-algorithm=sha1&q-ak=***************************************&q-key-time=1484213027;32557109027&q-header-list=host&q-url-param-list=acl&q-signature=****************************************
Content-Length: 0

响应

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 666
Connection: keep-alive
Date: Fri, 10 Mar 2016 09:45:46 GMT
Server: tencent-ci
x-cos-request-id: NTg3NzRiMjVfYmRjMzVfMTViMl82ZGZmNw==


<Response>
<MediaInfo>
<Format>
<Bitrate>1014.950000</Bitrate>
<Duration>10.125000</Duration>
<FormatLongName>QuickTime / MOV</FormatLongName>
<FormatName>mov,mp4,m4a,3gp,3g2,mj2</FormatName>
<NumProgram>0</NumProgram>
<NumStream>2</NumStream>
<Size>1284547</Size>
<StartTime>0.000000</StartTime>
</Format>
<Stream>
<Audio>
<Bitrate>70.451000</Bitrate>
<Channel>1</Channel>
<ChannelLayout>mono</ChannelLayout>
<CodecLongName>AAC (Advanced Audio Coding)</CodecLongName>
<CodecName>aac</CodecName>
<CodecTag>0x6134706d</CodecTag>
<CodecTagString>mp4a</CodecTagString>
<CodecTimeBase>1/44100</CodecTimeBase>
<Duration>0.440294</Duration>
<Index>1</Index>
<Language>und</Language>
<SampleFmt>fltp</SampleFmt>
<SampleRate>44100</SampleRate>
<StartTime>0.000000</StartTime>
<Timebase>1/44100</Timebase>
</Audio>
<Subtitle/>
<Video>
<AvgFps>24/1</AvgFps>
<Bitrate>938.164000</Bitrate>
<CodecLongName>H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10</CodecLongName>
<CodecName>h264</CodecName>
<CodecTag>0x31637661</CodecTag>
<CodecTagString>avc1</CodecTagString>
<CodecTimeBase>1/12288</CodecTimeBase>
<ColorPrimaries>unknown</ColorPrimaries>
<ColorRange>unknown</ColorRange>
<ColorTransfer>unknown</ColorTransfer>
<Dar>40:53</Dar>
<Duration>0.124416</Duration>
<Fps>24.500000</Fps>
<HasBFrame>2</HasBFrame>
<Height>1280</Height>
<Index>0</Index>
<Language>und</Language>
<Level>32</Level>
<NumFrames>243</NumFrames>
<PixFormat>yuv420p</PixFormat>
<Profile>High</Profile>
<RefFrames>1</RefFrames>
<Sar>25600:25599</Sar>
<StartTime>0.000000</StartTime>
<Timebase>1/12288</Timebase>
<Width>966</Width>
</Video>
</Stream>
</MediaInfo>
</Response>