控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

诚邀爱技术、爱分享的你,成为文档内容共建者> HOT

简介

本文档提供关于媒体信息接口的 API 概览和 SDK 示例代码。

注意:

需要 COS PYTHON SDK v5.1.9.11 及以上版本。

API 操作名 操作描述
GetMediaInfo 查询文件信息 用于查询媒体文件的信息
注意:

使用此接口前,请确保已打开官网控制台中数据处理下的媒体处理开关,否则会报错media bucket unbinded, bucket's host is unavailable。详情请参见 开通媒体处理

查询文件信息

功能说明

用于查询媒体文件的信息。

方法原型

def get_media_info(Bucket, Key, **kwargs)

请求示例

response = client.get_media_info(
    Bucket=bucket_name,
    Key='demo.mp4'
)
print(response)

参数说明

参数名称 参数描述 是否必填 类型
Bucket 存储桶名称,格式为 BucketName-APPID ,详情请参见 命名规范 String
Key 对象键(Key)是对象在存储桶中的唯一标识。 String

返回结果说明

{
    'MediaInfo': [{
        'Format': {
            'Bitrate': '16869.432000',
            'Duration': '129.200000',
            'FormatLongName': 'QuickTime / MOV',
            'FormatName': 'mov,mp4,m4a,3gp,3g2,mj2',
            'NumProgram': '0',
            'NumStream': '2',
            'Size': '272441346',
            'StartTime': '0.000000'
        },
        'Stream': {
            'Audio': {
                'Bitrate': '125.712000',
                'Channel': '2',
                'ChannelLayout': 'stereo',
                'CodecLongName': 'AAC (Advanced Audio Coding)',
                'CodecName': 'aac',
                'CodecTag': '0x6134706d',
                'CodecTagString': 'mp4a',
                'CodecTimeBase': '1/44100',
                'Duration': '129.160998',
                'Index': '0',
                'Language': 'und',
                'SampleFmt': 'fltp',
                'SampleRate': '44100',
                'StartTime': '0.000000',
                'Timebase': '1/44100'
            },
            'Subtitle': None,
            'Video': {
                'AvgFps': '30/1',
                'Bitrate': '16738.543000',
                'CodecLongName': 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10',
                'CodecName': 'h264',
                'CodecTag': '0x31637661',
                'CodecTagString': 'avc1',
                'CodecTimeBase': '1/600',
                'Duration': '129.200000',
                'Fps': '30.500000',
                'HasBFrame': '1',
                'Height': '1920',
                'Index': '1',
                'Language': 'und',
                'Level': '40',
                'NumFrames': '3876',
                'PixFormat': 'yuvj420p',
                'Profile': 'High',
                'RefFrames': '1',
                'Rotation': '0.000000',
                'StartTime': '0.000000',
                'Timebase': '1/600',
                'Width': '1080'
            }
        }
    }]
}

具体的数据内容如下:

MediaInfo 的内容:

节点名称(关键字) 父节点 描述 类型
Stream MediaInfo 流信息 dict
Format MediaInfo 格式信息 dict

Stream 的内容:

节点名称(关键字) 父节点 描述 类型
Video MediaInfo.Stream 视频信息 dict
Audio MediaInfo.Stream 音频信息 dict
Subtitle MediaInfo.Stream 字幕信息 dict

Format 的内容(查询视频信息时,可能部分字段未返回):

节点名称(关键字) 父节点 描述 类型
NumStream MediaInfo.Format Stream(包含 Video、Audio、Subtitle)的数量 String
NumProgram MediaInfo.Format 节目的数量 String
FormatName MediaInfo.Format 容器格式名字 String
FormatLongName MediaInfo.Format 容器格式的详细名字 String
StartTime MediaInfo.Format 起始时间,单位为秒 String
Duration MediaInfo.Format 时长,单位为秒 String
Bitrate MediaInfo.Format 比特率,单位为 kbps String
Size MediaInfo.Format 大小,单位为 Byte String

Video 的内容(查询视频信息时,可能部分字段未返回):

节点名称(关键字) 父节点 描述 类型
Index MediaInfo.Stream.Video 该流的编号 String
CodecName MediaInfo.Stream.Video 编解码格式名字 String
CodecLongName MediaInfo.Stream.Video 编解码格式的详细名字 String
CodecTimeBase MediaInfo.Stream.Video 编码时基 String
CodecTagString MediaInfo.Stream.Video 编码标签名 String
CodecTag MediaInfo.Stream.Video 编码标签 String
Profile MediaInfo.Stream.Video 视频编码档位 String
Height MediaInfo.Stream.Video 视频高,单位 px String
Width MediaInfo.Stream.Video 视频宽,单位 px String
HasBFrame MediaInfo.Stream.Video 是否有B帧。1表示有,0表示无 String
RefFrames MediaInfo.Stream.Video 视频编码的参考帧个数 String
Sar MediaInfo.Stream.Video 采样宽高比 String
Dar MediaInfo.Stream.Video 显示宽高比 String
PixFormat MediaInfo.Stream.Video 像素格式 String
FieldOrder MediaInfo.Stream.Video 场的顺序 String
Level MediaInfo.Stream.Video 视频编码等级 String
Fps MediaInfo.Stream.Video 视频帧率 String
AvgFps MediaInfo.Stream.Video 平均帧率 String
Timebase MediaInfo.Stream.Video 时基 String
StartTime MediaInfo.Stream.Video 视频开始时间,单位为秒 String
Duration MediaInfo.Stream.Video 视频时长,单位为秒 String
Bitrate MediaInfo.Stream.Video 比特率,单位为 kbps String
NumFrames MediaInfo.Stream.Video 总帧数 String
Language MediaInfo.Stream.Video 语言 String

Audio 的内容(查询视频信息时,可能部分字段未返回):

节点名称(关键字) 父节点 描述 类型
Index MediaInfo.Stream.Audio 该流的编号 String
CodecName MediaInfo.Stream.Audio 编解码格式名字 String
CodecLongName MediaInfo.Stream.Audio 编解码格式的详细名字 String
CodecTimeBase MediaInfo.Stream.Audio 编码时基 String
CodecTagString MediaInfo.Stream.Audio 编码标签名 String
CodecTag MediaInfo.Stream.Audio 编码标签 String
SampleFmt MediaInfo.Stream.Audio 采样格式 String
SampleRate MediaInfo.Stream.Audio 采样率 String
Channel MediaInfo.Stream.Audio 通道数量 String
ChannelLayout MediaInfo.Stream.Audio 通道格式 String
Timebase MediaInfo.Stream.Audio 时基 String
StartTime MediaInfo.Stream.Audio 音频开始时间,单位秒 String
Duration MediaInfo.Stream.Audio 音频时长,单位秒 String
Bitrate MediaInfo.Stream.Audio 比特率,单位 kbps String
Language MediaInfo.Stream.Audio 语言 String

Subtitle 的内容:

节点名称(关键字) 父节点 描述 类型
Index MediaInfo.Stream.Subtitle 该流的编号 String
Language MediaInfo.Stream.Subtitle 语言,und 表示无查询结果 String
目录