[FFmpeg-trac] #9719(undetermined:new): FFmpeg HLS output with subtitles results in segmentation fault starting from 5.x
FFmpeg
trac at avcodec.org
Thu Apr 7 16:04:11 EEST 2022
#9719: FFmpeg HLS output with subtitles results in segmentation fault starting
from 5.x
-------------------------------------+-------------------------------------
Reporter: wout | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
I am trying to create a HLS output for multiple video, audio and
subtitles. I map the lowest video stream (0:v:2) multiple times to allow
using it in the `var_stream_map` for subtitle only entries. This is needed
because I cannot specify an entry without a video (for example
"s:0,name:en,sgroup:subtitle,language:en,default:NO" is not allowed)
{{{
ffmpeg -re -fflags +genpts -i /path/to/multilang.mp4 -i /path/to/en.vtt -i
/path/to/it.vtt -i /path/to/de.vtt -i /path/to/ru.vtt -i /path/to/fa.vtt
-i /path/to/da.vtt -i /path/to/es.vtt -i /path/to/hr.vtt -c:a copy -c:v
copy -c:s webvtt -map 1:s:0 -map 2:s:0 -map 3:s:0 -map 4:s:0 -map 5:s:0
-map 6:s:0 -map 7:s:0 -map 8:s:0 -map 0:v:2 -map 0:v:2 -map 0:v:2 -map
0:v:2 -map 0:v:2 -map 0:v:2 -map 0:v:2 -map 0:v:2 -map 0:a:0 -map 0:a:1
-map 0:a:2 -map 0:a:3 -map 0:a:4 -map 0:a:5 -map 0:a:6 -map 0:v:0 -map
0:v:1 -map 0:v:2 -map 0:v:3 -map 0:v:4 -max_interleave_delta 10000000
-muxdelay 0 -f hls -var_stream_map
"a:0,name:en_audio,agroup:audio,language:en,default:YES
a:1,name:it_audio,agroup:audio,language:it,default:NO
a:2,name:ru_audio,agroup:audio,language:ru,default:NO
a:3,name:ar_audio,agroup:audio,language:ar,default:NO
a:4,name:da_audio,agroup:audio,language:da,default:NO
a:5,name:sw_audio,agroup:audio,language:sw,default:NO
a:6,name:zh_audio,agroup:audio,language:zh,default:NO
v:0,name:en,s:0,sgroup:subtitle,language:en,default:NO
v:1,name:it,s:1,sgroup:subtitle,language:it,default:NO
v:2,name:de,s:2,sgroup:subtitle,language:de,default:NO
v:3,name:ru,s:3,sgroup:subtitle,language:ru,default:NO
v:4,name:fa,s:4,sgroup:subtitle,language:fa,default:NO
v:5,name:da,s:5,sgroup:subtitle,language:da,default:NO
v:6,name:es,s:6,sgroup:subtitle,language:es,default:NO
v:7,name:hr,s:7,sgroup:subtitle,language:hr,default:NO
v:8,name:1080p,agroup:audio v:9,name:720p,agroup:audio
v:10,name:480p,agroup:audio v:11,name:360p,agroup:audio
v:12,name:240p,agroup:audio" -master_pl_name master.m3u8
-hls_delete_threshold 4 -hls_segment_filename "/path/to/hls/%v_%d.ts"
-hls_start_number_source datetime -hls_time 10 -hls_init_time 10
-hls_list_size 6 -hls_flags
delete_segments+independent_segments+round_durations
"/path/to/hls/%v.m3u8"
}}}
This worked perfectly in previous FFmpeg versions, but starting from 5.0.0
this results in a segmentation fault:
{{{
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000056073c3a6edd in ff_write_chained (dst=0x56073f3eda40,
dst_stream=-1, pkt=0x56073ea5d4c0, src=<optimized out>, interleave=0) at
libavformat/mux.c:1310
}}}
I think it is caused by the following commit:
https://github.com/FFmpeg/FFmpeg/commit/2f710734c878b95eaeb9b84b0b5f367ab976c1bd
Without the whole subtitles part, the command runs without an issue.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9719>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list