Método de análisis de flujo de video UDP MP2T

1. Protocolo de vídeo MP2T

El video en vivo generalmente usa el protocolo MP2T (ISO/IEC 13818-1, MPEG-TS), específicamente de la siguiente manera:

 

  Los más utilizados son MP2T/RTP/UDP y MP2T/UDP, principalmente porque no es necesario retransmitir el vídeo en directo.

 Cada 7 paquetes MP2T se empaquetan en un RTP y luego cada RTP se empaqueta en un UDP. O cada 7 paquetes MP2T también se pueden empaquetar directamente como UDP. (El número de puerto UDP al que pertenece el TS está determinado por la señalización).

 Si el modo de transmisión de velocidad de video es CBR (velocidad de bits constante), si la compresión de la fuente de video real es relativamente alta o un cuadro P, entonces llene el paquete sin carga útil. Nota: VBR (tasa de bits variable)

 Paquete MP2T: PDU 188B (incluido el encabezado), encabezado 4B, los campos del encabezado son los siguientes:

sync_byte Byte de sincronización, fijado en 0x47, que indica que el siguiente es un paquete TS y los datos del paquete no aparecerán 0x47

transport_error_indicator bit de indicador de error de transporte, si el error de transmisión general, el paquete no se procesará

La función del bit payload_unit_start_indicator es un poco complicada, literalmente significa el signo de inicio de la carga útil, y la función es diferente según el contenido de la carga útil posterior.

transport_priority El bit de prioridad de transmisión, 1 significa alta prioridad, se puede usar el mecanismo de transmisión y no parece que sea necesaria la decodificación.

El PID indica el tipo de datos de carga útil en este paquete, audio o video o lista de reproducción.

La bandera de cifrado transport_scrambling_control indica el modo de cifrado de la carga útil del paquete TS. El encabezado del paquete TS (es decir, los 32 bits anteriores) no debe estar encriptado y 00 significa sin encriptar.

adapt_field_control se traduce como "Control de campo de ajuste", lo que indica si el encabezado del paquete TS va seguido de un campo de ajuste y una carga útil. 01 contiene solo la carga útil, 10 contiene solo el campo de ajuste y 11 contiene el campo de ajuste y la carga útil. Si es 00, el decodificador no lo procesa. Los grupos vacíos no tienen campos de ajuste

continuo_contador Un contador de 4 bits con un rango de 0-15, que se incrementa en 1 cada vez que se transmiten paquetes TS con el mismo PID, y se borra a 0 después de llegar a 15. Sin embargo, algunos casos no se cuentan. De la siguiente manera: (1) El paquete TS no tiene carga útil (2) El paquete TS copiado tiene el mismo valor que el paquete original (3) Cuando el indicador discontinuity_indicator es 1

adaptation_field() procesamiento de campos de ajuste

 

  

2. Análisis de pérdida de cuadros de video

1. Si el UDP está directamente encima del paquete mp2t (paquete ISO/IEC), filtre el flujo de video UDP

Ingrese la expresión de filtro udp.stream==número de flujo, guarde (Archivo->Exportar paquetes especificados).

 

  2. Si es RTP por encima de UDP, primero debe configurar la decodificación de datos en decodificación RTP

 

 3. Análisis de pérdida de cuadros de transmisión de video UDP

Verifique la información de diagnóstico de wireshark (Analyze->Expert Info), si hay información de Malform MP2T en Error.

 

 Base de juicio para pérdida de trama: El número continuo CC del mismo PID se cicla en [0, 15], y si no es continuo, significa pérdida de trama. Si hay pérdida de fotogramas, compruebe si la capa ip correspondiente (más cercana a la capa udp de vídeo) y el ip.id son continuos.

[ ip.id continuo]  La transmisión de video de la cámara provoca la pérdida de fotogramas

[ discontinuidad de ip.id es más probable que cause la pérdida de tramas debido a la pérdida de paquetes, pero se deben excluir los siguientes dos factores que causan la discontinuidad de id

  1. Nodos de enrutamiento a nivel de servicio de video modificar ip.id
  2. La cámara asigna el ip.id intermedio a otros paquetes de protocolo, como TCP/ICMP, etc. Si se agregan otros paquetes y el ip.id en el nivel comercial es continuo, la fuente de video de la cámara aún causa la pérdida de cuadros

 

3. Análisis de fluctuación de video

 4. Análisis de fluctuación de flujo de video UDP

Vea las estadísticas de E/S (Estadísticas->Gráfico de E/S), genere la tasa por ms/s y el intervalo de envío de paquetes.

Tasa de nivel de ms/s de salida (copia de punto)

 

 intervalo de paquete de salida

La tasa de nivel de ms se numera del 1 al 1, y la tasa de selección no es 0, y el número se resta antes y después, que es el intervalo (unidad: ms)

 5. Emita el valor promedio (promedio), la desviación (stdev) y el valor máximo (max) del intervalo de envío y la tasa de elementos distintos de cero

4. Análisis de restauración de video

 6. Restaurar vídeo UDP/MP2T

Seleccione un flujo de video UDP/MP2T, Analice->Seguir flujo UDP,

 

  Seleccione la dirección de los datos de video, guárdelos como Datos sin procesar y nombre el archivo como .ts.

 

  Otra nueva versión de wireshark se muestra a continuación:

 

 7. Reproduce el vídeo

Si la resolución de video es relativamente alta, es posible que esta unidad no pueda reproducirlo.

Use el reproductor de video VLC o Potplayer para reproducir, puede ver el rendimiento de esta transmisión de video.

5. Leyes de contratación de fuentes de video CCTV

 Marco datos 155KB

 

 Datos del marco P 24 KB

Supongo que te gusta

Origin blog.csdn.net/juruiyuan111/article/details/122624550
Recomendado
Clasificación