Opened 4 years ago

Closed 4 years ago

#4765 closed defect (fixed)

concat and image (pipe) demuxer regression

Reported by: cehoyos Owned by: cus
Priority: important Component: avformat
Version: git-master Keywords: image2 concat regression
Cc: cus@passwd.hu Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

http://thread.gmane.org/gmane.comp.video.ffmpeg.user/54496

$ ffmpeg -i fate-suite/lena.pnm                       out1.png
$ ffmpeg -i fate-suite/lena.pnm -vf rotate=3.1415/2   out2.png
$ ffmpeg -i fate-suite/lena.pnm -vf rotate=3.1415     out3.png
$ ffmpeg -i fate-suite/lena.pnm -vf rotate=3.1415*3/2 out4.png
$ cat concat.txt
file out1.png
duration 2
file out2.png
duration 4
file out3.png
duration 8
file out4.png
duration 16

The following command worked fine until b3fd2b175c90b4766034095e74e1f5112b1547ef (related to ticket #3901), current git head produces four output frames but with completely wrong duration.

$ ffmpeg -f concat -i concat.txt out.avi
ffmpeg version N-74327-g7e9cd99 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      54. 30.100 / 54. 30.100
  libavcodec     56. 57.100 / 56. 57.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 32.100 /  5. 32.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, concat, from 'concat.txt':
  Duration: 00:00:30.00, start: 775903366.480000, bitrate: 0 kb/s
    Stream #0:0: Video: png, rgb24(pc), 256x256, 25 tbr, 25 tbn, 25 tbc
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf56.40.101
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 256x256, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc56.57.100 mpeg4
Stream mapping:
  Stream #0:0 -> #0:0 (png (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
[concat @ 0x369a1c0] DTS -230575710986727 < -9214782102262 out of order
DTS -221360928884465, next:40000 st:0 invalid dropping
PTS -221360928884465, next:40000 invalid dropping st:0
DTS -221360928884365, next:80000 st:0 invalid dropping
PTS -221360928884365, next:80000 invalid dropping st:0
DTS -221360928884165, next:120000 st:0 invalid dropping
PTS -221360928884165, next:120000 invalid dropping st:0
frame=    4 fps=0.0 q=2.4 Lsize=      81kB time=00:00:00.16 bitrate=4145.1kbits/s
video:75kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 7.498801%

Originally, --disable-demuxer=image_*_pipe could be used as work-around (and the issue was that only one output frame was produced), this is not possible since 7ff0137a1f3bd6b12ca0c55303085ef3128ded98

Change History (2)

comment:1 Changed 4 years ago by cus

  • Cc cus@passwd.hu added
  • Owner set to cus
  • Status changed from new to open

Hmm, it seems like I've broken it. I will send a fix to ffmpeg-devel soon.

comment:2 Changed 4 years ago by cus

  • Resolution set to fixed
  • Status changed from open to closed

Should be fixed in 086001652982db6c22bcff30e122ebe8229a1d85.

Reopen if something is still not right, the output seems fine to me in ffplay after the patch.

Note: See TracTickets for help on using tickets.