Opened 5 years ago

Last modified 5 years ago

#8105 open defect

ffmpeg doesn't recognize MP4 files with MPEG-2 video created by MP4Box anymore

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

Description (last modified by Carl Eugen Hoyos)

Recent versions of ffmpeg do not recognize MP4 files with MPEG-2 video created by MP4Box, only the ones created by ffmpeg itself. However old versions of ffmpeg such as 3.4.2 didn't have this problem.

ffmpeg -i GDTL.mp4
ffmpeg version 4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190716
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
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000052fd40] error reading header

==============================

=> ffmpeg -i GDTL.mp4
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --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-libmfx --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc
--enable-dxva2 --enable-avisynth
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GDTL.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isom
    creation_time   : 2018-09-25T18:53:18.000000Z
  Duration: 01:32:19.78, start: 0.000000, bitrate: 959 kb/s
    Stream #0:0(und): Video: mpeg2video (Main) (mp4v / 0x7634706D), yuv420p(tv, smpte170m), 544x
480 [SAR 20:17 DAR 4:3], 798 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
    Metadata:
      creation_time   : 2018-09-25T18:53:18.000000Z
      handler_name    : m2v@GPAC0.6.2-DEV-rev698-g8cee692-master
    Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, stereo, fltp, 160 kb/s (default)

    Metadata:
      creation_time   : 2018-09-25T18:54:16.000000Z
      handler_name    : ac3@GPAC0.6.2-DEV-rev698-g8cee692-master
    Side data:
      audio service type: main

And as a consequence, software that uses ffmpeg demuxers such as mpv and LAV Splitter are failing as well.

Here is the link to two sample files, one created with GPAC's MP4Box and the other created with ffmpeg 4.1.4.

http://www.mediafire.com/file/5oyqn0056fg28ek/Matsuoka-Riko-MP4s-samples.zip/file

Attachments (1)

mriko-gpac.mp4 (1.2 MB ) - added by Carl Eugen Hoyos 5 years ago.

Download all attachments as: .zip

Change History (4)

comment:1 by James, 5 years ago

Keywords: mp4 added
Priority: normalimportant
Reproduced by developer: set
Status: newopen
Version: 4.1.4git-master

Looks like a regression since abf669479c0098ab5eb184a167e57a70aabb942b.

The esds box reports an object type 0x65, which is for mpeg-2 4:2:2, but the stream is 4:2:0, so it's likely that gpac muxed it wrong.

comment:2 by Carl Eugen Hoyos, 5 years ago

Keywords: mov regression added; mp4 removed

by Carl Eugen Hoyos, 5 years ago

Attachment: mriko-gpac.mp4 added

comment:3 by Carl Eugen Hoyos, 5 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.