4、CTS media_profiles.xml編解碼講解

1、GMS 實踐過程總結目錄

1、media_profiles.xml解析、
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>   支持mp4/3gp這兩種視頻文件格式
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>           幀率30、60
<!ATTLIST EncoderProfile cameraId (0|1|2) #REQUIRED>          攝像頭id 0、1、2
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>             視頻編碼格式 
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED> 視頻輸出文件格式mp4、3gp

2、media_profile.xml解析 -- 每種size對應的編解碼配置

<EncoderProfile quality="low" fileFormat="3gp" duration="60">? ?
<Video codec="h264"
bitRate="128000"? ?//筆者瞭解到這個改動請跟平臺廠商聯繫,不同的視頻編解碼和size 存在速率邊界
width="176"
height="144"
frameRate="30" /> //這個有sensor和系統性能決定,有的可能支持不到30fps
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>

3、media_profile.xml解析 -- 平臺硬件支持限制

<VideoEncoderCap name="h264" enabled="true"  //編解碼264是否支持
minBitRate="64000" maxBitRate="100000000"      //不用的size對於編解碼速率不同最小最大邊界
minFrameWidth="176" maxFrameWidth="3840"    //size width 支持最小最大
minFrameHeight="144" maxFrameHeight="2160" //size height支持最小最大
minFrameRate="15" maxFrameRate="30" />         //size 幀率支持最小最大

4、編解碼分爲三種正常錄像/timelapsel延時錄像(也可以叫慢錄)/highspeed高速錄像(也可以叫快錄)

例如:low -- timelapselow --highspeedlow  具體代碼如最下

代碼地址:/frameworks/av/media/libmedia/MediaProfiles.cpp

const MediaProfiles::NameToTagMap MediaProfiles::sCamcorderQualityNameMap[] = {
{"low", CAMCORDER_QUALITY_LOW},       0
{"high", CAMCORDER_QUALITY_HIGH},     1
{"qcif", CAMCORDER_QUALITY_QCIF},       2
{"cif", CAMCORDER_QUALITY_CIF},            3
{"480p", CAMCORDER_QUALITY_480P},    4
{"720p", CAMCORDER_QUALITY_720P},    5
{"1080p", CAMCORDER_QUALITY_1080P}, 6
{"2160p", CAMCORDER_QUALITY_2160P}, 7
{"qvga", CAMCORDER_QUALITY_QVGA},   8

{"timelapselow",  CAMCORDER_QUALITY_TIME_LAPSE_LOW}, 1000
{"timelapsehigh", CAMCORDER_QUALITY_TIME_LAPSE_HIGH},1001
{"timelapseqcif", CAMCORDER_QUALITY_TIME_LAPSE_QCIF},  1002
{"timelapsecif", CAMCORDER_QUALITY_TIME_LAPSE_CIF},       1003
{"timelapse480p", CAMCORDER_QUALITY_TIME_LAPSE_480P}, 1004
{"timelapse720p", CAMCORDER_QUALITY_TIME_LAPSE_720P},1005
{"timelapse1080p", CAMCORDER_QUALITY_TIME_LAPSE_1080P},1006
{"timelapse2160p", CAMCORDER_QUALITY_TIME_LAPSE_2160P}, 1008
{"timelapseqvga", CAMCORDER_QUALITY_TIME_LAPSE_QVGA},  1007 

{"highspeedlow",  CAMCORDER_QUALITY_HIGH_SPEED_LOW}, 2000
{"highspeedhigh", CAMCORDER_QUALITY_HIGH_SPEED_HIGH},2001
{"highspeed480p", CAMCORDER_QUALITY_HIGH_SPEED_480P},2002
{"highspeed720p", CAMCORDER_QUALITY_HIGH_SPEED_720P},2003
{"highspeed1080p", CAMCORDER_QUALITY_HIGH_SPEED_1080P},2004
{"highspeed2160p", CAMCORDER_QUALITY_HIGH_SPEED_2160P},2005
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章