1. Introducción:
FLV es un formato de paquete que se puede usar tanto para transmisión en vivo como para VOD. FLV debe considerarse como un producto de la era 3G a principios de la era 4G, porque en ese momento limitado por la capacidad de ancho de banda y las limitaciones de almacenamiento, FLV fue favorecido por su buena calidad de imagen y tamaño más pequeño. era Con el auge del video y la transmisión en vivo, cuando el espacio de almacenamiento ya no sea el cuello de botella, FLV eventualmente será reemplazado por MP4/TS, etc. El paquete FLV tiene restricciones de codificación de audio y video relativamente estrictas, es decir, el formato de audio de FLV El empaque es principalmente AAC/MP3/ SPEEX, el video es principalmente H264 . El formato de encapsulación de FLV es relativamente simple, todos existen en forma de FLVTAG y cada TAG existe de forma independiente .
2. Introducción a FLVTAG:
1. El formato de archivo FLV se divide en dos partes: una parte es el encabezado del archivo FLV y la otra parte es el contenido del archivo FLV. El encabezado del archivo FLV se analiza de la siguiente manera:
se puede ver que cuando se considera que los tres primeros bytes del archivo de flujo de código son FLV, se considera que se trata de una encapsulación FLV.
2. Después de omitir el encabezado de encapsulación, es el contenido de encapsulación y el contenido de encapsulación del archivo se organiza de la siguiente manera:
FLV_HEADER | Tamaño preetiqueta0 | ETIQUETA1 | Tamaño preetiqueta1 | ETIQUETA2 | … |
---|---|---|---|---|---|
información de descripción del encabezado del archivo flv | el tamaño es siempre 0 (4 bytes) | 1er ETIQUETA | El tamaño de la ETIQUETA anterior: encabezado+cuerpo de la etiqueta (4 bytes) | 2ª ETIQUETA | … |
3. Diseño del encabezado de la ETIQUETA:
tag_header contiene la marca de tiempo del flujo de código y describe si el subsiguiente tag_body es un flujo de audio o de video.
4. Diseño del cuerpo de la ETIQUETA:
el cuerpo de la etiqueta debe tener diferentes palabras clave internas de acuerdo con el tipo de audio y video. Si el tipo de etiqueta es 0x09 leído desde el encabezado FLVTAG , entonces la ETIQUETA son datos de video ETIQUETA :
si se lee desde el encabezado FLVTAG si el tipo de etiqueta es 0x08 , entonces el TAG es audio :
4. Herramienta de análisis FLV:
FlvAnalyzer es una herramienta muy útil hecha por internautas. Los datos analizados son los siguientes:
5. Gracias:
La mayor parte del contenido del blog está extraído de "FFmpeg" escrito por Liu Qi y Zhao Wenjie De principiante a experto" .