0
我使用MediaCodec
將圖像編碼爲視頻。要求視頻具有亞秒的長度(例如3.5秒長)。MediaCodec亞秒視頻長度
我的想法是爲了達到這個目的,就是要確定像這樣的視頻幀率。
int lengthInMillis = 3500;
float seconds = lengthInMillis/1000f;
int ordinal = (int) seconds; // ordinal == 3
float point = seconds - ordinal;
float numFrames = seconds/point; // numFrames == 7
float fps = seconds/numFrames; // fps = 0.7
this.numFrames = (int) numFrames;
不幸的是當試圖以小於1的一個IllegalStateException
KEY_FRAME_RATE
配置MediaCodec
。所以這種方法不起作用。是否有可能使用MediaCodec
來創建一個視頻,其運行時間以幾分之一秒結束?
感謝您的回覆。因此,由於不推薦使用KEY_FRAME_RATE,因此如何編碼預定長度的視頻。我正在嘗試從用戶生成的靜止圖像創建視頻。 – redwoolf
如果您要從單個靜止圖像創建視頻,則需要對兩個幀進行編碼,將顯示時間間隔設置爲3.5秒。您可以對同一幀進行兩次編碼,或將第二幀編碼爲空白幀,以便在「播放」結束時將其重置爲黑色。 – fadden