[FFmpeg-trac] #2777(avcodec:open): H.264 decoding failure

FFmpeg trac at avcodec.org
Sat Jul 13 11:15:20 CEST 2013


#2777: H.264 decoding failure
-------------------------------------+-------------------------------------
             Reporter:               |                    Owner:
  Snowknight26                       |                   Status:  open
                 Type:  defect       |                Component:  avcodec
             Priority:  important    |               Resolution:
              Version:  git-master   |               Blocked By:
             Keywords:  mkv h264     |  Reproduced by developer:  1
  regression                         |
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by cehoyos):

 Replying to [comment:5 Snowknight26]:
 > http://stfcc.org/misc/mkvmerge%20split%20source.mp4
 >
 > The best I can do is the above file.

 Is the problem - that short extracts of the file do not play without
 -flags2 showall / that the beginning of the file does not play without
 -flags2 showall - also reproducible with the original file as produced by
 capture card or only after the file was remuxed with FFmpeg?

 It is ''possible'' that FFmpeg behaves as specified, unfortunately the
 reference decoder (JM 18.5) crashes for the sample, so I cannot judge.
 If there is an issue, it can be reproduced by transcoding with and without
 -flags2 showall, the first 17 seconds are missing without showall:
 {{{
 $ ffmpeg -i mkvmerge\ split\ source.mp4 -t 20 -qscale 2 out.avi
 ffmpeg version N-54692-gdd1382a Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Jul 13 2013 01:32:58 with gcc 4.7 (SUSE Linux)
   configuration: --enable-gpl --disable-indev=jack --enable-libopenjpeg
   libavutil      52. 39.100 / 52. 39.100
   libavcodec     55. 18.102 / 55. 18.102
   libavformat    55. 12.102 / 55. 12.102
   libavdevice    55.  3.100 / 55.  3.100
   libavfilter     3. 80.101 /  3. 80.101
   libswscale      2.  3.100 /  2.  3.100
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  3.100 / 52.  3.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mkvmerge split source.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf55.12.102
   Duration: 00:01:57.08, start: 0.016000, bitrate: 14887 kb/s
     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1280x720 [SAR 1:1 DAR 16:9], 14885 kb/s, 60 fps, 60 tbr, 180k tbn, 120 tbc
     Metadata:
       handler_name    : VideoHandler
 Please use -q:a or -q:v, -qscale is ambiguous
 Output #0, avi, to 'out.avi':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     ISFT            : Lavf55.12.102
     Stream #0:0(eng): Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1280x720
 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 60 tbn, 60 tbc
     Metadata:
       handler_name    : VideoHandler
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 -> mpeg4)
 Press [q] to stop, [?] for help
 frame=  206 fps=138 q=2.0 Lsize=    7806kB time=00:00:20.00
 bitrate=3197.1kbits/s
 video:7772kB audio:0kB subtitle:0 global headers:0kB muxing overhead
 0.435589%
 }}}
 {{{
 $ ffmpeg -flags2 showall -i mkvmerge\ split\ source.mp4 -t 20 -qscale 2
 outshowall.avi
 ffmpeg version N-54692-gdd1382a Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Jul 13 2013 01:32:58 with gcc 4.7 (SUSE Linux)
   configuration: --enable-gpl --disable-indev=jack --enable-libopenjpeg
   libavutil      52. 39.100 / 52. 39.100
   libavcodec     55. 18.102 / 55. 18.102
   libavformat    55. 12.102 / 55. 12.102
   libavdevice    55.  3.100 / 55.  3.100
   libavfilter     3. 80.101 /  3. 80.101
   libswscale      2.  3.100 /  2.  3.100
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  3.100 / 52.  3.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mkvmerge split source.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf55.12.102
   Duration: 00:01:57.08, start: 0.016000, bitrate: 14887 kb/s
     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1280x720 [SAR 1:1 DAR 16:9], 14885 kb/s, 60 fps, 60 tbr, 180k tbn, 120 tbc
     Metadata:
       handler_name    : VideoHandler
 Please use -q:a or -q:v, -qscale is ambiguous
 Output #0, avi, to 'outshowall.avi':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     ISFT            : Lavf55.12.102
     Stream #0:0(eng): Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1280x720
 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 60 tbn, 60 tbc
     Metadata:
       handler_name    : VideoHandler
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 -> mpeg4)
 Press [q] to stop, [?] for help
 frame= 1200 fps=376 q=2.0 Lsize=   43227kB time=00:00:20.00
 bitrate=17705.8kbits/s
 video:43193kB audio:0kB subtitle:0 global headers:0kB muxing overhead
 0.079508%
 }}}
 out.avi is only ~3,5 seconds long

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2777#comment:6>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list