Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo puedo alimentar unidades H.264 NAL a Android MediaCodec para la decodificación?

Estoy tratando de averiguar cómo usar la clase MediaCodec de Android para decodificar el vídeo H.264. Para empezar, estoy tratando de analizar manualmente las unidades NAL fuera de un archivo H.264 y alimentarlos a MediaCodec para la decodificación. Creo que estoy analizando las unidades NAL fuera del archivo correctamente (la búsqueda de 0x00 0x00 secuencia 0x01 en el archivo, indica el inicio de una unidad NAL), pero MediaCodec siempre veces fuera y devuelve -1 cada vez que hago una llamada a dequeueOutputBuffer (). ¿Alguien sabe las especificaciones de cómo alimentar unidades H.264 NAL a MediaCodec para la decodificación? ¿Se supone que debo quitar la secuencia 0x00 0x00 0x01 antes de enviar una unidad NAL? ¿Necesito ignorar / eliminar ciertos tipos de unidades NAL? ¿Necesito agregar previamente la información SPS y PPS extraída (con o sin la secuencia 0x00 0x00 0x01) antes de cada unidad NAL? Estoy jugando con un montón de ideas aquí y ninguno de ellos es panning. Cualquier orientación en este ámbito sería muy apreciada.

2 Solutions collect form web for “¿Cómo puedo alimentar unidades H.264 NAL a Android MediaCodec para la decodificación?”

En cuanto a lo que he experimentado, el decodificador volverá -1 en dequeueOutputBuffer () siempre y cuando no se le da el sps / pps info. Cuando lo hace, el decodificador debe devolver con el indicador INFO_OUTPUT_FORMAT_CHANGED (-2) en dequeueOutputBuffer () y, después de eso, devolverá correctamente tramas descodificadas.

Si el decodificador todavía devuelve -1, intente agregar la información sps / pps al decodificador con el indicador BUFFER_FLAG_CODEC_CONFIG.

AFAIK usted necesita tomar la cabecera hacia fuera tan bien como la alimentación él con SPS / PSS como primeros amortiguadores, pero conseguir -1 no es una gran cosa que será un behaivour normal. Algunos dispositivos se bloquean si no son alimentados por SPS / PPS antes de que los otros NAL

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.