我使用MediaCodec
編碼攝像頭的視頻設置:什麼是有效的比特率用於MediaCodec
MediaFormat format = MediaFormat.createVideoFormat("video/avc", width, height);
format.setInteger(MediaFormat.KEY_BIT_RATE, 250000);
format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 1);
format.setInteger(MediaFormat.KEY_FRAME_RATE, 15);
format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
_mediaCodec.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
什麼我發現的是,根據該決議,我給它有一些最低有效比特率來設置。如果我設置了低於這個數值的比特率,它完全被忽略。如果我將比特率設置在這個不可見的閾值之上,它將按預期工作。我想要做的是查詢我可以爲KEY_BIT_RATE
設置的最小比特率是用於任何給定的分辨率。當我設置一個沒有任何影響的比特率時,不會引發任何錯誤或任何錯誤。
這似乎並沒有真正回答這個問題。 CDD表示設備必須支持以最低比特率進行編碼,但這並不意味着設備不允許低於最低要求的比特率。最低要求在那裏,因此可以保證達到一定的質量水平。 – cyngus 2015-06-27 01:24:59
同意該文件描述了對硬件設備的要求,而不是對應用程序的要求。 – Ernest 2016-01-19 11:40:14