Opened 13 years ago
Closed 13 years ago
#415 closed defect (fixed)
vcodec copy fails with H264 stream from AVCHD container
Reported by: | Damian | 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 have a Canon HF G10 camcorder, which saves 1080p25/1080i50 H264+AC3 data streams in an AVCHD container.
When attempting to copy the streams into an mp4 (or mov, but not mkv) container, ffmpeg is failing with a 'non monotonically increasing dts' error message before writing the first frame. I'm on Mac OSX 10.6, I've tried both ffmpeg 0.8.0 (compiled by Homebrew) and 0.8.2 (compiled by ./configure && make).
commandline + output:
$ ffmpeg -v 9 -loglevel 99 -i 00167.MTS -vcodec copy -acodec copy 00167.mp4 ffmpeg version 0.8.2, Copyright (c) 2000-2011 the FFmpeg developers built on Aug 22 2011 16:25:22 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3) configuration: libavutil 51. 9. 1 / 51. 9. 1 libavcodec 53. 7. 0 / 53. 7. 0 libavformat 53. 4. 0 / 53. 4. 0 libavdevice 53. 1. 1 / 53. 1. 1 libavfilter 2. 23. 0 / 2. 23. 0 libswscale 2. 0. 0 / 2. 0. 0 [mpegts @ 0x10104ec00] Format mpegts probed with size=2048 and score=100 [mpegts @ 0x10104ec00] stream=0 stream_type=1b pid=1011 prog_reg_desc=HDMV [mpegts @ 0x10104ec00] stream=1 stream_type=81 pid=1100 prog_reg_desc=HDMV [h264 @ 0x101057200] Unsupported bit depth: 0 [h264 @ 0x101057200] no picture Last message repeated 1 times Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 50.00 (50/1) Last message repeated 1 times Input #0, mpegts, from '../raw/AVCHD/BDMV/STREAM/00167.MTS': Duration: 00:00:01.44, start: 0.483578, bitrate: 12967 kb/s Program 1 Stream #0.0[0x1011], 72, 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], 45, 1/90000: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s Output #0, mp4, to '00167.mp4': Metadata: encoder : Lavf53.4.0 Stream #0.0, 0, 1/25: Video: ![0][0][0] / 0x0021, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 1/25, q=2-31, 25 tbn, 25 tbc Stream #0.1, 0, 1/48000: Audio: ac3, 48000 Hz, stereo, 256 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Press [q] to stop, [?] for help [mp4 @ 0x101071e00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 1 >= 1 av_interleaved_write_frame(): Invalid argument
output of mediainfo:
$ mediainfo 00167.MTS General ID : 0 (0x0) Complete name : 00167.MTS Format : BDAV Format/Info : Blu-ray Video File size : 2.24 MiB Duration : 1s 350ms Overall bit rate : 13.8 Mbps Maximum Overall bit rate : 18.0 Mbps Video ID : 4113 (0x1011) Menu ID : 1 (0x1) Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4.0 Format settings, CABAC : Yes Format settings, ReFrames : 2 frames Codec ID : 27 Duration : 1s 360ms Bit rate mode : Variable Bit rate : 13.0 Mbps Maximum bit rate : 16.0 Mbps Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate : 25.000 fps Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Interlaced Scan order : Top Field First Bits/(Pixel*Frame) : 0.251 Stream size : 2.11 MiB (94%) Audio ID : 4352 (0x1100) Menu ID : 1 (0x1) Format : AC-3 Format/Info : Audio Coding 3 Mode extension : CM (complete main) Codec ID : 129 Duration : 1s 440ms Bit rate mode : Constant Bit rate : 256 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 KHz Bit depth : 16 bits Compression mode : Lossy Stream size : 45.0 KiB (2%)
Original file is attached and at http://frey.co.nz/share/00167.MTS (2.2MB)
Attachments (2)
Change History (10)
by , 13 years ago
comment:1 by , 13 years ago
-- I forgot to state that the video 00167.MTS was recorded at 1080i 50fps 'FXP' quality (17Mbps). I didn't try other quality/FPS settings.
comment:2 by , 13 years ago
-- Also note that -vcodec copy to a Matroska mkv stream doesn't trigger the error. Could it be related to AVFMT_TS_NONSTRICT ?
comment:3 by , 13 years ago
Priority: | important → normal |
---|---|
Reproduced by developer: | set |
Status: | new → open |
Version: | 0.8.2 → git-master |
Do you believe this is a regression?
comment:4 by , 13 years ago
I don't think so -- some casual googling seem to show up long-standing issues with -vcodec copy and h.264 B-frames (which are present in the provided 00167.MTS).
comment:5 by , 13 years ago
I have the same problem with the "JVC Everio GZ-HM650" at XP recording mode, 1920x1080 pixels, Average Approximate 17 Mbps.
FFMPEG build: N-32023-gf138c7f
Not working:
ffmpeg -i 0001.MTS -vcodec copy -acodec copy out/0001.mp4
but when transcoding like:
ffmpeg -i 0001.MTS -vcodec libx264 -acodec copy out/0001.mp4
it Works.
I will add a small sample file later on.
comment:6 by , 13 years ago
I've discovered that ffmbc http://code.google.com/p/ffmbc/ can do this out of the box (tested ffmbc 0.6):
ffmbc -i 00167.MTS -vcodec copy -acodec aac -ab 256k 00167.mp4
produces an .mp4 that Quicktime is perfectly happy to play. I wonder how easy/difficult it would be to backport ffmbc patches to ffmpeg?
by , 13 years ago
Extra file: non monotonically increasing dts to muxer in stream 0: 1 >= 1
comment:7 by , 13 years ago
Keywords: | h264 av_interleaved_write_frame added |
---|
comment:8 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
AVCHD file causing 'non monotonically increasing dts' error with -vcodec copy