Opened 6 months ago

Last modified 5 months ago

#6284 open defect

FFMPEG doesn't output video with MP4 file that has broken frames

Reported by: mrcatmann Owned by:
Priority: important Component: undetermined
Version: git-master Keywords: mov edts regression
Cc: isasi Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

I'm trying to re-encode a MP4 video with FFMPEG version 3.2.4-1~14.04.york1 (the original video is playable in all Windows players like WMP or MPC):

ffmpeg -re -i /home/clip.mp4 -y -preset ultrafast -crf 35 -c:a aac -threads 2 /home/conv1.mp4

But the converter freezes at the first frame, there are many such identical strings:

frame=    0 fps=0.0 q=0.0 Lsize= 

So the output has no video, just an audio track.
And FFProbe says that it seems the video container normally:

ffprobe version git-2017-01-22-f1214ad Copyright (c) 2007-2017 the FFmpeg  developers built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libwavpack --enable-nvenc
libavutil      55. 44.100 / 55. 44.100
libavcodec     57. 75.100 / 57. 75.100
libavformat    57. 63.100 / 57. 63.100
libavdevice    57.  2.100 / 57.  2.100
libavfilter     6. 69.100 /  6. 69.100
libavresample   3.  2.  0 /  3.  2.  0
libswscale      4.  3.101 /  4.  3.101
libswresample   2.  4.100 /  2.  4.100
libpostproc    54.  2.100 / 54.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/clip.mp4':
Metadata:
major_brand     : dash
minor_version   : 0
compatible_brands: iso6avc1mp41
creation_time   : 2016-03-17T09:39:29.000000Z
Duration: 00:04:18.46, start: 0.000000, bitrate: 3109 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1440x1080 [SAR 1:1 DAR 4:3], 2981 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
Metadata:
  creation_time   : 2016-03-17T09:39:29.000000Z
  handler_name    : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
  creation_time   : 2016-03-17T09:36:59.000000Z
  handler_name    : SoundHandler

Tried converting the video to different formats - still same results, no video.

Change History (3)

comment:1 Changed 6 months ago by mrcatmann

Here is the video (doesn't work with HTML5 player but works when downloaded):
http://185.144.30.77/clip.mp4

comment:2 Changed 6 months ago by cehoyos

  • Cc isasi added
  • Component changed from ffmpeg to undetermined
  • Keywords mov edts regression added; mp4 broken removed
  • Priority changed from normal to important
  • Reproduced by developer set
  • Status changed from new to open
  • Version changed from unspecified to git-master

For future tickets: Don't forget to test current FFmpeg git head and provide both command line and complete, uncut console output of the command line you tested, please don't add ffprobe output, it is useless.

$ ffmpeg -i clip.mp4 -qscale 2 out.mov
ffmpeg version N-85025-g6426f74 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 6.3.0 (GCC)
  configuration: --enable-gpl
  libavutil      55. 57.100 / 55. 57.100
  libavcodec     57. 88.100 / 57. 88.100
  libavformat    57. 70.100 / 57. 70.100
  libavdevice    57.  5.100 / 57.  5.100
  libavfilter     6. 81.100 /  6. 81.100
  libswscale      4.  5.100 /  4.  5.100
  libswresample   2.  6.100 /  2.  6.100
  libpostproc    54.  4.100 / 54.  4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip.mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2016-03-17T09:39:29.000000Z
  Duration: 00:04:18.46, start: 0.000000, bitrate: 3109 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1440x1080 [SAR 1:1 DAR 4:3], 2981 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2016-03-17T09:39:29.000000Z
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      creation_time   : 2016-03-17T09:36:59.000000Z
      handler_name    : SoundHandler
Please use -q:a or -q:v, -qscale is ambiguous
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
Too many packets buffered for output stream 0:1.
[aac @ 0x3950b80] Qavg: 4413.040
[aac @ 0x3950b80] 2 frames left in the queue on closing
Conversion failed!

The regression since af1761f7 is a duplicate of ticket #6275 (which seems to have a bad title), the regression since ca6cae73 could be a duplicate of ticket #6138.

Last edited 5 months ago by cehoyos (previous) (diff)

comment:3 Changed 6 months ago by isasi

See https://trac.ffmpeg.org/ticket/6138#comment:7 . You can use -advanced_editlist=0 to turn off the edit list parsing feature, to make these files pass.

Note: See TracTickets for help on using tickets.