a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

camera錄制視頻的縮略圖獲取原理心得分享

2020-04-11 12:17:03
字體:
來源:轉載
供稿:網友
1、在thumbnail.java文件里通過調用bitmap = retriever.getFrameAtTime(-1);
這句代碼得到bitmap,

2、那么這句代碼在MediaMetadataRetriever.java 中調用
getFrameAtTime(timeUs, OPTION_CLOSEST_SYNC)這句代碼:
解釋一下timeUs,和OPTION_CLOSEST_SYNC這2個變量的含義
timeUs The time position where the frame will be retrieved.
* When retrieving the frame at the given time position, there is no
* guarentee that the data source has a frame located at the position.
* When this happens, a frame nearby will be returned. If timeUs is
* negative, time position and option will ignored, and any frame
* that the implementation considers as representative may be returned

3.由于timeUs等于-1,那么在stagefrightMetadataRetriver.cpp中通過
extractVideoFrameWithCodecFlags()函數
復制代碼 代碼如下:

if (frameTimeUs < 0) {
if (!trackMeta->findInt64(kKeyThumbnailTime, &thumbNailTime)
|| thumbNailTime < 0) {
thumbNailTime = 0;
}
options.setSeekTo(thumbNailTime, mode);
}else{
...................
}

取得thumbnailTime,
thumbnailTime是取同步幀中最大一幀數據,即有可能不是視頻文件的第一個I幀。

4.extractVideoFrameWithCodecFlags()函數中,接著第3條,然后調用err = decoder->read(&buffer, &options);這句代碼,其options->seekMode為SEEK_CLOSEST_SYNC這個值

5.如果video codec是mpeg4,則調用MPEG4Extractor.cpp中的read()的函數,
根據前面thumnailtime,找到此時間點的vidoe frame index,然后通過 video frame index,再找臨近的同步幀(即I幀)

6.SampleTable.cpp中findSyncSampleNear()函數中,找臨近同步幀,
視頻文件中會存有所有的同步幀,這個同步幀也有可能是這個同步幀數組中第一個值,也有可能在第5步中得到的video frame index,也有可能位于2個同步幀之間,那么我們通過計算找到這2個同步幀最靠近video frame index的一個同步幀

7.通過上述步驟,找到同步幀,那么根據這個同步幀生成thumbnail的bitmap。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品久久网站 | 噜噜av | 亚洲最大成人免费视频 | 国产成人久久精品一区二区三区 | 久久人妖| 亚洲欧洲一区二区 | 久久午夜精品 | www.久久精品 | 国内精品一区二区 | 欧美变态网站 | 免费一区在线 | 午夜精品久久久久久久男人的天堂 | 亚洲成人一区二区三区 | 成人中文视频 | 一级毛片免费视频 | 五月天久久激情 | 亚洲美女视频在线观看 | 91在线高清观看 | 麻豆免费短视频 | 国产91在线网站 | 激情视频区 | 在线日韩视频 | 中文字幕免费 | 中文字幕天堂 | 亚洲精品在线网址 | 夜本色 | 亚洲精品做爰大胆视频在线 | 色综合免费| 超碰免费观看 | 日本三级做a全过程在线观看 | 一区二区三区四区在线 | 欧美日韩在线观看一区二区三区 | 在线观看av不卡 | 99爱视频 | 亚洲欧美一区二区三区久久 | 亚洲另类视频 | 亚洲精品在线网站 | 欧美小视频在线观看 | 成年人视频在线免费观看 | 久久国产精品久久久久久 | 久久久久久久999 |