Opened 12 years ago

Closed 12 years ago

#1724 closed defect (fixed)

Remuxing MKV to MPEG-TS causes video to freeze with latest builds

Reported by: Dennis Owned by:
Priority: important Component: avformat
Version: git-master Keywords: regression
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by Carl Eugen Hoyos)

Remuxing an MKV with h264 video to an MPEG-TS (video only, audio doesn't matter) causes the video to freeze with latest FFmpeg builds.

The latest working build I have is N-43161-g31d8261 - a few days, or a couple of weeks after that, this issue came up.

It happens on my Sony Bravia TV, playing the same file remuxed using two different FFmpeg versions. The first output works, the second one freezes.

Works:

ffmpeg.exe -i "E:\remux_frozen_video_sample.mkv"  -y  -c:v copy  -map 0:0  -bsf h264_mp4toannexb   -c:a ac3_fixed  -b:a 640000  -ar 48000  -ac 6  -map 0:1  -f mpegts   -threads 0 -crf 23 "E:\out.mts"
ffmpeg version N-43161-g31d8261 Copyright (c) 2000-2012 the FFmpeg developers
  built on Aug  3 2012 12:09:29 with gcc 4.7.1 (GCC)
  configuration: --prefix=/home/dennis/out --disable-shared --enable-static --cross-prefix=i686-w64-mingw32- --arch=x86 --target-os=mingw32 --enable-cross-compile --disable-ffprobe --disable-ffplay --disable-ffserver --pkg-config=pkg-config --enable-gpl --enable-version3 --disable-w32threads --enable-memalign-hack --enable-zlib --disable-postproc --enable-libx264 --extra-libs='-lx264 -lpthread' --enable-runtime-cpudetect --extra-cflags=-I/home/dennis/cc/include --extra-ldflags=-L/home/dennis/cc/lib --enable-libmp3lame
  libavutil      51. 66.100 / 51. 66.100
  libavcodec     54. 48.100 / 54. 48.100
  libavformat    54. 22.100 / 54. 22.100
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3.  5.101 /  3.  5.101
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
Input #0, matroska,webm, from 'E:\remux_frozen_video_sample.mkv':
  Metadata:
    creation_time   : 2007-11-13 23:05:10
  Duration: 01:56:35.99, start: 0.000000, bitrate: 46 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x536, SAR 1:1 DAR 160:67, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s (default)
    Stream #0:2(eng): Subtitle: ssa (default)
    Stream #0:3(fre): Subtitle: ssa
    Stream #0:4(rum): Subtitle: ssa
    Stream #0:5(dut): Subtitle: ssa
    Stream #0:6(spa): Subtitle: ssa
    Stream #0:7: Attachment: ttf
    Metadata:
      filename        : CronosPro-Bold.ttf
      mimetype        : application/x-truetype-font
    Stream #0:8: Attachment: ttf
    Metadata:
      filename        : CronosPro-Semibold.ttf
      mimetype        : application/x-truetype-font
    Stream #0:9: Attachment: ttf
    Metadata:
      filename        : CronosPro-SemiboldIt.ttf
      mimetype        : application/x-truetype-font
[mpegts @ 03fdb700] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts
Output #0, mpegts, to 'E:\out.mts':
  Metadata:
    encoder         : Lavf54.22.100
    Stream #0:0(eng): Video: h264, yuv420p, 1280x536 [SAR 1:1 DAR 160:67], q=2-31, 23.98 fps, 90k tbn, 23.98 tbc (default)
    Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1, s16, 640 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (dca -> ac3_fixed)
Press [q] to stop, [?] for help
frame=  326 fps=0.0 q=-1.0 size=    5088kB time=00:00:13.51 bitrate=3084.5kbits/s    
frame=  567 fps=545 q=-1.0 size=    8152kB time=00:00:23.56 bitrate=2833.9kbits/s    
frame=  902 fps=586 q=-1.0 size=   11896kB time=00:00:37.53 bitrate=2596.2kbits/s    
frame= 1317 fps=646 q=-1.0 size=   16148kB time=00:00:54.84 bitrate=2411.9kbits/s    
frame= 1742 fps=686 q=-1.0 size=   19931kB time=00:01:12.57 bitrate=2249.8kbits/s    
frame= 2140 fps=704 q=-1.0 size=   27172kB time=00:01:29.17 bitrate=2496.2kbits/s    
frame= 2286 fps=707 q=-1.0 size=   32077kB time=00:01:35.26 bitrate=2758.4kbits/s    

video:21970kB audio:7458kB subtitle:0 global headers:0kB muxing overhead 9.001473%

Freezes:

ffmpeg.exe -i "E:\remux_frozen_video_sample.mkv"  -y  -c:v copy  -map 0:0  -bsf h264_mp4toannexb   -c:a ac3_fixed  -b:a 640000  -ar 48000  -ac 6  -map 0:1  -f mpegts   -threads 0 -crf 23 "E:\out.mts"
ffmpeg version N-44287-gdd081f9 Copyright (c) 2000-2012 the FFmpeg developers
  built on Sep  9 2012 08:51:01 with gcc 4.7.1 (GCC)
  configuration: --prefix=/home/dennis/out --disable-shared --enable-static --cross-prefix=i686-w64-mingw32- --arch=x86 --target-os=mingw32 --enable-cross-compile --disable-ffprobe --disable-ffplay --disable-ffserver --pkg-config=pkg-config --enable-gpl --enable-version3 --disable-pthreads --enable-memalign-hack --enable-zlib --disable-postproc --enable-libx264 --extra-libs=-lx264 --enable-runtime-cpudetect --extra-cflags=-I/home/dennis/cc/include --extra-ldflags=-L/home/dennis/cc/lib --enable-libmp3lame
  libavutil      51. 72.100 / 51. 72.100
  libavcodec     54. 55.100 / 54. 55.100
  libavformat    54. 25.105 / 54. 25.105
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 16.100 /  3. 16.100
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
Input #0, matroska,webm, from 'E:\remux_frozen_video_sample.mkv':
  Metadata:
    creation_time   : 2007-11-13 23:05:10
  Duration: 01:56:35.99, start: 0.000000, bitrate: 46 kb/s
    Stream #0:0(eng): Video: h264 (High), yuv420p, 1280x536, SAR 1:1 DAR 160:67, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s (default)
    Stream #0:2(eng): Subtitle: ssa (default)
    Stream #0:3(fre): Subtitle: ssa
    Stream #0:4(rum): Subtitle: ssa
    Stream #0:5(dut): Subtitle: ssa
    Stream #0:6(spa): Subtitle: ssa
Codec 0x18000 is not in the full list.
    Stream #0:7: Attachment: unknown_codec
    Metadata:
      filename        : CronosPro-Bold.ttf
      mimetype        : application/x-truetype-font
Codec 0x18000 is not in the full list.
    Stream #0:8: Attachment: unknown_codec
    Metadata:
      filename        : CronosPro-Semibold.ttf
      mimetype        : application/x-truetype-font
Codec 0x18000 is not in the full list.
    Stream #0:9: Attachment: unknown_codec
    Metadata:
      filename        : CronosPro-SemiboldIt.ttf
      mimetype        : application/x-truetype-font
[mpegts @ 040c61a0] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts
Output #0, mpegts, to 'E:\out.mts':
  Metadata:
    encoder         : Lavf54.25.105
    Stream #0:0(eng): Video: h264, yuv420p, 1280x536 [SAR 1:1 DAR 160:67], q=2-31, 23.98 fps, 90k tbn, 23.98 tbc (default)
    Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1, s16, 640 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (dca -> ac3_fixed)
Press [q] to stop, [?] for help
frame=  129 fps=0.0 q=-1.0 size=    2020kB time=00:00:05.43 bitrate=3045.3kbits/s    
frame=  263 fps=263 q=-1.0 size=    4058kB time=00:00:11.06 bitrate=3003.7kbits/s    
frame=  433 fps=288 q=-1.0 size=    6288kB time=00:00:18.04 bitrate=2855.2kbits/s    
frame=  627 fps=312 q=-1.0 size=    8766kB time=00:00:26.26 bitrate=2734.0kbits/s    
frame=  874 fps=349 q=-1.0 size=   11732kB time=00:00:36.50 bitrate=2632.9kbits/s    
frame= 1106 fps=365 q=-1.0 size=   13889kB time=00:00:46.10 bitrate=2467.8kbits/s    
frame= 1341 fps=380 q=-1.0 size=   16160kB time=00:00:56.02 bitrate=2362.8kbits/s    
frame= 1537 fps=381 q=-1.0 size=   18442kB time=00:01:04.11 bitrate=2356.3kbits/s    
frame= 1778 fps=390 q=-1.0 size=   20276kB time=00:01:14.16 bitrate=2239.5kbits/s    
frame= 2017 fps=397 q=-1.0 size=   24900kB time=00:01:24.18 bitrate=2423.0kbits/s    
frame= 2211 fps=391 q=-1.0 size=   28801kB time=00:01:32.21 bitrate=2558.5kbits/s    
frame= 2286 fps=392 q=-1.0 size=   32078kB time=00:01:35.44 bitrate=2753.2kbits/s    

video:21970kB audio:7458kB subtitle:0 global headers:0kB muxing overhead 9.004592%

I've tried both w32threads and pthreads without luck.

I'm uploading a sample "remux_frozen_video_sample.*" to the ftp.

Change History (7)

comment:1 by Roger Pack, 12 years ago

what about other players? It might be hard to reproduce the failure if devs need a Sony bravia...

comment:2 by Dennis, 12 years ago

I'll need to check, but I think VLC plays it fine. It may be some change that makes the file less-compatible with hardware-based players.

comment:3 by Carl Eugen Hoyos, 12 years ago

Description: modified (diff)

comment:4 by Carl Eugen Hoyos, 12 years ago

Component: undeterminedavformat
Keywords: regression added
Priority: normalimportant
Status: newopen
Version: unspecifiedgit-master

I suspect this is a regression since 3e1cf49 - related to ticket #1242.

comment:5 by Michael Niedermayer, 12 years ago

Please find / confirm the exact git revission at which this problem was introduced.
Especially if this cannot be reproduced with a software player that we have access to.

comment:6 by Dennis, 12 years ago

With Carl's help, I can confirm that git 2107009 works and 3e1cf49 fails.

comment:7 by Michael Niedermayer, 12 years ago

Resolution: fixed
Status: openclosed

possibly fixed, please reopen ticket if not!

Note: See TracTickets for help on using tickets.