1
我在Android環境中編程,我想從設備中加載視頻文件,將其拆分爲多個幀並使用一些圖像處理技術處理它們中的每一個。如何使用MediaMetaDataRetriever拆分視頻
爲了將視頻正確地分割成一個幀數組,我使用MetaDataRetriever類,在輸入文件的路徑中給它。
我的問題是,我不明白如何使用getFrameAtTime方法正確分割文件。特別是,我的代碼是:
MediaMetaDataRetriever media = new MediaMetaDataRetriever();
media.setDataSource(this.path);
String durata = media.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
int durata_millisec = Integer.parseInt(durata);
durata_video_micros = durata_millisec * 1000;
durata_secondi = durata_millisec/1000;
String bitrate = media.extractMetadata(MediaMetadataRetriever.METADATA_KEY_BITRATE); //numero bit al secondo.
int fps = 10;
int numeroFrameCaptured = fps * durata_secondi;
int i=0;
while(i<numeroFrameCaptured){
vettoreFrame[i] = media.getFrameAtTime();
}
以10的fps,我應該有10幀每秒。所以,在5秒的文件中,我應該有50個捕獲的幀。這個怎麼做?如何正確寫入while/for語句以使用getFramesAtTime方法捕獲所有這些幀?
在此先感謝。