Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#239 closed defect (fixed)

Unable to transcode mjpeg/yuvj422p to libvpx

Reported by: Mark Rose Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: libvpx
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

I run a site with user uploaded video, and some videos fail to transcode to webm (but successfully transcode to MP4). Here is a sample command and output:

ffmpeg -y -i 449893.orig  -vcodec libvpx -b 400k -bt 200k -s 240x180 -acodec libvorbis -ac 2 -ar 44100 -ab 96k -async 2  449893.fmt4.webm
ffmpeg version git-N-30219-g07586b6, Copyright (c) 2000-2011 the FFmpeg developers
  built on May 25 2011 11:07:00 with gcc 4.5.2
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil    51.  2. 2 / 51.  2. 2
  libavcodec   53.  6. 0 / 53.  6. 0
  libavformat  53.  2. 0 / 53.  2. 0
  libavdevice  53.  0. 0 / 53.  0. 0
  libavfilter   2. 11. 0 /  2. 11. 0
  libswscale    0. 14. 0 /  0. 14. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Input #0, avi, from '449893.orig':
  Metadata:
    creation_time   : 2011-03-09 11:05:20
    encoder         : SONY DSC MJPEG 0100
  Duration: 00:00:52.33, start: 0.000000, bitrate: 2831 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 320x240, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      title           : SONY DSC MOVIE
    Stream #0.1: Audio: pcm_mulaw, 11025 Hz, 1 channels, s16, 88 kb/s
Incompatible pixel format 'yuvj422p' for codec 'libvpx', auto-selecting format 'yuv420p'
[buffer @ 0x21167c0] w:320 h:240 pixfmt:yuvj422p tb:1/1000000 sar:0/1 sws_param:                                                                                                                                                                                                                                                            
[scale @ 0x20ef720] w:320 h:240 fmt:yuvj422p -> w:240 h:180 fmt:yuv420p flags:0x4
[libvpx @ 0x20eb680] v0.9.6-277-gd75eb73
Output #0, webm, to '449893.fmt4.webm':
  Metadata:
    creation_time   : 2011-03-09 11:05:20
    encoder         : Lavf53.2.0
    Stream #0.0: Video: libvpx, yuv420p, 240x180, q=2-31, 400 kb/s, 1k tbn, 30 tbc
    Metadata:
      title           : SONY DSC MOVIE
    Stream #0.1: Audio: libvorbis, 44100 Hz, 2 channels, s16, 96 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop, [?] for help
[webm @ 0x20ec980] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 33 >= 33
av_interleaved_write_frame(): Invalid argument  

Attachments (3)

449893.orig.cut (2.4 MB ) - added by Mark Rose 13 years ago.
cut version of input file, full version is available if needed
548793.orig.cut (2.4 MB ) - added by Mark Rose 13 years ago.
A file recorded with a Fujifilm device, same issue.
555629.orig.cut (2.4 MB ) - added by Mark Rose 13 years ago.
Same problem, third device creating file.

Change History (7)

by Mark Rose, 13 years ago

Attachment: 449893.orig.cut added

cut version of input file, full version is available if needed

comment:1 by Carl Eugen Hoyos, 13 years ago

Keywords: libvpx added
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

Only reproducible with libvpx

$ ffmpeg -i 449893.orig.cut -an -vcodec libvpx out.avi
ffmpeg version git-N-30221-g364889c, Copyright (c) 2000-2011 the FFmpeg developers
  built on May 25 2011 20:23:02 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc --enable-libvorbis --enable-libvpx
  libavutil    51.  2. 2 / 51.  2. 2
  libavcodec   53.  6. 0 / 53.  6. 0
  libavformat  53.  2. 0 / 53.  2. 0
  libavdevice  53.  0. 0 / 53.  0. 0
  libavfilter   2. 11. 0 /  2. 11. 0
  libswscale    0. 14. 0 /  0. 14. 0
Input #0, avi, from '449893.orig.cut':
  Metadata:
    creation_time   : 2011-03-09 11:05:20
    encoder         : SONY DSC MJPEG 0100
  Duration: 00:00:52.33, start: 0.000000, bitrate: 391 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 320x240, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      title           : SONY DSC MOVIE
    Stream #0.1: Audio: pcm_mulaw, 11025 Hz, 1 channels, s16, 88 kb/s
Incompatible pixel format 'yuvj422p' for codec 'libvpx', auto-selecting format 'yuv420p'
[buffer @ 0x126e880] w:320 h:240 pixfmt:yuvj422p tb:1/1000000 sar:0/1 sws_param:
[ffsink @ 0x1270860] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x127dbc0] w:320 h:240 fmt:yuvj422p -> w:320 h:240 fmt:yuv420p flags:0x4
[libvpx @ 0x126c640] v0.9.6
Output #0, avi, to 'out.avi':
  Metadata:
    creation_time   : 2011-03-09 11:05:20
    ISFT            : Lavf53.2.0
    Stream #0.0: Video: libvpx, yuv420p, 320x240, q=2-31, 200 kb/s, 30 tbn, 30 tbc
    Metadata:
      title           : SONY DSC MOVIE
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop, [?] for help
[avi @ 0x126dde0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 1 >= 1
av_interleaved_write_frame(): Invalid argument
$ ffmpeg -i 449893.orig.cut -an -vcodec libvpx out.mov
ffmpeg version git-N-30221-g364889c, Copyright (c) 2000-2011 the FFmpeg developers
  built on May 25 2011 20:23:02 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc --enable-libvorbis --enable-libvpx
  libavutil    51.  2. 2 / 51.  2. 2
  libavcodec   53.  6. 0 / 53.  6. 0
  libavformat  53.  2. 0 / 53.  2. 0
  libavdevice  53.  0. 0 / 53.  0. 0
  libavfilter   2. 11. 0 /  2. 11. 0
  libswscale    0. 14. 0 /  0. 14. 0
Input #0, avi, from '449893.orig.cut':
  Metadata:
    creation_time   : 2011-03-09 11:05:20
    encoder         : SONY DSC MJPEG 0100
  Duration: 00:00:52.33, start: 0.000000, bitrate: 391 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 320x240, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      title           : SONY DSC MOVIE
    Stream #0.1: Audio: pcm_mulaw, 11025 Hz, 1 channels, s16, 88 kb/s
Incompatible pixel format 'yuvj422p' for codec 'libvpx', auto-selecting format 'yuv420p'
[buffer @ 0x126e840] w:320 h:240 pixfmt:yuvj422p tb:1/1000000 sar:0/1 sws_param:
[ffsink @ 0x1270860] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x127dbc0] w:320 h:240 fmt:yuvj422p -> w:320 h:240 fmt:yuv420p flags:0x4
[libvpx @ 0x126c640] v0.9.6
[mov @ 0x126dde0] Warning, using MS style video codec tag, the file may be unplayable!
[mov @ 0x126dde0] WARNING codec timebase is very high. If duration is too long,
file may not be playable by quicktime. Specify a shorter timebase
or choose different container.
Output #0, mov, to 'out.mov':
  Metadata:
    creation_time   : 2011-03-09 11:05:20
    encoder         : Lavf53.2.0
    Stream #0.0: Video: libvpx, yuv420p, 320x240, q=2-31, 200 kb/s, 1000k tbn, 30 tbc
    Metadata:
      title           : SONY DSC MOVIE
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop, [?] for help
[mov @ 0x126dde0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 33333 >= 33333
av_interleaved_write_frame(): Invalid argument

by Mark Rose, 13 years ago

Attachment: 548793.orig.cut added

A file recorded with a Fujifilm device, same issue.

by Mark Rose, 13 years ago

Attachment: 555629.orig.cut added

Same problem, third device creating file.

comment:2 by Mark Rose, 13 years ago

I've added two new files created by different devices that also exhibit the problem, so I would think it's a general bug and not a random occurrence. I also have other files created by the Sony and Fujifilm recorders.

comment:3 by Carl Eugen Hoyos, 13 years ago

Resolution: fixed
Status: openclosed

I suspect this is fixed in latest git head, please test.

comment:4 by Mark Rose, 13 years ago

The changes appear to have fixed the problem. It transcoded all my test videos okay. Thanks!!

Note: See TracTickets for help on using tickets.