Opened 3 weeks ago

Closed 3 weeks ago

#6873 closed defect (fixed)

Crash with muxing a lot of streams in Matroska

Reported by: mkver Owned by:
Priority: important Component: avformat
Version: git-master Keywords: mkv crash SIGSEGV regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

The Matroska muxer currently doesn't handle muxing a lot of tracks (a lot = 127 or more). This seems to be a design choice: Line 115 of matroskeenc.c (I'm linking to github because git.ffmpeg.org just gives me a "Reading blob failed.") claims that the maximum number of tracks allowed in a Matroska file is 126 and line 2172 says that this assumes that there aren't too many tracks. In fact, the Matroska file format allows an effectively unlimited number of tracks: The TrackID number in the Block and the SimpleBlock? Header is an EBML-coded integer (so the first bit that is set indicates the length in bytes of the integer). Notice furthermore that there are no reserved values for the TrackID EBML integer: 11111111 (which for the length of an EBML element indicates an unknown size) just means that the TrackID is 127.
Unfortunately ffmpeg doesn't handle the case of many tracks gracefully. There are instances where it crashes and there are instances where the output files are garbage.
a) My first sample file is "127.Tracks.126.Empty.mks". It has 127 tracks; the first 126 of these don't contain a packet at all. The last track has two subtitle packets. This source file is also the reason for the above remarks concerning TrackID, because I actually didn't expect the odd behaviour to begin with 127 tracks. Maybe a common function is used for TrackIDs and EBML size fields so that 127 is treated like a special case in both cases? Anyway, remuxing it gives me a crash (I'll attach the full log for this, but because trac complains that tickets can't be longer than 262144 characters I'll trim the following a bit):

ffmpeg started on 2017-11-26 at 13:56:34
Report written to "ffmpeg-20171126-135634.log"
Command line:
ffmpeg.exe -report -i 127.Tracks.126.Empty.mks -map 0 -c copy 127.Tracks.126.Empty.mkv
ffmpeg version N-89243-g8794e0c037 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (Rev1, Built by MSYS2 project)
  configuration:  --disable-decoders --disable-encoders --disable-filters --enable-debug=3 --disable-ffplay --disable-ffprobe --disable-stripping
  libavutil      56.  3.100 / 56.  3.100
  libavcodec     58.  3.105 / 58.  3.105
  libavformat    58.  2.102 / 58.  2.102
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  4.100 /  7.  4.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
Splitting the commandline.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-i' ... matched as input url with argument '127.Tracks.126.Empty.mks'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0'.
Reading option '-c' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '127.Tracks.126.Empty.mkv' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url 127.Tracks.126.Empty.mks.
Successfully parsed a group of options.
Opening an input file: 127.Tracks.126.Empty.mks.
[NULL @ 00000000005b6d00] Opening '127.Tracks.126.Empty.mks' for reading
[file @ 00000000005b7640] Setting default whitelist 'file,crypto'
[matroska,webm @ 00000000005b6d00] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
st:1 removing common factor 1000000 from timebase
[...]
st:126 removing common factor 1000000 from timebase
[matroska,webm @ 00000000005b6d00] Before avformat_find_stream_info() pos: 14842 bytes read:64835 seeks:1 nb_streams:127
[matroska,webm @ 00000000005b6d00] All info found
[matroska,webm @ 00000000005b6d00] After avformat_find_stream_info() pos: 14842 bytes read:64835 seeks:1 frames:0
Input #0, matroska,webm, from '127.Tracks.126.Empty.mks':
  Metadata:
    encoder         : libebml v1.3.5 + libmatroska v1.4.8
    creation_time   : 2017-11-25T14:57:03.000000Z
  Duration: 00:00:05.00, bitrate: 103 kb/s
    Stream #0:0, 0, 1/1000: Subtitle: subrip (default)
    Metadata:
      BPS             : 0
      BPS-eng         : 0
      DURATION        : 00:00:00.000000000
      DURATION-eng    : 00:00:00.000000000
      NUMBER_OF_FRAMES: 0
      NUMBER_OF_FRAMES-eng: 0
      NUMBER_OF_BYTES : 0
      NUMBER_OF_BYTES-eng: 0
      _STATISTICS_WRITING_APP: mkvmerge v18.0.0 ('Apricity') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v18.0.0 ('Apricity') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2017-11-25 14:57:03
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-11-25 14:57:03
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
[...]
    Stream #0:126, 0, 1/1000: Subtitle: subrip
    Metadata:
      BPS             : 16
      BPS-eng         : 16
      DURATION        : 00:00:05.000000000
      DURATION-eng    : 00:00:05.000000000
      NUMBER_OF_FRAMES: 2
      NUMBER_OF_FRAMES-eng: 2
      NUMBER_OF_BYTES : 10
      NUMBER_OF_BYTES-eng: 10
      _STATISTICS_WRITING_APP: mkvmerge v18.0.0 ('Apricity') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v18.0.0 ('Apricity') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2017-11-25 14:57:03
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-11-25 14:57:03
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Successfully opened the file.
Parsing a group of options: output url 127.Tracks.126.Empty.mkv.
Applying option map (set input stream mapping) with argument 0.
Applying option c (codec name) with argument copy.
Successfully parsed a group of options.
Opening an output file: 127.Tracks.126.Empty.mkv.
[file @ 00000000022c7c40] Setting default whitelist 'file,crypto'
Successfully opened the file.
Output #0, matroska, to '127.Tracks.126.Empty.mkv':
  Metadata:
    encoder         : Lavf58.2.102
    Stream #0:0, 0, 1/1000: Subtitle: subrip (default)
    Metadata:
      BPS             : 0
      BPS-eng         : 0
      DURATION        : 00:00:00.000000000
      DURATION-eng    : 00:00:00.000000000
      NUMBER_OF_FRAMES: 0
      NUMBER_OF_FRAMES-eng: 0
      NUMBER_OF_BYTES : 0
      NUMBER_OF_BYTES-eng: 0
      _STATISTICS_WRITING_APP: mkvmerge v18.0.0 ('Apricity') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v18.0.0 ('Apricity') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2017-11-25 14:57:03
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-11-25 14:57:03
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
[...]
    Stream #0:126, 0, 1/1000: Subtitle: subrip
    Metadata:
      BPS             : 16
      BPS-eng         : 16
      DURATION        : 00:00:05.000000000
      DURATION-eng    : 00:00:05.000000000
      NUMBER_OF_FRAMES: 2
      NUMBER_OF_FRAMES-eng: 2
      NUMBER_OF_BYTES : 10
      NUMBER_OF_BYTES-eng: 10
      _STATISTICS_WRITING_APP: mkvmerge v18.0.0 ('Apricity') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v18.0.0 ('Apricity') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2017-11-25 14:57:03
      _STATISTICS_WRITING_DATE_UTC-eng: 2017-11-25 14:57:03
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
[...]
  Stream #0:126 -> #0:126 (copy)
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[...]
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
No more output streams to write to, finishing.
[matroska @ 00000000021f19a0] get_metadata_duration returned: 5000000
[matroska @ 00000000021f19a0] Write early duration from metadata = 5000
[matroska @ 00000000021f19a0] Writing block at offset 12, size 5, pts 1000, dts 1000, duration 2000, keyframe 1
[matroska @ 00000000021f19a0] Writing block at offset 29, size 5, pts 4000, dts 4000, duration 2000, keyframe 1

Here is the gdb output for this crash:

Program received signal SIGSEGV, Segmentation fault.
0x00000001400bb5a5 in mkv_write_packet_internal (s=s@entry=0x21f19a0,
    pkt=pkt@entry=0x22f470, add_cue=add_cue@entry=0)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/libavformat/matroskaenc.
c:2415
2415                FFMAX(mkv->stream_durations[pkt->stream_index], ts + duratio
n);
(gdb) bt
#0  0x00000001400bb5a5 in mkv_write_packet_internal (s=s@entry=0x21f19a0,
    pkt=pkt@entry=0x22f470, add_cue=add_cue@entry=0)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/libavformat/matroskaenc.
c:2415
#1  0x00000001400bc921 in mkv_write_packet (pkt=0x22f470, s=0x21f19a0)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/libavformat/matroskaenc.
c:2491
#2  mkv_write_flush_packet (s=0x21f19a0, pkt=0x22f470)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/libavformat/matroskaenc.
c:2513
#3  0x0000000140100e43 in write_packet (pkt=0x22f470, s=0x21f19a0)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/libavformat/mux.c:754
#4  av_write_trailer (s=s@entry=0x21f19a0)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/libavformat/mux.c:1273
#5  0x0000000140023bdd in transcode ()
    at I:/media-autobuild_suite-master/build/ffmpeg-git/fftools/ffmpeg.c:4643
#6  0x00000001407ac5f2 in main (argc=<optimized out>, argv=<optimized out>)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/fftools/ffmpeg.c:4812
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x1400bb585 to 0x1400bb5c5:
   0x00000001400bb585 <mkv_write_packet_internal+693>:  mov    %esi,%eax
   0x00000001400bb587 <mkv_write_packet_internal+695>:  cmovge 0xa0(%r15),%rax
   0x00000001400bb58f <mkv_write_packet_internal+703>:  mov    %rax,0xa0(%r15)
   0x00000001400bb596 <mkv_write_packet_internal+710>:  xor    %eax,%eax
   0x00000001400bb598 <mkv_write_packet_internal+712>:  test   %rdx,%rdx
   0x00000001400bb59b <mkv_write_packet_internal+715>:  je     0x1400bb5af <mkv_
write_packet_internal+735>
   0x00000001400bb59d <mkv_write_packet_internal+717>:  movslq 0x24(%r14),%rcx
   0x00000001400bb5a1 <mkv_write_packet_internal+721>:  lea    (%rdx,%rcx,8),%rd
x
=> 0x00000001400bb5a5 <mkv_write_packet_internal+725>:  cmp    %rsi,(%rdx)
   0x00000001400bb5a8 <mkv_write_packet_internal+728>:  cmovge (%rdx),%rsi
   0x00000001400bb5ac <mkv_write_packet_internal+732>:  mov    %rsi,(%rdx)
   0x00000001400bb5af <mkv_write_packet_internal+735>:  add    $0xb8,%rsp
   0x00000001400bb5b6 <mkv_write_packet_internal+742>:  pop    %rbx
   0x00000001400bb5b7 <mkv_write_packet_internal+743>:  pop    %rsi
   0x00000001400bb5b8 <mkv_write_packet_internal+744>:  pop    %rdi
   0x00000001400bb5b9 <mkv_write_packet_internal+745>:  pop    %rbp
   0x00000001400bb5ba <mkv_write_packet_internal+746>:  pop    %r12
   0x00000001400bb5bc <mkv_write_packet_internal+748>:  pop    %r13
   0x00000001400bb5be <mkv_write_packet_internal+750>:  pop    %r14
   0x00000001400bb5c0 <mkv_write_packet_internal+752>:  pop    %r15
   0x00000001400bb5c2 <mkv_write_packet_internal+754>:  retq
   0x00000001400bb5c3 <mkv_write_packet_internal+755>:  lea    0x775d2e(%rip),%r
8        # 0x1408312f8 <ebml_header+1176>
End of assembler dump.
(gdb) info all-registers
rax            0x0      0
rbx            0x7d0    2000
rcx            0x7e     126
rdx            0xfa8    4008
rsi            0x1770   6000
rdi            0x2338080        36929664
rbp            0x198e1  0x198e1
rsp            0x22f210 0x22f210
r8             0x0      0
r9             0x0      0
r10            0xa      10
r11            0x22f1e0 2290144
r12            0x7e     126
r13            0x1d     29
r14            0x22f470 2290800
r15            0x21f1fc0        35594176
rip            0x1400bb5a5      0x1400bb5a5 <mkv_write_packet_internal+725>
eflags         0x10206  [ PF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
st0            0        (raw 0x00000000000000000000)
st1            0        (raw 0x00000000000000000000)
st2            0        (raw 0x00000000000000000000)
st3            0        (raw 0x00000000000000000000)
st4            0        (raw 0x00000000000000000000)
st5            0        (raw 0x00000000000000000000)
st6            0        (raw 0x00000000000000000000)
st7            5        (raw 0x4001a000000000000000)
fctrl          0x37f    895
fstat          0x0      0
ftag           0x0      0
fiseg          0x0      0
fioff          0x407a169b       1081743003
foseg          0x0      0
fooff          0x22ddb0 2284976
fop            0x0      0
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0, 0x0, 0x0, 0x80, 0x0 <repeats 12 times>}, v8_int16 = {0x0,
    0x8000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x80000000, 0x0, 0x0,
    0x0}, v2_int64 = {0x80000000, 0x0},
  uint128 = 0x00000000000000000000000080000000}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0, 0x0, 0x0, 0x80, 0x0 <repeats 12 times>}, v8_int16 = {0x0,
    0x8000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x80000000, 0x0, 0x0,
    0x0}, v2_int64 = {0x80000000, 0x0},
  uint128 = 0x00000000000000000000000080000000}
xmm8           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0, 0x0, 0x0, 0x80, 0x0 <repeats 12 times>}, v8_int16 = {0x0,
    0x8000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x80000000, 0x0, 0x0,
    0x0}, v2_int64 = {0x80000000, 0x0},
  uint128 = 0x00000000000000000000000080000000}
xmm9           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm10          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm11          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm14          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm15          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
mxcsr          0x1fa0   [ PE IM DM ZM OM UM PM ]

For some reason no crash occurs if one uses a source file like "127.Tracks.126.Empty.mks", but where the last track has only one packet.
Notice also that although the above log claims to write the two blocks it doesn't. See the attached file "127.Tracks.126.Empty.mkv".

b) My second sample has 128 tracks, the first 127 of them empty. The last track contains exactly one packet. This gives a crash upon remuxing, too:

ffmpeg started on 2017-11-26 at 14:32:34
Report written to "ffmpeg-20171126-143234.log"
Command line:
"I:\\media-autobuild_suite-master\\local64\\bin-video\\ffmpeg.exe" -report -i 128.Tracks.127.Empty.mks -map 0 -c copy 128.Tracks.127.Empty.mkv
ffmpeg version N-89243-g8794e0c037 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (Rev1, Built by MSYS2 project)
  configuration:  --disable-decoders --disable-encoders --disable-filters --enable-debug=3 --disable-ffplay --disable-ffprobe --disable-stripping
  libavutil      56.  3.100 / 56.  3.100
  libavcodec     58.  3.105 / 58.  3.105
  libavformat    58.  2.102 / 58.  2.102
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  4.100 /  7.  4.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
Splitting the commandline.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-i' ... matched as input url with argument '128.Tracks.127.Empty.mks'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0'.
Reading option '-c' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '128.Tracks.127.Empty.mkv' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url 128.Tracks.127.Empty.mks.
Successfully parsed a group of options.
Opening an input file: 128.Tracks.127.Empty.mks.
[NULL @ 0000000000596d00] Opening '128.Tracks.127.Empty.mks' for reading
[file @ 0000000000597640] Setting default whitelist 'file,crypto'
[matroska,webm @ 0000000000596d00] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
st:1 removing common factor 1000000 from timebase
st:2 removing common factor 1000000 from timebase
st:3 removing common factor 1000000 from timebase
st:4 removing common factor 1000000 from timebase
st:5 removing common factor 1000000 from timebase
st:6 removing common factor 1000000 from timebase
st:7 removing common factor 1000000 from timebase
st:8 removing common factor 1000000 from timebase
st:9 removing common factor 1000000 from timebase
st:10 removing common factor 1000000 from timebase
st:11 removing common factor 1000000 from timebase
st:12 removing common factor 1000000 from timebase
st:13 removing common factor 1000000 from timebase
st:14 removing common factor 1000000 from timebase
st:15 removing common factor 1000000 from timebase
st:16 removing common factor 1000000 from timebase
st:17 removing common factor 1000000 from timebase
st:18 removing common factor 1000000 from timebase
st:19 removing common factor 1000000 from timebase
st:20 removing common factor 1000000 from timebase
st:21 removing common factor 1000000 from timebase
st:22 removing common factor 1000000 from timebase
st:23 removing common factor 1000000 from timebase
st:24 removing common factor 1000000 from timebase
st:25 removing common factor 1000000 from timebase
st:26 removing common factor 1000000 from timebase
st:27 removing common factor 1000000 from timebase
st:28 removing common factor 1000000 from timebase
st:29 removing common factor 1000000 from timebase
st:30 removing common factor 1000000 from timebase
st:31 removing common factor 1000000 from timebase
st:32 removing common factor 1000000 from timebase
st:33 removing common factor 1000000 from timebase
st:34 removing common factor 1000000 from timebase
st:35 removing common factor 1000000 from timebase
st:36 removing common factor 1000000 from timebase
st:37 removing common factor 1000000 from timebase
st:38 removing common factor 1000000 from timebase
st:39 removing common factor 1000000 from timebase
st:40 removing common factor 1000000 from timebase
st:41 removing common factor 1000000 from timebase
st:42 removing common factor 1000000 from timebase
st:43 removing common factor 1000000 from timebase
st:44 removing common factor 1000000 from timebase
st:45 removing common factor 1000000 from timebase
st:46 removing common factor 1000000 from timebase
st:47 removing common factor 1000000 from timebase
st:48 removing common factor 1000000 from timebase
st:49 removing common factor 1000000 from timebase
st:50 removing common factor 1000000 from timebase
st:51 removing common factor 1000000 from timebase
st:52 removing common factor 1000000 from timebase
st:53 removing common factor 1000000 from timebase
st:54 removing common factor 1000000 from timebase
st:55 removing common factor 1000000 from timebase
st:56 removing common factor 1000000 from timebase
st:57 removing common factor 1000000 from timebase
st:58 removing common factor 1000000 from timebase
st:59 removing common factor 1000000 from timebase
st:60 removing common factor 1000000 from timebase
st:61 removing common factor 1000000 from timebase
st:62 removing common factor 1000000 from timebase
st:63 removing common factor 1000000 from timebase
st:64 removing common factor 1000000 from timebase
st:65 removing common factor 1000000 from timebase
st:66 removing common factor 1000000 from timebase
st:67 removing common factor 1000000 from timebase
st:68 removing common factor 1000000 from timebase
st:69 removing common factor 1000000 from timebase
st:70 removing common factor 1000000 from timebase
st:71 removing common factor 1000000 from timebase
st:72 removing common factor 1000000 from timebase
st:73 removing common factor 1000000 from timebase
st:74 removing common factor 1000000 from timebase
st:75 removing common factor 1000000 from timebase
st:76 removing common factor 1000000 from timebase
st:77 removing common factor 1000000 from timebase
st:78 removing common factor 1000000 from timebase
st:79 removing common factor 1000000 from timebase
st:80 removing common factor 1000000 from timebase
st:81 removing common factor 1000000 from timebase
st:82 removing common factor 1000000 from timebase
st:83 removing common factor 1000000 from timebase
st:84 removing common factor 1000000 from timebase
st:85 removing common factor 1000000 from timebase
st:86 removing common factor 1000000 from timebase
st:87 removing common factor 1000000 from timebase
st:88 removing common factor 1000000 from timebase
st:89 removing common factor 1000000 from timebase
st:90 removing common factor 1000000 from timebase
st:91 removing common factor 1000000 from timebase
st:92 removing common factor 1000000 from timebase
st:93 removing common factor 1000000 from timebase
st:94 removing common factor 1000000 from timebase
st:95 removing common factor 1000000 from timebase
st:96 removing common factor 1000000 from timebase
st:97 removing common factor 1000000 from timebase
st:98 removing common factor 1000000 from timebase
st:99 removing common factor 1000000 from timebase
st:100 removing common factor 1000000 from timebase
st:101 removing common factor 1000000 from timebase
st:102 removing common factor 1000000 from timebase
st:103 removing common factor 1000000 from timebase
st:104 removing common factor 1000000 from timebase
st:105 removing common factor 1000000 from timebase
st:106 removing common factor 1000000 from timebase
st:107 removing common factor 1000000 from timebase
st:108 removing common factor 1000000 from timebase
st:109 removing common factor 1000000 from timebase
st:110 removing common factor 1000000 from timebase
st:111 removing common factor 1000000 from timebase
st:112 removing common factor 1000000 from timebase
st:113 removing common factor 1000000 from timebase
st:114 removing common factor 1000000 from timebase
st:115 removing common factor 1000000 from timebase
st:116 removing common factor 1000000 from timebase
st:117 removing common factor 1000000 from timebase
st:118 removing common factor 1000000 from timebase
st:119 removing common factor 1000000 from timebase
st:120 removing common factor 1000000 from timebase
st:121 removing common factor 1000000 from timebase
st:122 removing common factor 1000000 from timebase
st:123 removing common factor 1000000 from timebase
st:124 removing common factor 1000000 from timebase
st:125 removing common factor 1000000 from timebase
st:126 removing common factor 1000000 from timebase
st:127 removing common factor 1000000 from timebase
[matroska,webm @ 0000000000596d00] Before avformat_find_stream_info() pos: 14917 bytes read:14960 seeks:0 nb_streams:128
[matroska,webm @ 0000000000596d00] All info found
[matroska,webm @ 0000000000596d00] After avformat_find_stream_info() pos: 14917 bytes read:14960 seeks:0 frames:0
Input #0, matroska,webm, from '128.Tracks.127.Empty.mks':
  Metadata:
    encoder         : libebml v1.3.5 + libmatroska v1.4.8
    creation_time   : 2017-11-26T13:10:44.000000Z
  Duration: 00:00:02.00, bitrate: 59 kb/s
    Stream #0:0, 0, 1/1000: Subtitle: subrip (default)
    Stream #0:1, 0, 1/1000: Subtitle: subrip
    Stream #0:2, 0, 1/1000: Subtitle: subrip
    Stream #0:3, 0, 1/1000: Subtitle: subrip
    Stream #0:4, 0, 1/1000: Subtitle: subrip
    Stream #0:5, 0, 1/1000: Subtitle: subrip
    Stream #0:6, 0, 1/1000: Subtitle: subrip
    Stream #0:7, 0, 1/1000: Subtitle: subrip
    Stream #0:8, 0, 1/1000: Subtitle: subrip
    Stream #0:9, 0, 1/1000: Subtitle: subrip
    Stream #0:10, 0, 1/1000: Subtitle: subrip
    Stream #0:11, 0, 1/1000: Subtitle: subrip
    Stream #0:12, 0, 1/1000: Subtitle: subrip
    Stream #0:13, 0, 1/1000: Subtitle: subrip
    Stream #0:14, 0, 1/1000: Subtitle: subrip
    Stream #0:15, 0, 1/1000: Subtitle: subrip
    Stream #0:16, 0, 1/1000: Subtitle: subrip
    Stream #0:17, 0, 1/1000: Subtitle: subrip
    Stream #0:18, 0, 1/1000: Subtitle: subrip
    Stream #0:19, 0, 1/1000: Subtitle: subrip
    Stream #0:20, 0, 1/1000: Subtitle: subrip
    Stream #0:21, 0, 1/1000: Subtitle: subrip
    Stream #0:22, 0, 1/1000: Subtitle: subrip
    Stream #0:23, 0, 1/1000: Subtitle: subrip
    Stream #0:24, 0, 1/1000: Subtitle: subrip
    Stream #0:25, 0, 1/1000: Subtitle: subrip
    Stream #0:26, 0, 1/1000: Subtitle: subrip
    Stream #0:27, 0, 1/1000: Subtitle: subrip
    Stream #0:28, 0, 1/1000: Subtitle: subrip
    Stream #0:29, 0, 1/1000: Subtitle: subrip
    Stream #0:30, 0, 1/1000: Subtitle: subrip
    Stream #0:31, 0, 1/1000: Subtitle: subrip
    Stream #0:32, 0, 1/1000: Subtitle: subrip
    Stream #0:33, 0, 1/1000: Subtitle: subrip
    Stream #0:34, 0, 1/1000: Subtitle: subrip
    Stream #0:35, 0, 1/1000: Subtitle: subrip
    Stream #0:36, 0, 1/1000: Subtitle: subrip
    Stream #0:37, 0, 1/1000: Subtitle: subrip
    Stream #0:38, 0, 1/1000: Subtitle: subrip
    Stream #0:39, 0, 1/1000: Subtitle: subrip
    Stream #0:40, 0, 1/1000: Subtitle: subrip
    Stream #0:41, 0, 1/1000: Subtitle: subrip
    Stream #0:42, 0, 1/1000: Subtitle: subrip
    Stream #0:43, 0, 1/1000: Subtitle: subrip
    Stream #0:44, 0, 1/1000: Subtitle: subrip
    Stream #0:45, 0, 1/1000: Subtitle: subrip
    Stream #0:46, 0, 1/1000: Subtitle: subrip
    Stream #0:47, 0, 1/1000: Subtitle: subrip
    Stream #0:48, 0, 1/1000: Subtitle: subrip
    Stream #0:49, 0, 1/1000: Subtitle: subrip
    Stream #0:50, 0, 1/1000: Subtitle: subrip
    Stream #0:51, 0, 1/1000: Subtitle: subrip
    Stream #0:52, 0, 1/1000: Subtitle: subrip
    Stream #0:53, 0, 1/1000: Subtitle: subrip
    Stream #0:54, 0, 1/1000: Subtitle: subrip
    Stream #0:55, 0, 1/1000: Subtitle: subrip
    Stream #0:56, 0, 1/1000: Subtitle: subrip
    Stream #0:57, 0, 1/1000: Subtitle: subrip
    Stream #0:58, 0, 1/1000: Subtitle: subrip
    Stream #0:59, 0, 1/1000: Subtitle: subrip
    Stream #0:60, 0, 1/1000: Subtitle: subrip
    Stream #0:61, 0, 1/1000: Subtitle: subrip
    Stream #0:62, 0, 1/1000: Subtitle: subrip
    Stream #0:63, 0, 1/1000: Subtitle: subrip
    Stream #0:64, 0, 1/1000: Subtitle: subrip
    Stream #0:65, 0, 1/1000: Subtitle: subrip
    Stream #0:66, 0, 1/1000: Subtitle: subrip
    Stream #0:67, 0, 1/1000: Subtitle: subrip
    Stream #0:68, 0, 1/1000: Subtitle: subrip
    Stream #0:69, 0, 1/1000: Subtitle: subrip
    Stream #0:70, 0, 1/1000: Subtitle: subrip
    Stream #0:71, 0, 1/1000: Subtitle: subrip
    Stream #0:72, 0, 1/1000: Subtitle: subrip
    Stream #0:73, 0, 1/1000: Subtitle: subrip
    Stream #0:74, 0, 1/1000: Subtitle: subrip
    Stream #0:75, 0, 1/1000: Subtitle: subrip
    Stream #0:76, 0, 1/1000: Subtitle: subrip
    Stream #0:77, 0, 1/1000: Subtitle: subrip
    Stream #0:78, 0, 1/1000: Subtitle: subrip
    Stream #0:79, 0, 1/1000: Subtitle: subrip
    Stream #0:80, 0, 1/1000: Subtitle: subrip
    Stream #0:81, 0, 1/1000: Subtitle: subrip
    Stream #0:82, 0, 1/1000: Subtitle: subrip
    Stream #0:83, 0, 1/1000: Subtitle: subrip
    Stream #0:84, 0, 1/1000: Subtitle: subrip
    Stream #0:85, 0, 1/1000: Subtitle: subrip
    Stream #0:86, 0, 1/1000: Subtitle: subrip
    Stream #0:87, 0, 1/1000: Subtitle: subrip
    Stream #0:88, 0, 1/1000: Subtitle: subrip
    Stream #0:89, 0, 1/1000: Subtitle: subrip
    Stream #0:90, 0, 1/1000: Subtitle: subrip
    Stream #0:91, 0, 1/1000: Subtitle: subrip
    Stream #0:92, 0, 1/1000: Subtitle: subrip
    Stream #0:93, 0, 1/1000: Subtitle: subrip
    Stream #0:94, 0, 1/1000: Subtitle: subrip
    Stream #0:95, 0, 1/1000: Subtitle: subrip
    Stream #0:96, 0, 1/1000: Subtitle: subrip
    Stream #0:97, 0, 1/1000: Subtitle: subrip
    Stream #0:98, 0, 1/1000: Subtitle: subrip
    Stream #0:99, 0, 1/1000: Subtitle: subrip
    Stream #0:100, 0, 1/1000: Subtitle: subrip
    Stream #0:101, 0, 1/1000: Subtitle: subrip
    Stream #0:102, 0, 1/1000: Subtitle: subrip
    Stream #0:103, 0, 1/1000: Subtitle: subrip
    Stream #0:104, 0, 1/1000: Subtitle: subrip
    Stream #0:105, 0, 1/1000: Subtitle: subrip
    Stream #0:106, 0, 1/1000: Subtitle: subrip
    Stream #0:107, 0, 1/1000: Subtitle: subrip
    Stream #0:108, 0, 1/1000: Subtitle: subrip
    Stream #0:109, 0, 1/1000: Subtitle: subrip
    Stream #0:110, 0, 1/1000: Subtitle: subrip
    Stream #0:111, 0, 1/1000: Subtitle: subrip
    Stream #0:112, 0, 1/1000: Subtitle: subrip
    Stream #0:113, 0, 1/1000: Subtitle: subrip
    Stream #0:114, 0, 1/1000: Subtitle: subrip
    Stream #0:115, 0, 1/1000: Subtitle: subrip
    Stream #0:116, 0, 1/1000: Subtitle: subrip
    Stream #0:117, 0, 1/1000: Subtitle: subrip
    Stream #0:118, 0, 1/1000: Subtitle: subrip
    Stream #0:119, 0, 1/1000: Subtitle: subrip
    Stream #0:120, 0, 1/1000: Subtitle: subrip
    Stream #0:121, 0, 1/1000: Subtitle: subrip
    Stream #0:122, 0, 1/1000: Subtitle: subrip
    Stream #0:123, 0, 1/1000: Subtitle: subrip
    Stream #0:124, 0, 1/1000: Subtitle: subrip
    Stream #0:125, 0, 1/1000: Subtitle: subrip
    Stream #0:126, 0, 1/1000: Subtitle: subrip
    Stream #0:127, 0, 1/1000: Subtitle: subrip
Successfully opened the file.
Parsing a group of options: output url 128.Tracks.127.Empty.mkv.
Applying option map (set input stream mapping) with argument 0.
Applying option c (codec name) with argument copy.
Successfully parsed a group of options.
Opening an output file: 128.Tracks.127.Empty.mkv.
[file @ 000000000225bba0] Setting default whitelist 'file,crypto'
Successfully opened the file.
Output #0, matroska, to '128.Tracks.127.Empty.mkv':
  Metadata:
    encoder         : Lavf58.2.102
    Stream #0:0, 0, 1/1000: Subtitle: subrip (default)
    Stream #0:1, 0, 1/1000: Subtitle: subrip
    Stream #0:2, 0, 1/1000: Subtitle: subrip
    Stream #0:3, 0, 1/1000: Subtitle: subrip
    Stream #0:4, 0, 1/1000: Subtitle: subrip
    Stream #0:5, 0, 1/1000: Subtitle: subrip
    Stream #0:6, 0, 1/1000: Subtitle: subrip
    Stream #0:7, 0, 1/1000: Subtitle: subrip
    Stream #0:8, 0, 1/1000: Subtitle: subrip
    Stream #0:9, 0, 1/1000: Subtitle: subrip
    Stream #0:10, 0, 1/1000: Subtitle: subrip
    Stream #0:11, 0, 1/1000: Subtitle: subrip
    Stream #0:12, 0, 1/1000: Subtitle: subrip
    Stream #0:13, 0, 1/1000: Subtitle: subrip
    Stream #0:14, 0, 1/1000: Subtitle: subrip
    Stream #0:15, 0, 1/1000: Subtitle: subrip
    Stream #0:16, 0, 1/1000: Subtitle: subrip
    Stream #0:17, 0, 1/1000: Subtitle: subrip
    Stream #0:18, 0, 1/1000: Subtitle: subrip
    Stream #0:19, 0, 1/1000: Subtitle: subrip
    Stream #0:20, 0, 1/1000: Subtitle: subrip
    Stream #0:21, 0, 1/1000: Subtitle: subrip
    Stream #0:22, 0, 1/1000: Subtitle: subrip
    Stream #0:23, 0, 1/1000: Subtitle: subrip
    Stream #0:24, 0, 1/1000: Subtitle: subrip
    Stream #0:25, 0, 1/1000: Subtitle: subrip
    Stream #0:26, 0, 1/1000: Subtitle: subrip
    Stream #0:27, 0, 1/1000: Subtitle: subrip
    Stream #0:28, 0, 1/1000: Subtitle: subrip
    Stream #0:29, 0, 1/1000: Subtitle: subrip
    Stream #0:30, 0, 1/1000: Subtitle: subrip
    Stream #0:31, 0, 1/1000: Subtitle: subrip
    Stream #0:32, 0, 1/1000: Subtitle: subrip
    Stream #0:33, 0, 1/1000: Subtitle: subrip
    Stream #0:34, 0, 1/1000: Subtitle: subrip
    Stream #0:35, 0, 1/1000: Subtitle: subrip
    Stream #0:36, 0, 1/1000: Subtitle: subrip
    Stream #0:37, 0, 1/1000: Subtitle: subrip
    Stream #0:38, 0, 1/1000: Subtitle: subrip
    Stream #0:39, 0, 1/1000: Subtitle: subrip
    Stream #0:40, 0, 1/1000: Subtitle: subrip
    Stream #0:41, 0, 1/1000: Subtitle: subrip
    Stream #0:42, 0, 1/1000: Subtitle: subrip
    Stream #0:43, 0, 1/1000: Subtitle: subrip
    Stream #0:44, 0, 1/1000: Subtitle: subrip
    Stream #0:45, 0, 1/1000: Subtitle: subrip
    Stream #0:46, 0, 1/1000: Subtitle: subrip
    Stream #0:47, 0, 1/1000: Subtitle: subrip
    Stream #0:48, 0, 1/1000: Subtitle: subrip
    Stream #0:49, 0, 1/1000: Subtitle: subrip
    Stream #0:50, 0, 1/1000: Subtitle: subrip
    Stream #0:51, 0, 1/1000: Subtitle: subrip
    Stream #0:52, 0, 1/1000: Subtitle: subrip
    Stream #0:53, 0, 1/1000: Subtitle: subrip
    Stream #0:54, 0, 1/1000: Subtitle: subrip
    Stream #0:55, 0, 1/1000: Subtitle: subrip
    Stream #0:56, 0, 1/1000: Subtitle: subrip
    Stream #0:57, 0, 1/1000: Subtitle: subrip
    Stream #0:58, 0, 1/1000: Subtitle: subrip
    Stream #0:59, 0, 1/1000: Subtitle: subrip
    Stream #0:60, 0, 1/1000: Subtitle: subrip
    Stream #0:61, 0, 1/1000: Subtitle: subrip
    Stream #0:62, 0, 1/1000: Subtitle: subrip
    Stream #0:63, 0, 1/1000: Subtitle: subrip
    Stream #0:64, 0, 1/1000: Subtitle: subrip
    Stream #0:65, 0, 1/1000: Subtitle: subrip
    Stream #0:66, 0, 1/1000: Subtitle: subrip
    Stream #0:67, 0, 1/1000: Subtitle: subrip
    Stream #0:68, 0, 1/1000: Subtitle: subrip
    Stream #0:69, 0, 1/1000: Subtitle: subrip
    Stream #0:70, 0, 1/1000: Subtitle: subrip
    Stream #0:71, 0, 1/1000: Subtitle: subrip
    Stream #0:72, 0, 1/1000: Subtitle: subrip
    Stream #0:73, 0, 1/1000: Subtitle: subrip
    Stream #0:74, 0, 1/1000: Subtitle: subrip
    Stream #0:75, 0, 1/1000: Subtitle: subrip
    Stream #0:76, 0, 1/1000: Subtitle: subrip
    Stream #0:77, 0, 1/1000: Subtitle: subrip
    Stream #0:78, 0, 1/1000: Subtitle: subrip
    Stream #0:79, 0, 1/1000: Subtitle: subrip
    Stream #0:80, 0, 1/1000: Subtitle: subrip
    Stream #0:81, 0, 1/1000: Subtitle: subrip
    Stream #0:82, 0, 1/1000: Subtitle: subrip
    Stream #0:83, 0, 1/1000: Subtitle: subrip
    Stream #0:84, 0, 1/1000: Subtitle: subrip
    Stream #0:85, 0, 1/1000: Subtitle: subrip
    Stream #0:86, 0, 1/1000: Subtitle: subrip
    Stream #0:87, 0, 1/1000: Subtitle: subrip
    Stream #0:88, 0, 1/1000: Subtitle: subrip
    Stream #0:89, 0, 1/1000: Subtitle: subrip
    Stream #0:90, 0, 1/1000: Subtitle: subrip
    Stream #0:91, 0, 1/1000: Subtitle: subrip
    Stream #0:92, 0, 1/1000: Subtitle: subrip
    Stream #0:93, 0, 1/1000: Subtitle: subrip
    Stream #0:94, 0, 1/1000: Subtitle: subrip
    Stream #0:95, 0, 1/1000: Subtitle: subrip
    Stream #0:96, 0, 1/1000: Subtitle: subrip
    Stream #0:97, 0, 1/1000: Subtitle: subrip
    Stream #0:98, 0, 1/1000: Subtitle: subrip
    Stream #0:99, 0, 1/1000: Subtitle: subrip
    Stream #0:100, 0, 1/1000: Subtitle: subrip
    Stream #0:101, 0, 1/1000: Subtitle: subrip
    Stream #0:102, 0, 1/1000: Subtitle: subrip
    Stream #0:103, 0, 1/1000: Subtitle: subrip
    Stream #0:104, 0, 1/1000: Subtitle: subrip
    Stream #0:105, 0, 1/1000: Subtitle: subrip
    Stream #0:106, 0, 1/1000: Subtitle: subrip
    Stream #0:107, 0, 1/1000: Subtitle: subrip
    Stream #0:108, 0, 1/1000: Subtitle: subrip
    Stream #0:109, 0, 1/1000: Subtitle: subrip
    Stream #0:110, 0, 1/1000: Subtitle: subrip
    Stream #0:111, 0, 1/1000: Subtitle: subrip
    Stream #0:112, 0, 1/1000: Subtitle: subrip
    Stream #0:113, 0, 1/1000: Subtitle: subrip
    Stream #0:114, 0, 1/1000: Subtitle: subrip
    Stream #0:115, 0, 1/1000: Subtitle: subrip
    Stream #0:116, 0, 1/1000: Subtitle: subrip
    Stream #0:117, 0, 1/1000: Subtitle: subrip
    Stream #0:118, 0, 1/1000: Subtitle: subrip
    Stream #0:119, 0, 1/1000: Subtitle: subrip
    Stream #0:120, 0, 1/1000: Subtitle: subrip
    Stream #0:121, 0, 1/1000: Subtitle: subrip
    Stream #0:122, 0, 1/1000: Subtitle: subrip
    Stream #0:123, 0, 1/1000: Subtitle: subrip
    Stream #0:124, 0, 1/1000: Subtitle: subrip
    Stream #0:125, 0, 1/1000: Subtitle: subrip
    Stream #0:126, 0, 1/1000: Subtitle: subrip
    Stream #0:127, 0, 1/1000: Subtitle: subrip
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
  Stream #0:2 -> #0:2 (copy)
  Stream #0:3 -> #0:3 (copy)
  Stream #0:4 -> #0:4 (copy)
  Stream #0:5 -> #0:5 (copy)
  Stream #0:6 -> #0:6 (copy)
  Stream #0:7 -> #0:7 (copy)
  Stream #0:8 -> #0:8 (copy)
  Stream #0:9 -> #0:9 (copy)
  Stream #0:10 -> #0:10 (copy)
  Stream #0:11 -> #0:11 (copy)
  Stream #0:12 -> #0:12 (copy)
  Stream #0:13 -> #0:13 (copy)
  Stream #0:14 -> #0:14 (copy)
  Stream #0:15 -> #0:15 (copy)
  Stream #0:16 -> #0:16 (copy)
  Stream #0:17 -> #0:17 (copy)
  Stream #0:18 -> #0:18 (copy)
  Stream #0:19 -> #0:19 (copy)
  Stream #0:20 -> #0:20 (copy)
  Stream #0:21 -> #0:21 (copy)
  Stream #0:22 -> #0:22 (copy)
  Stream #0:23 -> #0:23 (copy)
  Stream #0:24 -> #0:24 (copy)
  Stream #0:25 -> #0:25 (copy)
  Stream #0:26 -> #0:26 (copy)
  Stream #0:27 -> #0:27 (copy)
  Stream #0:28 -> #0:28 (copy)
  Stream #0:29 -> #0:29 (copy)
  Stream #0:30 -> #0:30 (copy)
  Stream #0:31 -> #0:31 (copy)
  Stream #0:32 -> #0:32 (copy)
  Stream #0:33 -> #0:33 (copy)
  Stream #0:34 -> #0:34 (copy)
  Stream #0:35 -> #0:35 (copy)
  Stream #0:36 -> #0:36 (copy)
  Stream #0:37 -> #0:37 (copy)
  Stream #0:38 -> #0:38 (copy)
  Stream #0:39 -> #0:39 (copy)
  Stream #0:40 -> #0:40 (copy)
  Stream #0:41 -> #0:41 (copy)
  Stream #0:42 -> #0:42 (copy)
  Stream #0:43 -> #0:43 (copy)
  Stream #0:44 -> #0:44 (copy)
  Stream #0:45 -> #0:45 (copy)
  Stream #0:46 -> #0:46 (copy)
  Stream #0:47 -> #0:47 (copy)
  Stream #0:48 -> #0:48 (copy)
  Stream #0:49 -> #0:49 (copy)
  Stream #0:50 -> #0:50 (copy)
  Stream #0:51 -> #0:51 (copy)
  Stream #0:52 -> #0:52 (copy)
  Stream #0:53 -> #0:53 (copy)
  Stream #0:54 -> #0:54 (copy)
  Stream #0:55 -> #0:55 (copy)
  Stream #0:56 -> #0:56 (copy)
  Stream #0:57 -> #0:57 (copy)
  Stream #0:58 -> #0:58 (copy)
  Stream #0:59 -> #0:59 (copy)
  Stream #0:60 -> #0:60 (copy)
  Stream #0:61 -> #0:61 (copy)
  Stream #0:62 -> #0:62 (copy)
  Stream #0:63 -> #0:63 (copy)
  Stream #0:64 -> #0:64 (copy)
  Stream #0:65 -> #0:65 (copy)
  Stream #0:66 -> #0:66 (copy)
  Stream #0:67 -> #0:67 (copy)
  Stream #0:68 -> #0:68 (copy)
  Stream #0:69 -> #0:69 (copy)
  Stream #0:70 -> #0:70 (copy)
  Stream #0:71 -> #0:71 (copy)
  Stream #0:72 -> #0:72 (copy)
  Stream #0:73 -> #0:73 (copy)
  Stream #0:74 -> #0:74 (copy)
  Stream #0:75 -> #0:75 (copy)
  Stream #0:76 -> #0:76 (copy)
  Stream #0:77 -> #0:77 (copy)
  Stream #0:78 -> #0:78 (copy)
  Stream #0:79 -> #0:79 (copy)
  Stream #0:80 -> #0:80 (copy)
  Stream #0:81 -> #0:81 (copy)
  Stream #0:82 -> #0:82 (copy)
  Stream #0:83 -> #0:83 (copy)
  Stream #0:84 -> #0:84 (copy)
  Stream #0:85 -> #0:85 (copy)
  Stream #0:86 -> #0:86 (copy)
  Stream #0:87 -> #0:87 (copy)
  Stream #0:88 -> #0:88 (copy)
  Stream #0:89 -> #0:89 (copy)
  Stream #0:90 -> #0:90 (copy)
  Stream #0:91 -> #0:91 (copy)
  Stream #0:92 -> #0:92 (copy)
  Stream #0:93 -> #0:93 (copy)
  Stream #0:94 -> #0:94 (copy)
  Stream #0:95 -> #0:95 (copy)
  Stream #0:96 -> #0:96 (copy)
  Stream #0:97 -> #0:97 (copy)
  Stream #0:98 -> #0:98 (copy)
  Stream #0:99 -> #0:99 (copy)
  Stream #0:100 -> #0:100 (copy)
  Stream #0:101 -> #0:101 (copy)
  Stream #0:102 -> #0:102 (copy)
  Stream #0:103 -> #0:103 (copy)
  Stream #0:104 -> #0:104 (copy)
  Stream #0:105 -> #0:105 (copy)
  Stream #0:106 -> #0:106 (copy)
  Stream #0:107 -> #0:107 (copy)
  Stream #0:108 -> #0:108 (copy)
  Stream #0:109 -> #0:109 (copy)
  Stream #0:110 -> #0:110 (copy)
  Stream #0:111 -> #0:111 (copy)
  Stream #0:112 -> #0:112 (copy)
  Stream #0:113 -> #0:113 (copy)
  Stream #0:114 -> #0:114 (copy)
  Stream #0:115 -> #0:115 (copy)
  Stream #0:116 -> #0:116 (copy)
  Stream #0:117 -> #0:117 (copy)
  Stream #0:118 -> #0:118 (copy)
  Stream #0:119 -> #0:119 (copy)
  Stream #0:120 -> #0:120 (copy)
  Stream #0:121 -> #0:121 (copy)
  Stream #0:122 -> #0:122 (copy)
  Stream #0:123 -> #0:123 (copy)
  Stream #0:124 -> #0:124 (copy)
  Stream #0:125 -> #0:125 (copy)
  Stream #0:126 -> #0:126 (copy)
  Stream #0:127 -> #0:127 (copy)
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
No more output streams to write to, finishing.
[matroska @ 0000000001d72920] get_metadata_duration returned: 0
[matroska @ 0000000001d72920] Writing block at offset 12, size 5, pts 1000, dts 1000, duration 2000, keyframe 1
[matroska @ 0000000001d72920] end duration = 3000

Here is the gdb output:

Program received signal SIGSEGV, Segmentation fault.
mkv_write_trailer (s=0x1d72920)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/libavformat/matroskaenc.
c:2597
2597                    if (mkv->stream_duration_offsets[i] > 0) {
(gdb) bt
#0  mkv_write_trailer (s=0x1d72920)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/libavformat/matroskaenc.
c:2597
#1  0x0000000140100fa0 in av_write_trailer (s=s@entry=0x1d72920)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/libavformat/mux.c:1296
#2  0x0000000140023bdd in transcode ()
    at I:/media-autobuild_suite-master/build/ffmpeg-git/fftools/ffmpeg.c:4643
#3  0x00000001407ac5f2 in main (argc=<optimized out>, argv=<optimized out>)
    at I:/media-autobuild_suite-master/build/ffmpeg-git/fftools/ffmpeg.c:4812
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x1400bc080 to 0x1400bc0c0:
   0x00000001400bc080 <mkv_write_trailer+752>:  mov    %eax,0x38(%rsp)
   0x00000001400bc084 <mkv_write_trailer+756>:  test   %edx,%edx
   0x00000001400bc086 <mkv_write_trailer+758>:  je     0x1400bc0bf <mkv_write_tr
ailer+815>
   0x00000001400bc088 <mkv_write_trailer+760>:  mov    0x550(%rbx),%rcx
   0x00000001400bc08f <mkv_write_trailer+767>:  lea    0x40(%rsp),%r14
   0x00000001400bc094 <mkv_write_trailer+772>:  xor    %r15d,%r15d
   0x00000001400bc097 <mkv_write_trailer+775>:  nopw   0x0(%rax,%rax,1)
=> 0x00000001400bc0a0 <mkv_write_trailer+784>:  cmpq   $0x0,(%rcx,%r15,8)
   0x00000001400bc0a5 <mkv_write_trailer+789>:  lea    0x0(,%r15,8),%rax
   0x00000001400bc0ad <mkv_write_trailer+797>:  jg     0x1400bc1e3 <mkv_write_tr
ailer+1107>
   0x00000001400bc0b3 <mkv_write_trailer+803>:  lea    0x1(%r15),%eax
   0x00000001400bc0b7 <mkv_write_trailer+807>:  add    $0x1,%r15
   0x00000001400bc0bb <mkv_write_trailer+811>:  cmp    %eax,%edx
   0x00000001400bc0bd <mkv_write_trailer+813>:  ja     0x1400bc0a0 <mkv_write_tr
ailer+784>
   0x00000001400bc0bf <mkv_write_trailer+815>:  mov    0x38(%rsp),%rdx
End of assembler dump.
(gdb) info all-registers
rax            0x223d   8765
rbx            0x1d72f40        30879552
rcx            0x0      0
rdx            0x80     128
rsi            0x1d72920        30877984
rdi            0x2652080        40181888
rbp            0x1d72f48        0x1d72f48
rsp            0x22f320 0x22f320
r8             0x1      1
r9             0x1      1
r10            0x590158 5833048
r11            0x22ee18 2289176
r12            0x1d7308c        30879884
r13            0x3a9c   15004
r14            0x22f360 2290528
r15            0x0      0
rip            0x1400bc0a0      0x1400bc0a0 <mkv_write_trailer+784>
eflags         0x10246  [ PF ZF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
st0            0        (raw 0x00000000000000000000)
st1            0        (raw 0x00000000000000000000)
st2            0        (raw 0x00000000000000000000)
st3            0        (raw 0x00000000000000000000)
st4            0        (raw 0x00000000000000000000)
st5            0        (raw 0x00000000000000000000)
st6            0        (raw 0x00000000000000000000)
st7            2        (raw 0x40008000000000000000)
fctrl          0x37f    895
fstat          0x0      0
ftag           0x0      0
fiseg          0x0      0
fioff          0x407a169b       1081743003
foseg          0x0      0
fooff          0x22ddb0 2284976
fop            0x0      0
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0, 0x0, 0x0, 0x80, 0x0 <repeats 12 times>}, v8_int16 = {0x0,
    0x8000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x80000000, 0x0, 0x0,
    0x0}, v2_int64 = {0x80000000, 0x0},
  uint128 = 0x00000000000000000000000080000000}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0, 0x0, 0x0, 0x80, 0x0 <repeats 12 times>}, v8_int16 = {0x0,
    0x8000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x80000000, 0x0, 0x0,
    0x0}, v2_int64 = {0x80000000, 0x0},
  uint128 = 0x00000000000000000000000080000000}
xmm8           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0, 0x0, 0x0, 0x80, 0x0 <repeats 12 times>}, v8_int16 = {0x0,
    0x8000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x80000000, 0x0, 0x0,
    0x0}, v2_int64 = {0x80000000, 0x0},
  uint128 = 0x00000000000000000000000080000000}
xmm9           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm10          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm11          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm14          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
xmm15          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
mxcsr          0x1fa0   [ PE IM DM ZM OM UM PM ]

This time the block has been written; even the cues have been written. But the TrackID is written as 0x80 in the block, indicating an invalid TrackID 0.

c) I didn't get crashes when the tracks with TrackID 127 and 128 are empty (contain no packets). But the actually written TrackIDs for such tracks are wrong: 129 becomes 1, 130 2... This can be reproduced with "129.Tracks.128.Empty.mks".

Attachments (4)

127.Tracks.126.Empty.mks (63.3 KB) - added by mkver 3 weeks ago.
127 tracks, the first 126 of which are empty, the last one contains two blocks.
128.Tracks.127.Empty.mks (14.6 KB) - added by mkver 3 weeks ago.
128 tracks, the first 127 of which are empty, the last one contains one block.
ffmpeg-20171126-135634.log (223.6 KB) - added by mkver 3 weeks ago.
The report generated by ffmpeg in case a) outlined above.
ffmpeg-20171126-143234.log (45.7 KB) - added by mkver 3 weeks ago.
The report for b)

Download all attachments as: .zip

Change History (13)

Changed 3 weeks ago by mkver

127 tracks, the first 126 of which are empty, the last one contains two blocks.

Changed 3 weeks ago by mkver

128 tracks, the first 127 of which are empty, the last one contains one block.

Changed 3 weeks ago by mkver

The report generated by ffmpeg in case a) outlined above.

Changed 3 weeks ago by mkver

The report for b)

comment:1 Changed 3 weeks ago by heleppkes

While more then 127 tracks is technically allowed, the mkv specification discourages using more then that. Obviously avformat should not crash, so that should be fixed.

comment:2 follow-up: Changed 3 weeks ago by cehoyos

  • Keywords regression added

Why are there two samples allowing to reproduce the issue?

Please do not attach samples that do not allow to reproduce, this has often lead to confusion in the past.

comment:3 in reply to: ↑ 2 Changed 3 weeks ago by mkver

Replying to cehoyos:

Why are there two samples allowing to reproduce the issue?

Please do not attach samples that do not allow to reproduce, this has often lead to confusion in the past.

Because there might be two different reasons for the crashes. At least the gdb output shows that the segmentation fault occurs at line 2597 for b), for a) it's 2415. So I have uploaded samples for both. But I considered all of these three bugs to be so closely related that I have only opened one ticket. I have also uploaded a sample for c) (namely that the TrackID actually written to the blocks of the file are always only the seven least significant bits).

Last edited 3 weeks ago by mkver (previous) (diff)

comment:4 Changed 3 weeks ago by cehoyos

  • Reproduced by developer set
  • Status changed from new to open

For the 127 sample, this is a regression since 31852540d4fba0c4e8a16d0b3ddff08fc98e48fd

comment:5 Changed 3 weeks ago by cehoyos

And please do not upload output files unless specifically asked for.

comment:6 follow-up: Changed 3 weeks ago by cehoyos

For the 128 sample, this is a regression since 7be0f48a32155ef9f471ffc5a1b41d662ea337f1

comment:7 in reply to: ↑ 6 ; follow-up: Changed 3 weeks ago by jamrial

Replying to cehoyos:

For the 128 sample, this is a regression since 7be0f48a32155ef9f471ffc5a1b41d662ea337f1

That commit added a stream limit, but didn't enforce it anywhere...

Of course things are crashing with more than 126 streams. Code introduced in that commit is trying to write timestamps beyond the last_track_timestamp buffer, overwriting unrelated fields in the MatroskaMuxContext? struct in the process, which currently means the stream duration pointers.

With more than 128 streams you would probably get a crash in lines 2182/2184 instead.

comment:8 in reply to: ↑ 7 Changed 3 weeks ago by mkver

Replying to jamrial:

With more than 128 streams you would probably get a crash in lines 2182/2184 instead.

This is not what I experienced: It's just that the TrackIDs are not correct: The TrackID is encoded in one byte and therefore only the 7 least significant bits are correct. But there is no crash (in my tests).

comment:9 Changed 3 weeks ago by jamrial

  • Resolution set to fixed
  • Status changed from open to closed

The stream limit is now effective enforced since 9d464dc3fccb53f1e7c83e3453084c1a7fb90503.

Note: See TracTickets for help on using tickets.