Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#222 closed defect (fixed)

Remuxing video fails

Reported by: Ian Lynagh Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: h264 av_interleaved_write_frame
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

I was trying to remux http://urchin.earth.li/~ian/video_problem/00001.MTS (8 MB) but I get:

$ ffmpeg -i 00001.MTS -vcodec copy -acodec copy 00001.mp4
ffmpeg version git-N-29957-g85eedcf, Copyright (c) 2000-2011 the FFmpeg developers
  built on May 18 2011 20:45:00 with gcc 4.6.1 20110507 (prerelease)
  configuration: --prefix=/home/ian/code/ffmpeg/inst2 --enable-gpl
  libavutil    51.  2. 1 / 51.  2. 1
  libavcodec   53.  5. 0 / 53.  5. 0
  libavformat  53.  1. 0 / 53.  1. 0
  libavdevice  53.  0. 0 / 53.  0. 0
  libavfilter   2.  5. 0 /  2.  5. 0
  libswscale    0. 14. 0 /  0. 14. 0
  libpostproc  51.  2. 0 / 51.  2. 0

Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 50.00 (50/1)
Input #0, mpegts, from '00001.MTS':
  Duration: 00:00:04.16, start: 1.000033, bitrate: 16038 kb/s
  Program 1 
    Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
    Stream #0.2[0x1200]: Subtitle: pgssub
Output #0, mp4, to '00001.mp4':
  Metadata:
    encoder         : Lavf53.1.0
    Stream #0.0: Video: ![0][0][0] / 0x0021, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 25 tbn, 25 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, 5.1, 448 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop, [?] for help
[mp4 @ 0x247f600] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 1 >= 1
av_interleaved_write_frame(): Invalid argument
$

More info:

$ ffmpeg -v 9 -loglevel 99 -i 00001.MTS
ffmpeg version git-N-29957-g85eedcf, Copyright (c) 2000-2011 the FFmpeg developers
  built on May 18 2011 20:45:00 with gcc 4.6.1 20110507 (prerelease)
  configuration: --prefix=/home/ian/code/ffmpeg/inst2 --enable-gpl
  libavutil    51.  2. 1 / 51.  2. 1
  libavcodec   53.  5. 0 / 53.  5. 0
  libavformat  53.  1. 0 / 53.  1. 0
  libavdevice  53.  0. 0 / 53.  0. 0
  libavfilter   2.  5. 0 /  2.  5. 0
  libswscale    0. 14. 0 /  0. 14. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[NULL @ 0x2963d40] Format mpegts probed with size=2048 and score=100
[mpegts @ 0x2963d40] stream=0 stream_type=1b pid=1011 prog_reg_desc=HDMV
[mpegts @ 0x2963d40] stream=1 stream_type=81 pid=1100 prog_reg_desc=HDMV
[mpegts @ 0x2963d40] stream=2 stream_type=90 pid=1200 prog_reg_desc=HDMV
[h264 @ 0x29692e0] Unsupported bit depth: 0
[h264 @ 0x29692e0] no picture
[mpegts @ 0x2963d40] Probe buffer size limit 5000000 reached

Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 50.00 (50/1)
Input #0, mpegts, from '00001.MTS':
  Duration: 00:00:04.16, start: 1.000033, bitrate: 16038 kb/s
  Program 1 
    Stream #0.0[0x1011], 137, 1/90000: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 1/50, 50 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x1100], 76, 1/90000: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
    Stream #0.2[0x1200], 30, 1/90000: Subtitle: pgssub
At least one output file must be specified
$

Attachments (1)

test.h264 (500.0 KB ) - added by Carl Eugen Hoyos 13 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by Carl Eugen Hoyos, 13 years ago

Priority: importantnormal
Reproduced by developer: set
Status: newopen
ffmpeg -i test.h264 -vcodec copy out.mp4
ffmpeg version git-N-30023-g7e5cb2e, Copyright (c) 2000-2011 the FFmpeg developers
  built on May 19 2011 16:44:57 with gcc 4.5.3
  configuration: --enable-libopencv --cc=/usr/local/gcc-4.5.3/bin/gcc --enable-gpl
  libavutil    51.  2. 1 / 51.  2. 1
  libavcodec   53.  6. 0 / 53.  6. 0
  libavformat  53.  1. 0 / 53.  1. 0
  libavdevice  53.  0. 0 / 53.  0. 0
  libavfilter   2.  5. 0 /  2.  5. 0
  libswscale    0. 14. 0 /  0. 14. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[h264 @ 0x12ae060] Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 25.00 (50/2)
Input #0, h264, from 'test.h264':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 fps, 25 tbr, 1200k tbn, 50 tbc
Output #0, mp4, to 'out.mp4':
  Metadata:
    encoder         : Lavf53.1.0
    Stream #0.0: Video: ![0][0][0] / 0x0021, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 25 tbn, 25 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop, [?] for help
[mp4 @ 0x12acc20] pts has no value
    Last message repeated 2 times
[mp4 @ 0x12acc20] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 1 >= 1
av_interleaved_write_frame(): Invalid argument

by Carl Eugen Hoyos, 13 years ago

Attachment: test.h264 added

comment:2 by etienne, 13 years ago

I get this outcome with -acodec copy -vcodec copy, and muxing to avi, mpeg4, asf, and probably others. The non-monotonic TS is different for each muxer, but is constant for a same muxer.

comment:3 by Carl Eugen Hoyos, 12 years ago

Keywords: h264 av_interleaved_write_frame added

comment:4 by Carl Eugen Hoyos, 12 years ago

Resolution: fixed
Status: openclosed

comment:5 by Sergey, 12 years ago

Resolution: fixed
Status: closedreopened

I get similar output with latest ffmpeg from master. Muxing http://archive.dev.video.oprf.ru/conference_9/speaker/conference_9_1_1.flv to mp4.

Got:

/usr/local/bin/ffmpeg -i conference_9_1_1.flv -vcodec  copy -acodec copy conference_9_1_1.mp4
ffmpeg version git-2011-12-12-7fad19a, Copyright (c) 2000-2011 the FFmpeg developers
  built on Dec 12 2011 14:12:18 with gcc 4.4.5
  configuration: --enable-libdc1394 --prefix=/usr/local --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --extra-libs=-lgcrypt --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 42. 0 / 53. 42. 0
  libavformat  53. 24. 0 / 53. 24. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 /  2. 53. 0
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[flv @ 0x21c29a0] max_analyze_duration 5000000 reached at 5018000

Seems stream 0 codec frame rate differs from container frame rate: 20.00 (20/1) -> 9.92 (119/12)
Input #0, flv, from 'conference_9_1_1.flv':
  Metadata:
    creationdate    : Tue Nov 15 11:44:43
  Duration: 00:05:26.60, start: 0.000000, bitrate: 561 kb/s
    Stream #0:0: Video: h264 (Baseline), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 9.92 tbr, 1k tbn, 20 tbc
    Stream #0:1: Audio: mp3, 44100 Hz, mono, s16, 64 kb/s
Output #0, mp4, to 'conference_9_1_1.mp4':
  Metadata:
    creationdate    : Tue Nov 15 11:44:43
    encoder         : Lavf53.24.0
    Stream #0:0: Video: h264 (![0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 1k tbn, 1k tbc
    Stream #0:1: Audio: mp3 (i[0][0][0] / 0x0069), 44100 Hz, mono, 64 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mp4 @ 0x21ca380] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 6969035 >= 6968065
av_interleaved_write_frame(): Invalid argument

This flv was recorded by Wowza 2.2.4, pushed to server by FMLE.

comment:6 by Carl Eugen Hoyos, 12 years ago

Resolution: fixed
Status: reopenedclosed

Please open a new ticket if you cannot reproduce the original issue with the original sample.

comment:7 by wlzh, 12 years ago

this ticket is resolved by the newest version of libav.

i test just now.

Note: See TracTickets for help on using tickets.