Opened 8 years ago

Closed 4 years ago

#5090 closed defect (fixed)

fragmented mp4 have bad dts on video track

Reported by: alberto.zacchetti Owned by:
Priority: important Component: avformat
Version: git-master Keywords: mov regression
Cc: Michael Niedermayer, michel.gutierrez@gmail.com, v0qiu24elio.ldb63qpfmjrkkiv9el@gmail.com Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

ffmpeg version 2.8.3-39.1

As you can see from the attached log file, any fragments of video track begin with a dts that is not the continuation of the previous fragment, while in the audio track, dts grows properly, but both audio and video have tfdt box with the correct timing.
Indeed ffplay it does not play the video, but audio only.
However this has started to happen only recently, because before everything was ok.

Attachments (2)

log-ffplay.txt (1017.6 KB ) - added by alberto.zacchetti 8 years ago.
videofrag.mp4 (1.8 MB ) - added by alberto.zacchetti 8 years ago.
fragmented mp4

Change History (13)

by alberto.zacchetti, 8 years ago

Attachment: log-ffplay.txt added

by alberto.zacchetti, 8 years ago

Attachment: videofrag.mp4 added

fragmented mp4

comment:1 by Carl Eugen Hoyos, 8 years ago

Analyzed by developer: unset
Component: ffplayundetermined
Keywords: regression added; fragmented mp4 dts tfdt removed
Priority: criticalimportant

Please test current FFmpeg git head and provide the command line that allows to reproduce the issue together with the complete, uncut console output to make this a valid ticket.

comment:2 by alberto.zacchetti, 8 years ago

The command line is included in log-ffplay.txt attached and the fragmented mp4 file used in this test is videofrag.mp4 also attached. I will try the last release.

comment:3 by Carl Eugen Hoyos, 8 years ago

Component: undeterminedavformat
Keywords: mov added
Reproduced by developer: set
Status: newopen
Version: 2.8.3git-master

Regression since 4ab56667594842283dc5ae07f0daba2a2cb4d3af - related to ticket #3842.

$ ffmpeg -i videofrag.mp4 -qscale 2 out.avi
ffmpeg version N-77351-gec1b95d Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      55. 11.100 / 55. 11.100
  libavcodec     57. 18.100 / 57. 18.100
  libavformat    57. 20.100 / 57. 20.100
  libavdevice    57.  0.100 / 57.  0.100
  libavfilter     6. 21.100 /  6. 21.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'videofrag.mp4':
  Metadata:
    major_brand     : iso5
    minor_version   : 1
    compatible_brands: avc1iso5dash
    creation_time   : 2015-12-16 17:00:57
  Duration: 00:00:56.08, start: 0.000000, bitrate: 265 kb/s
    Stream #0:0(ita): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 720x480, 14589 kb/s, SAR 1:1 DAR 3:2, 29.97 fps, 90k tbr, 90k tbn, 180k tbc (default)
    Metadata:
      creation_time   : 2015-12-16 17:00:57
      handler_name    : VideoHandler
    Stream #0:1(ita): Audio: aac (LC) (mp4a / 0x6134706D), 32000 Hz, stereo, fltp, 63 kb/s (default)
    Metadata:
      creation_time   : 2015-12-16 17:00:57
      handler_name    : SoundHandler
Please use -q:a or -q:v, -qscale is ambiguous
Output #0, avi, to 'out.avi':
  Metadata:
    major_brand     : iso5
    minor_version   : 1
    compatible_brands: avc1iso5dash
    ISFT            : Lavf57.20.100
    Stream #0:0(ita): Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 720x480 [SAR 1:1 DAR 3:2], q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn, 29.97 tbc (default)
    Metadata:
      creation_time   : 2015-12-16 17:00:57
      handler_name    : VideoHandler
      encoder         : Lavc57.18.100 mpeg4
    Side data:
      unknown side data type 10 (24 bytes)
    Stream #0:1(ita): Audio: ac3 ([0] [0][0] / 0x2000), 32000 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      creation_time   : 2015-12-16 17:00:57
      handler_name    : SoundHandler
      encoder         : Lavc57.18.100 ac3
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native))
  Stream #0:1 -> #0:1 (aac (native) -> ac3 (native))
Press [q] to stop, [?] for help
Past duration 0.985344 too large
Past duration 0.999016 too large
Past duration 0.999443 too large
Past duration 0.999260 too large
Past duration 0.999748 too large
Past duration 0.998711 too large
Past duration 0.999199 too large
Past duration 0.999992 too large
frame=  121 fps=0.0 q=2.0 size=    3638kB time=00:00:41.18 bitrate= 723.7kbits/s dup=0 drop=15[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1f2b3c0] DTS 336330 < 357968 out of order
frame=  121 fps=0.0 q=2.0 Lsize=    4341kB time=00:01:00.00 bitrate= 592.6kbits/s dup=0 drop=1678 speed= 105x
video:2892kB audio:1406kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.975764%

The output file is completely broken.

comment:4 by alberto.zacchetti, 8 years ago

libavformat56 2.8-1.1 work fine
libavformat56 2.8.2-3.1 is broken

comment:5 by Carl Eugen Hoyos, 8 years ago

I tried to find out why this was broken in 2.8 but I wasn't successful:
http://thread.gmane.org/gmane.comp.video.ffmpeg.cvs/95515/focus=96922

comment:6 by Michael Niedermayer, 8 years ago

Cc: Michael Niedermayer added

comment:7 by alberto.zacchetti, 8 years ago

Still no change: ffplay 2.8.6 continues to give the same problem.
I'm sorry, because now many videos are fragmented because of the dash technology and ffmpeg is not more able to handle them.
I find it strange that it can not be fixed this bug that clearly refers to the dts of the video track.

comment:8 by Carl Eugen Hoyos, 7 years ago

Another sample is attached to ticket #6191.

comment:9 by mig, 6 years ago

Cc: michel.gutierrez@gmail.com added

comment:10 by Jacob, 5 years ago

Cc: v0qiu24elio.ldb63qpfmjrkkiv9el@gmail.com added

comment:11 by Carl Eugen Hoyos, 4 years ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.