Transcodificación de secuencias HD RTP/UDP con FFMPEG

Transcodificación de secuencias HD RTP/UDP con FFMPEG

Tengo un transmisor Tera STI440 con dos entradas utilizadas (para transmisión de canales de TV). Cuando miro la transmisión fuente, parece estar bien, pero cuando inicio la transcodificación FFMPEG, la imagen colapsará en momentos aleatorios (probablemente cada 5 a 15 segundos). La transcodificación está bien con transmisiones SD 480P.

ffprobeuna de mis transmisiones HD:

Input #0, rtp, from 'rtp://239.192.24.3:1234/':
  Duration: N/A, start: 18002.926656, bitrate: N/A
  Program 202 
    Metadata:
      service_name    : M5 HD
      service_provider: Magyar Televizio
    Stream #0:1: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:0(hun): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 enter code herekb/s

ffprobeuno de mis flujos SD (que funciona correctamente):

Input #0, rtp, from 'rtp://239.192.24.4:1234/':
  Duration: N/A, start: 51003.435044, bitrate: N/A
  Program 203 
    Metadata:
      service_name    : RTL Klub
      service_provider: Magyar RTL Telev�zi� Zrt.
    Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg, top first), 720x576 [SAR 12:11 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1(hun): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp

Quiero hacer una transmisión HLS, así que ejecuté este comando para ffmpeg:

/usr/bin/ffmpeg -loglevel 16 -i rtp://239.192.24.3:1234/ -s pal -c:v libx264 -c:a libmp3lame -b:v 1000k -b:a 96k -ar 44100 -vf 'yadif=0:-1:1' -preset:v superfast -f hls -hls_time 7 -hls_list_size 10 -hls_wrap 10 -hls_base_url http://10.3.1.3:8080/ts/ -hls_segment_filename /tvman/hls_out/ts/M5_hq_%03d /tvman/hls_out/subplaylist/M5-hq.m3u8

Accedo al archivo de lista de reproducción desde NGINX pero también probé Apache. Aquí hay un registro del proceso FFMPEG (nivel de registro 16)

Hice algunos diagnósticos:

  • Busqué tráfico de red (es de alrededor de 60 Mbps, por lo que debería estar bien con una red Ethernet de 100 Mbps).
  • CPU y RAM cargan bien
  • Reduje el tráfico de la red apagando las transmisiones de canales de TV en el transmisor. Era alrededor de 6-7 Mbps.

Si necesitas más información te la proporciono.

información relacionada