ffmpeg h.264

errores al decodificar cuadros H.264 usando ffmpeg



(3)

Eso solo significa que ffmpeg aún no ha visto un fotograma clave, que contenga información de SPS y PPS. SPS y PPS son cruciales en la decodificación de un cuadro / sector entrante. Los fotogramas clave se envían periódicamente (es decir, cada 5-10 segundos o más); así que si resulta que se unió a una secuencia antes de que llegara el fotograma clave; Verá esta advertencia para cada fotograma hasta que aparezca un fotograma clave.

Tan pronto como el fotograma clave se muestre desde el cable, ffmpeg tendrá suficiente información para decodificar ese fotograma (y cualquier fotograma posterior hasta el siguiente fotograma clave), por lo que esas advertencias desaparecerán.

Recibo los siguientes errores al decodificar los cuadros H.264 recibidos desde el extremo remoto de una llamada de video SIP basada en H.264. Aprecio cualquier ayuda para entender los errores.

non-existing PPS 0 referenced decode_slice_header error non-existing PPS 0 referenced decode_slice_header error no frame! non-existing PPS 0 referenced decode_slice_header error non-existing PPS 0 referenced decode_slice_header error no frame!


Necesitas agregar frames sps y pps de información. ffmpeg necesita esta información para hacer la decodificación. Puede encontrar estos valores en el archivo SDP.

En el archivo SDP, debes buscar unidades NAL, puedes ver algo así como z0IAHukCwS1xIADbugAzf5GdyGQl, aM4xUg

Estos valores basados ​​en 64 codificados deben convertirlos a formato hexadecimal. Estoy utilizando wireshark y wireshark convierte estos valores para usted. Después de eso tienes los valores de sps y pps.

Ahora tienes que agregar esta información Nal antes del marco de datos.

00 00 00 01 sps 00 00 00 01 pps 00 00 00 01 datos

Para h264 estos formatos los he estado usando para decodificar.


Para decodificar un fotograma o un sector, sliceHeader se decodifica, lo que se refiere a un PPS o "Conjunto de parámetros de imagen". Tiene información sobre los detalles del marco, como el ancho, la altura, etc.

Supongo que sus datos vienen a través de un canal de entrada de transmisión, en cuyo caso SPS y PPS se habrían enviado anteriormente en la transmisión.

Es posible que tenga que concatenar lo mismo a su transmisión.