Opened 5 years ago

Closed 5 years ago

#7900 closed defect (duplicate)

MP4 file probed at 50fps instead of 25fps

Reported by: Gavin Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


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':
    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)
      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)
      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


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


    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 - Static Build

Attachments (1) (85.1 KB ) - added by Gavin 5 years ago.
Sample file 'HX999999.mp4' zipped.

Download all attachments as: .zip

Change History (2)

by Gavin, 5 years ago

Attachment: added

Sample file 'HX999999.mp4' zipped.

comment:1 by Carl Eugen Hoyos, 5 years ago

Component: avformatundetermined
Resolution: duplicate
Status: newclosed
Version: 4.1unspecified

For future tickets: Please remember that only current FFmpeg git head is supported on this bug tracker.

Looks like a duplicate of ticket #5794.

Note: See TracTickets for help on using tickets.