Медиакодек 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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