[FFmpeg-trac] #6487(undetermined:new): Transcoding h.264 mp4 file from Canon C100 leads to a/v desync

FFmpeg trac at avcodec.org
Sat Jun 24 10:51:28 EEST 2017


#6487: Transcoding h.264 mp4 file from Canon C100 leads to a/v desync
-------------------------------------+-------------------------------------
             Reporter:  rmk          |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:

 Camera files of this type from the Canon C100, transcoded by ffmpeg result
 in a two-frame a/v offset in the created files, regardless of output
 codec.

 Quick analysis looks like there's simply something wrong in the timestamps
 of the decoded video frames. While in the packet timestamps the PTS for
 first packet (in display order) is 0 for audio and video, in the decoded
 frames it is 2002 for video and 0 for audio which makes ffmpeg duplicate
 the first frame twice to fill the gap of two frames.

 I will upload the sample.

 How to reproduce (with full command line output):
 {{{
 ffmpeg -i MVI_0312.MP4 -vcodec mjpeg ~/tmp/ffmpeg-out.mov
 ffmpeg version N-86581-ge5bce8b4ce Copyright (c) 2000-2017 the FFmpeg
 developers
   built with Apple LLVM version 8.1.0 (clang-802.0.42)
   configuration:
   libavutil      55. 66.100 / 55. 66.100
   libavcodec     57. 99.100 / 57. 99.100
   libavformat    57. 73.100 / 57. 73.100
   libavdevice    57.  7.100 / 57.  7.100
   libavfilter     6. 94.100 /  6. 94.100
   libswscale      4.  7.101 /  4.  7.101
   libswresample   2.  8.100 /  2.  8.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0312.MP4':
   Metadata:
     major_brand     : mp42
     minor_version   : 1
     compatible_brands: mp42avc1CAEP
     creation_time   : 2017-06-13T19:42:42.000000Z
     timecode        : 17:07:33:05
   Duration: 00:00:02.00, start: 0.000000, bitrate: 25030 kb/s
     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
 bt709), 1920x1080, 23728 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc
 (default)
     Metadata:
       creation_time   : 2017-06-13T19:42:42.000000Z
     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
 stereo, fltp, 252 kb/s (default)
     Metadata:
       creation_time   : 2017-06-13T19:42:42.000000Z
     Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
     Metadata:
       creation_time   : 2017-06-13T19:42:42.000000Z
       timecode        : 17:07:33:05
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
   Stream #0:1 -> #0:1 (aac (native) -> aac (native))
 Press [q] to stop, [?] for help
 [swscaler @ 0x7fbb240d4e00] deprecated pixel format used, make sure you
 did set range correctly
 Output #0, mov, to '/Users/krueger/tmp/ffmpeg-out.mov':
   Metadata:
     major_brand     : mp42
     minor_version   : 1
     compatible_brands: mp42avc1CAEP
     timecode        : 17:07:33:05
     encoder         : Lavf57.73.100
     Stream #0:0(eng): Video: mjpeg (jpeg / 0x6765706A), yuvj420p(pc),
 1920x1080, q=2-31, 200 kb/s, 23.98 fps, 24k tbn, 23.98 tbc (default)
     Metadata:
       creation_time   : 2017-06-13T19:42:42.000000Z
       encoder         : Lavc57.99.100 mjpeg
     Side data:
       cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
 stereo, fltp, 128 kb/s (default)
     Metadata:
       creation_time   : 2017-06-13T19:42:42.000000Z
       encoder         : Lavc57.99.100 aac
 frame=   48 fps=0.0 q=24.8 Lsize=    3191kB time=00:00:01.98
 bitrate=13174.3kbits/s dup=2 drop=0 speed=2.18x
 video:3155kB audio:33kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 0.091139%
 [aac @ 0x7fbb22023400] Qavg: 1975.941
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6487>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list