[FFmpeg-user] buffer underflow - processing VOB files

Bob DeCarlo bobs2002mail at yahoo.com
Thu Aug 2 18:58:50 EEST 2018


Thanks for the initial feedback....
I switched back to Linux where I can build various versions of the code checked out from git.  

The issue is reproduced at node:
0b86ea03d8415b5a3a6b07f3012a8097bca26ea5

This node seems OK ( the same sha as the OK zeranoe build) :
e5819fa62930966e6fb905cef21c985b91631d87

Unfortunately, the commit nodes I tested between the two stated above resulted as core dumps (WIP perhaps?).  Therefore it will be more difficult to isolate the problem to a specific commit. There are about 28 commits between the two.

$ ./ffmpeg -i ~/Videos/in.VOB -ss 50 -target ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -y out.VOB -v debug
ffmpeg version N-90519-g91bb871376 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=./ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I./ffmpeg_build/include --extra-ldflags=-L./ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=./bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
  libavutil      56. 12.100 / 56. 12.100
  libavcodec     58. 16.100 / 58. 16.100
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 13.100 /  7. 13.100
  libswscale      5.  0.102 /  5.  0.102
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Splitting the commandline.
Reading option '-i' ... matched as input url with argument '/home/jti/Videos/in.VOB'.
Reading option '-ss' ... matched as option 'ss' (set the start time offset) with argument '50'.
Reading option '-target' ... matched as option 'target' (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50" with optional prefixes "pal-", "ntsc-" or "film-")) with argument 'ntsc-dvd'.
Reading option '-flags' ... matched as AVOption 'flags' with argument '+cgop+ilme+ildct'.
Reading option '-alternate_scan' ... matched as AVOption 'alternate_scan' with argument '1'.
Reading option '-top' ... matched as option 'top' (top=1/bottom=0/auto=-1 field first) with argument '1'.
Reading option '-g' ... matched as AVOption 'g' with argument '15'.
Reading option '-sc_threshold' ... matched as AVOption 'sc_threshold' with argument '1000000000'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Reading option 'out.VOB' ... matched as output url.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url /home/jti/Videos/in.VOB.
Successfully parsed a group of options.
Opening an input file: /home/jti/Videos/in.VOB.
[NULL @ 0x562f8b323c80] Opening '/home/jti/Videos/in.VOB' for reading
[file @ 0x562f8b3247c0] Setting default whitelist 'file,crypto'
[mpeg @ 0x562f8b323c80] Format mpeg probed with size=2048 and score=26
[mpeg @ 0x562f8b323c80] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:0
[mpeg @ 0x562f8b323c80] probing stream 1 pp:2500
[mpeg @ 0x562f8b323c80] Probe with size=2011, packets=1 detected mpegvideo with score=25
[mpeg @ 0x562f8b323c80] probed stream 1
[mpeg2video @ 0x562f8b327ac0] Format yuv420p chosen by get_format().
[mpeg @ 0x562f8b323c80] max_analyze_duration 5000000 reached at 5005000 microseconds st:1
[mpeg @ 0x562f8b323c80] start time for stream 0 is not set in estimate_timings_from_pts
[mpeg @ 0x562f8b323c80] After avformat_find_stream_info() pos: 0 bytes read:3625104 seeks:2 frames:298
Input #0, mpeg, from '/home/jti/Videos/in.VOB':
  Duration: 00:02:53.86, start: 0.528033, bitrate: 6494 kb/s
    Stream #0:0[0x1bf], 0, 1/90000: Data: dvd_nav_packet, 0/1
    Stream #0:1[0x1e0], 152, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(tv, top first, left), 720x480 [SAR 32:27 DAR 16:9], 0/1, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0x80], 146, 1/90000: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
Successfully opened the file.
Parsing a group of options: output url out.VOB.
Applying option ss (set the start time offset) with argument 50.
Applying option target (specify target file type ("vcd", "svcd", "dvd", "dv" or "dv50" with optional prefixes "pal-", "ntsc-" or "film-")) with argument ntsc-dvd.
Applying option top (top=1/bottom=0/auto=-1 field first) with argument 1.
Successfully parsed a group of options.
Opening an output file: out.VOB.
[file @ 0x562f8b3fc840] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 8 logical cores
Stream mapping:
  Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
  Stream #0:2 -> #0:1 (ac3 (native) -> ac3 (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
*** stack smashing detected ***: <unknown> terminated
Aborted (core dumped)



------------------------------------------------------------------------------------------------


More information about the ffmpeg-user mailing list