Combine segmentos TS de video y audio provenientes de la transmisión HLS

7

Apple HLS transmite archivos MPEG-2 TS que contienen datos de video y audio en formato de transmisión elemental empaquetado. Estos segmentos ( .tsarchivos) se pueden unir para construir el video final.

La versión reciente de HLS ahora puede producir segmentos con datos de video solo en archivos TS y datos de audio solo en otros archivos TS. Esto se utiliza para servir video en varios idiomas.

Independientemente del propio HLS, ¿cómo puedo procesar para remuxar archivos TS que contienen datos de video y audio, en un archivo TS? Unir archivos TS juntos no funciona; Obtengo datos del primer archivo TS combinado con el mismo tipo de datos de los siguientes archivos TS (solo video o audio).

Velcro
fuente
No sé lo suficiente como para dar una solución real, pero algunas lecturas parecen indicar que FFMPEG puede ser capaz de lidiar con esto.
AJ Henderson
Acabo de comprobar y sí, tienes razón. FFmpeg maneja HLS con múltiples pistas de audio. Voy a echar un vistazo a la fuente ahora.
Velcro

Respuestas:

3

Puede usar tsMuxer para agregar la transmisión de audio de un archivo .ts al archivo .ts que contiene el video o viceversa. Esto se llama muxing y no afecta la calidad del audio o video de ninguna manera.

PTS
fuente
1

¿Tienes un m3u8archivo? Si es así, supongo que puedes hacer

ffmpeg -i indexfile.m3u8 -acodec copy -vcodec copy output.ts

También puede convertirlo directamente en el contenedor mp4:

ffmpeg -i indexfile.m3u8 -acodec copy -vcodec copy output.mp4
erik
fuente
Esto no funciona cuando el indexfile.m3u8 tiene una URL independiente para el audio y una url separado para video_01.m3u8
Chovy
@chovy: ¿Puedes mostrarme ese archivo? Creo que posiblemente debería funcionar con la opción -mapy tal vez una segunda opción -ique toma el mismo archivo de entrada (en su caso video_01.m3u8).
erik
funciona si lo hagoffmpeg -i <audio-stream> -i <video-stream> -async 1 -c copy test.m3u8
chovy