[FFmpeg-trac] #7900(avformat:new): MP4 file probed at 50fps instead of 25fps

FFmpeg trac at avcodec.org
Tue May 14 14:41:45 EEST 2019


#7900: MP4 file probed at 50fps instead of 25fps
------------------------------------+----------------------------------
             Reporter:  zerodefect  |                     Type:  defect
               Status:  new         |                 Priority:  normal
            Component:  avformat    |                  Version:  4.1
             Keywords:              |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+----------------------------------
 Probing an .mp4 file with ffprobe on a file which contains AVC video
 interlaced at 25fps reports a framerate of 50fps. A sample file is
 attached.

 I believe the framerate is reported at 50fps because the file has each
 video field stored as a separate mp4 sample. I'm aware of ticket #3393
 which talks about violations of the ISO spec. The use case there was
 slightly different because the file was being transcoded from .ts to .mp4.
 In this scenario, an existing file is merely probed.  Admittedly, I'm not
 an mp4 guru, so I don't quite understand the result of the discussion.
 Won't fix?

 Apologies if this is the same result as for #3393. Nonetheless, I'm hoping
 the outcome will be of benefit to others (regardless).

 The output of ffprobe is as follows:

 {{{
 >ffprobe.exe -i HX999999.mp4
 ffprobe version 4.1.3 Copyright (c) 2007-2019 the FFmpeg developers
   built with gcc 8.3.1 (GCC) 20190414
   configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-
 fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-
 libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-
 amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus
 --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora
 --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp
 --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg
 --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-
 libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex
 --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-
 ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec
 --enable-dxva2 --enable-avisynth
   libavutil      56. 22.100 / 56. 22.100
   libavcodec     58. 35.100 / 58. 35.100
   libavformat    58. 20.100 / 58. 20.100
   libavdevice    58.  5.100 / 58.  5.100
   libavfilter     7. 40.101 /  7. 40.101
   libswscale      5.  3.100 /  5.  3.100
   libswresample   3.  3.100 /  3.  3.100
   libpostproc    55.  3.100 / 55.  3.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
 'C:\Users\GavinSmith\Downloads\HX999999.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: isom
     creation_time   : 2018-11-09T10:18:12.000000Z
   Duration: 00:00:03.00, start: 0.000000, bitrate: 9165 kb/s
     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
 bt709), 1920x1080 [SAR 1:1 DAR 16:9], 8999 kb/s, 50 fps, 50 tbr, 50k tbn,
 50 tbc (default)
     Metadata:
       creation_time   : 2018-11-09T10:18:12.000000Z
       handler_name    : MP4 Video Media Handler
       encoder         : AVC Coding
     Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, stereo,
 fltp, 160 kb/s (default)
     Metadata:
       creation_time   : 2018-11-09T10:18:12.000000Z
       handler_name    : MP4 Sound Media Handler
     Side data:
       audio service type: main
 }}}

 The output of mp4 explorer below shows

 moov/trak/mdia/mdhd


 {{{
     timescale = 50000
     duration = 150000
     duration(ms) = 3000
 }}}

 moov/trak/mdia/minf/stbl/stsd/stts

 {{{
     entry_count = 1
     entry        0 = sample_count=150, sample_delta=1000
 }}}

 How to reproduce:
 {{{
 % ffprobe.exe -i C:\Users\GavinSmith\Downloads\HX999999.mp4
 }}}

 FFmpeg version v4.1.3 (and nightly build)
 Windows-10 64-bit (set via ffmpeg.zeranoe.com) - Static Build

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


More information about the FFmpeg-trac mailing list