[FFmpeg-devel] Adding Webvtt in hls muxer

Deron deron at pagestream.org
Sat Feb 21 16:05:40 CET 2015


On 2/15/15 5:44 AM, Anshul wrote:
>
> attached another cleaned patch.
>
> -Anshul

Not sure if I should be posting here, privately, or do the user list 
since it is an unaccepted patch... This patch applies cleanly to ffmpeg 
git of that day, and with minor adjustment to current git, but either 
crashes the same for me right away. Here is the back trace from gdb:


Program received signal SIGSEGV, Segmentation fault.
__GI___libc_realloc (oldmem=0x70, bytes=8) at malloc.c:2977
2977    malloc.c: No such file or directory.
(gdb) bt
#0  __GI___libc_realloc (oldmem=0x70, bytes=8) at malloc.c:2977
#1  0x00007ffff7609b99 in avformat_new_stream (s=s at entry=0xe2dbc0, 
c=c at entry=0x0) at libavformat/utils.c:3655
#2  0x00007ffff75451c4 in hls_mux_init (s=0x6787c0) at 
libavformat/hlsenc.c:194
#3  hls_write_header (s=0x6787c0) at libavformat/hlsenc.c:490
#4  0x00007ffff75999ec in avformat_write_header (s=s at entry=0x6787c0, 
options=0x6a9948) at libavformat/mux.c:406
#5  0x0000000000424c00 in transcode_init () at ffmpeg.c:3096
#6  0x0000000000407581 in transcode () at ffmpeg.c:3815
#7  main (argc=13, argv=0x7fffffffe5a8) at ffmpeg.c:4022


The command (I've tried all sorts of combinations. If I don't provide a 
subtitle stream, it does not crash. Otherwise it does. Unpatched can 
generate a webvtt from the subtitle stream without crashing.)

ffmpeg -loglevel debug -f lavfi -i movie=out.ts\[out0+subcc\] -f hls 
-hls_segment_filename /var/www/html/stream/kota/v.low.%d.ts 
-hls_subtitle_path /var/www/html/stream/kota/ -y 
/var/www/html/stream/kota/v.low.m3u8


And uncut output:

ffmpeg version N-69996-gac7128a Copyright (c) 2000-2015 the FFmpeg 
developers
   built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
   configuration: --enable-shared --enable-gpl --enable-nonfree 
--enable-libxvid --enable-libx264 --enable-libmp3lame --enable-libvorbis 
--enable-libfaac --enable-libopenjpeg --enable-librtmp --enable-libx265 
--disable-stripping
   libavutil      54. 19.100 / 54. 19.100
   libavcodec     56. 25.100 / 56. 25.100
   libavformat    56. 23.100 / 56. 23.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5. 11.100 /  5. 11.100
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging 
level) with argument 'debug'.
Reading option '-f' ... matched as option 'f' (force format) with 
argument 'lavfi'.
Reading option '-i' ... matched as input file with argument 
'movie=out.ts[out0+subcc]'.
Reading option '-f' ... matched as option 'f' (force format) with 
argument 'hls'.
Reading option '-hls_segment_filename' ... matched as AVOption 
'hls_segment_filename' with argument 
'/var/www/html/stream/kota/v.low.%d.ts'.
Reading option '-hls_subtitle_path' ... matched as AVOption 
'hls_subtitle_path' with argument '/var/www/html/stream/kota/'.
Reading option '-y' ... matched as option 'y' (overwrite output files) 
with argument '1'.
Reading option '/var/www/html/stream/kota/v.low.m3u8' ... matched as 
output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input file movie=out.ts[out0+subcc].
Applying option f (force format) with argument lavfi.
Successfully parsed a group of options.
Opening an input file: movie=out.ts[out0+subcc].
detected 8 logical cores
[Parsed_movie_0 @ 0x24a8bc0] Setting 'filename' to value 'out.ts'
[mpegts @ 0x24aac60] Format mpegts probed with size=2048 and score=100
[mpegts @ 0x24aac60] stream=0 stream_type=2 pid=100 prog_reg_desc=
[mpegts @ 0x24aac60] stream=1 stream_type=81 pid=101 prog_reg_desc=
[mpegts @ 0x24aac60] Before avformat_find_stream_info() pos: 0 bytes 
read:32768 seeks:0
[mpegts @ 0x24aac60] All programs have pmt, headers found
[mpegts @ 0x24aac60] All info found
rfps: 60.000000 0.000031
     Last message repeated 1 times
rfps: 120.000000 0.000126
     Last message repeated 1 times
rfps: 240.000000 0.000504
     Last message repeated 1 times
rfps: 59.940060 0.000000
     Last message repeated 1 times
[mpegts @ 0x24aac60] After avformat_find_stream_info() pos: 0 bytes 
read:905360 seeks:2 frames:53
[Parsed_movie_0 @ 0x24a8bc0] seek_point:0 format_name:(null) 
file_name:out.ts stream_index:-1
[AVFilterGraph @ 0x24a8a20] query_formats: 2 queried, 1 merged, 0 
already done, 0 delayed
[lavfi @ 0x24a9320] All info found
rfps: 60.000000 0.000032
     Last message repeated 1 times
rfps: 120.000000 0.000127
     Last message repeated 1 times
rfps: 240.000000 0.000509
     Last message repeated 1 times
rfps: 59.940060 0.000000
     Last message repeated 1 times
[lavfi @ 0x24a9320] Setting avg frame rate based on r frame rate
Input #0, lavfi, from 'movie=out.ts[out0+subcc]':
   Duration: N/A, start: 2.117867, bitrate: N/A
     Stream #0:0, 21, 1/90000: Video: rawvideo (I420 / 0x30323449), 
yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1/90000, 59.94 fps, 59.94 tbr, 90k 
tbn, 90k tbc
     Stream #0:1, 20, 1/90000: Subtitle: eia_608
Successfully opened the file.
Parsing a group of options: output file 
/var/www/html/stream/kota/v.low.m3u8.
Applying option f (force format) with argument hls.
Successfully parsed a group of options.
Opening an output file: /var/www/html/stream/kota/v.low.m3u8.
Successfully opened the file.
[graph 0 input from stream 0:0 @ 0x2c86d20] Setting 'video_size' to 
value '1280x720'
[graph 0 input from stream 0:0 @ 0x2c86d20] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0x2c86d20] Setting 'time_base' to value 
'1/90000'
[graph 0 input from stream 0:0 @ 0x2c86d20] Setting 'pixel_aspect' to 
value '1/1'
[graph 0 input from stream 0:0 @ 0x2c86d20] Setting 'sws_param' to value 
'flags=2'
[graph 0 input from stream 0:0 @ 0x2c86d20] Setting 'frame_rate' to 
value '60000/1001'
[graph 0 input from stream 0:0 @ 0x2c86d20] w:1280 h:720 pixfmt:yuv420p 
tb:1/90000 fr:60000/1001 sar:1/1 sws_param:flags=2
[format @ 0x249e780] compat: called with 
args=[yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16]
[format @ 0x249e780] Setting 'pix_fmts' to value 
'yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16'
[AVFilterGraph @ 0x2c860e0] query_formats: 4 queried, 3 merged, 0 
already done, 0 delayed
[libx264 @ 0x2507880] using mv_range_thread = 24
[libx264 @ 0x2507880] using SAR=1/1
[libx264 @ 0x2507880] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x2507880] profile High, level 3.2
*** Error in `ffmpeg': realloc(): invalid pointer: 0x00007f7b6e2bfba0 ***
Aborted (core dumped)

Deron



More information about the ffmpeg-devel mailing list