Archivos HLS TS inesperadamente grandes

Archivos HLS TS inesperadamente grandes

A veces parece que la segmentación HLS no funciona correctamente en algunas transmisiones. Mi archivo TS crece hasta que la unidad está llena, no se produce ninguna segmentación. La mayoría de mis transmisiones funcionan perfectamente durante semanas (con la misma línea de cmd).

¿Qué sé sobre uno de mis flujos fuente problemáticos (salida FFPROBE)? https://justpaste.it/5d0px

Mi línea de cmd se ve así:

/root/bin/ffmpeg -loglevel 16 -probesize 10M -analyzeduration 10M -i http://host/streams/stream.m3u8 -map 0:1 -map 0:0 -c:a copy -c:v copy -f hls -hls_time 10 -hls_flags delete_segments -hls_base_url http://host/ts/ -hls_segment_filename /var/media/ts/stream_%03d.ts /var/media/playlist/stream.m3u8

Estoy registrando actividades FFMPEG en el archivo de registro y solo vi un error cuando mi unidad se llenó:

av_interleaved_write_frame(): No queda espacio en el dispositivo

Error al escribir el avance de /var/media/playlist/stream.m3u8: no queda espacio en el dispositivo

Probé estas versiones de FFMPEG: N-93765-gfcc01ba, 4.1.3

El archivo HLS m3u8 se ve bien, la duración es buena, pero los últimos archivos TS crecen hasta que mi disco se llena. Usando Ramdrive para almacenar archivos TS.

Editar: Alguna actualización: ejecutó FFMPEG durante un día entero con nivel de registro 48:

  • El archivo de registro es enorme, ~790 MB, por lo que compartiré solo el error que obtengo. Por supuesto si necesitas lo subo.
  • La segmentación se detuvo en el archivo de segmento 9538 (consulte la configuración de HLS más arriba). Solo veo este error cuando se detuvo la segmentación:

DTS no monótono en flujo de salida 0:0; anterior: 8584618042, actual: 307231408; cambiando a 8584618043. Esto puede dar como resultado marcas de tiempo incorrectas en el archivo de salida.

En mi servidor de producción, donde se ejecutan la mayoría de mystreams, hice un script Python simple que detecta si el archivo TS tiene más de 20 MB (los archivos TS normalmente tienen un máximo de 2 megabytes).

Aquí están mis resultados:

2019-05-21 08:02:02: /var/media/ts/tlc_9538.ts mayor que 20 MB

2019-05-21 08:02:03: /var/media/ts/eurosport_9538.ts mayor a 20MB

2019-05-21 08:02:04: /var/media/ts/digi_sport1_9538.ts mayor que 20MB

2019-05-21 09:27:01: /var/media/ts/travel_9538.ts mayor a 20MB

2019-05-21 09:48:01: /var/media/ts/digi_sport2_9538.ts mayor que 20 MB

2019-05-21 11:21:01: /var/media/ts/digi_world_9538.ts mayor que 20 MB

2019-05-21 11:22:01: /var/media/ts/history_9538.ts mayor que 20 MB

2019-05-21 12:39:01: /var/media/ts/viasat_history_9538.ts mayor que 20 MB

Como puede ver, este evento ocurre en el archivo TS 9538. ¿Hay alguna razón para eso?

información relacionada