Android 8.0以上 MTK Camera视频画质分辨率配置以及media_profiles.xml解析

从Android 8.0开始,media_profiles.xml/media_profiles_ducam.xml(双摄项目)成为了配置视频画质、格式、帧率等参数的文件了,而不同于之前7.0上放在MediaProflie.cpp中配置了。

1.确认codec格式及目前的支持情况

//支持mp4/3gp这两种文件格式
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
//帧率30、60
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
//摄像头id 0、1、2
<!ATTLIST EncoderProfile cameraId (0|1|2) #REQUIRED>
//视频编码格式
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
//视频输出文件格式mp4、3gp
<!ELEMENT EncoderOutputFileFormat EMPTY>
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>

2.CamcorderProfiles

0是后摄 1是前摄 2是双后摄中的副摄像头 3是双前摄中的副摄像头如果需要添加cameraId,直接copy整个cameraID目录下的item并按需要修改特定的item即可

<CamcorderProfiles cameraId="0">
<CamcorderProfiles cameraId="1">
<CamcorderProfiles cameraId="2">
每一个都是一个组合,包含了很多item,里面包含很多组参数

3.具体参数

在Android O中,在CamcorderProfiles组合中如果要添加新的item,quality的值一定要在/frameworks/av/media/libmedia/MediaProfiles.cpp的const MediaProfiles::NameToTagMap MediaProfiles::sCamcorderQualityNameMap[]中能够找到,而且不能自行在此map表中添加,否则会VTS 测试fail。

<CamcorderProfiles>
        //format表示文件格式,格式可以直接改为MPEG4,duration在limitation限制的APP中有用(比如彩信),30代表30s
        <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
            <Video codec="h263" //codec格式h263,可改成支持的格式h263、h264、MPEG4
                   bitRate="192000"
                   width="176" //宽
                   height="144" //高
                   frameRate="20" /> //视频帧率
             <Audio codec="aac" //audio codec格式
                   bitRate="128000"
                   sampleRate="48000"
                   channels="2" />
        </EncoderProfile>
        <EncoderProfile quality="qvga" fileFormat="3gp" duration="30">
            <Video codec="m4v"
                   bitRate="1000000"
                   width=
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值