Red de conocimiento informático - Aprendizaje de programación - Descripción de datos del encabezado de la trama del protocolo h264

Descripción de datos del encabezado de la trama del protocolo h264

Originalmente de /season_hangzhou/article/details/51123979

Los datos del encabezado de cuadro común de h264 son:

00 00 00 01?67 (SPS): SPS es el conjunto de parámetros de secuencia, También conocido como conjunto de parámetros de secuencia, SPS. SPS tiene un conjunto de parámetros globales para codificar una secuencia de vídeo. La llamada secuencia de video codificada es una secuencia estructural que codifica los datos de píxeles del video original cuadro por cuadro. Los parámetros de los que depende cada cuadro de datos codificados se almacenan en el conjunto de parámetros de la imagen. En términos generales, la unidad NAL de SPS y PPS suele estar ubicada al comienzo de todo el flujo de datos. Sin embargo, en algunos casos especiales, estas dos estructuras también pueden aparecer en medio de la transmisión. Las razones principales son las siguientes:

1: el decodificador necesita comenzar a decodificar en la mitad de la transmisión. /p>

2: El codificador cambió los parámetros de la transmisión (como la resolución de la imagen, etc.) durante el proceso de codificación;

00 00 00 01?68 (PPS): Además de el conjunto de parámetros de secuencia SPS, H.264 Otro conjunto de parámetros importante es el conjunto de parámetros de imagen (PPS). Normalmente, PPS es similar a SPS y se almacena por separado en una unidad NAL en el flujo simple de H.264, excepto que el valor nal_unit_type de la unidad PPS NAL es 8. En formatos encapsulados, PPS generalmente se almacena en el encabezado del archivo de video junto con SPS.

00 00 00 01?65 (cuadro IDR): "I cuadro" representa un cuadro clave, que puede entenderse como que este cuadro guarda completamente este cuadro y la decodificación solo se puede realizar en este cuadro (porque contiene la imagen completa)

00 00 00 01?61 (cuadro P): el cuadro P representa la diferencia entre este cuadro y el cuadro clave anterior (o cuadro P), que debe decodificarse La diferencia definida en este marco se superpone con el marco previamente almacenado en caché para generar el marco final. (El cuadro P también se llama cuadro de diferencia. No tiene datos de cuadro completos, solo los datos de diferencia del cuadro anterior)

Hay dos tipos de códigos de inicio, uno es el "00" de cuatro bytes 00" 00 01", y el otro es el "00 00 01" de tres bytes. "Ambos.

El marco H264 consta de un encabezado NALU y un cuerpo NALU. ¿Tipo?

---------------

F: 1 bit

protected_zero_bit. En la especificación H.264, este bit debe ser 0.

nal_ref_idc. NALU Por ejemplo, el decodificador puede descartar el NALU de 00 sin afectar la reproducción de la imagen; cuanto mayor es el valor, más importante es el NAL actual y el NAL actual debe protegerse primero. segmento, conjunto de parámetros de secuencia o conjunto de parámetros de imagen de un marco de referencia, este elemento de sintaxis debe ser mayor que 0

Tipo: 5 bits

nal_unit_type.

El tipo de unidad NALU (1 a 12 para H.264, 24 a 31 para aplicaciones distintas a H.264) se describe brevemente de la siguiente manera:

0 Indefinido

1-23 ? ¿Unidad NAL? Paquete de unidad NAL única

1 segmento de imagen sin particiones y sin IDR

2 segmentos de partición A

3 segmentos de partición B

4 segmentos Partición C

5 cortes en imágenes IDR

6 unidades de información de mejora suplementaria (SEI)

7 SPS

8 PPS

p>

9 Fin de secuencia

10 Fin de secuencia

11 Préstamo de flujo de código

12 Relleno

13- 23 Reservado

24 STAP-A?Combinación única de paquetes de datos

25 STAP-B?Combinación única de paquetes de datos

26 MTAP16?Múltiples combinaciones de datos paquetes

p>

27 MTAP16? p>

27 MTAP24?Múltiples paquetes de datos combinados

28 Unidad de fragmentación FU-A

29 unidad de fragmento FU -B

30-31 indefinido