Медиакодек Android декодирует данные на поверхность и сохраняет в mp4Android

Форум для тех, кто программирует под Android
Anonymous
Медиакодек Android декодирует данные на поверхность и сохраняет в mp4

Сообщение Anonymous »

  • привязать декодирование к поверхности
mediaCodecDecoder = MediaCodec.createDecoderByType(MediaFormat.MIMETYPE_VIDEO_HEVC);
mediaCodecDecoder.configure(format, surface, null, 0);
mediaCodecDecoder.start();
  • Я получил данные в формате byte[], используйте медиакодек для декодирования и отображения
int index = mediaCodecDecoder.dequeueInputBuffer(10_000);
ByteBuffer byteBuffer = mediaCodecDecoder.getInputBuffer(index);
byteBuffer.put(data);
mediaCodecDecoder.queueInputBuffer(index, 0, data.length,System.currentTimeMillis(),0);
int encoderStatus = mediaCodecDecoder.dequeueOutputBuffer(this.decodeBufferInfo, 1_000);
if(encoderStatus>0){
mediaCodecDecoder.releaseOutputBuffer(encoderStatus, true);
}


Я использую кодировщик для привязки новой поверхности, но не знаю, как заставить буфер декодирования кодировать
eglBase = EglBase.create(sharedContext, EglBase.CONFIG_RECORDABLE);
encodeSurface = encoder.createInputSurface();
eglBase.createSurface(encodeSurface );
eglBase.makeCurrent();


Подробнее здесь: https://stackoverflow.com/questions/791 ... ave-to-mp4

Вернуться в «Android»