"error, non monotone timestamps"
Hi, when trying to encode from a .mov with MPEG-4 video and PCM audio into .mp4 with MPEG-4 video and AAC audio I get: [avi @ 0x956cda0]st:0 error, non monotone timestamps 1028 >= 102889.9kbits/s av_interleaved_write_frame(): Operation not permitted I tried to demux and then mux them: Demux: ffmpeg -i 'Infile.mov' -vn -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.aac' and ffmpeg -i 'Infile.mov' -vcodec copy -an 'Outfilet.m2v' Mux: ffmpeg -i 'Outfile.m2v' -i 'Outfile.aac' -vcodec copy -acodec copy 'Final.mp4' While I finally got the audio to convert this way, the resulting Final.mp4 was out of sync. I tried to do a normal encode: ffmpeg -i 'Infile.mov' -vcodec copy -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.mp4' Which lead to my "error, non monotone timestamps" problem.
Hi, On 04/19/2010 06:46 PM, Kyle Schwarz wrote:
Hi, when trying to encode from a .mov with MPEG-4 video and PCM audio into .mp4 with MPEG-4 video and AAC audio I get:
[avi @ 0x956cda0]st:0 error, non monotone timestamps 1028>= 102889.9kbits/s av_interleaved_write_frame(): Operation not permitted
I tried to demux and then mux them:
Demux:
ffmpeg -i 'Infile.mov' -vn -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.aac'
and
ffmpeg -i 'Infile.mov' -vcodec copy -an 'Outfilet.m2v'
Mux:
ffmpeg -i 'Outfile.m2v' -i 'Outfile.aac' -vcodec copy -acodec copy 'Final.mp4'
While I finally got the audio to convert this way, the resulting Final.mp4 was out of sync.
I tried to do a normal encode:
ffmpeg -i 'Infile.mov' -vcodec copy -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.mp4'
Which lead to my "error, non monotone timestamps" problem.
Can you please post full ffmpeg output ? Can you please also make sure you are using latest svn version. Thanks. -- Baptiste COUDURIER Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA FFmpeg maintainer http://www.ffmpeg.org
Can you please post full ffmpeg output ?
ffmpeg -i 'Infile.mov' -vcodec copy -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.mp4' FFmpeg version SVN-r22915, Copyright (c) 2000-2010 the FFmpeg developers built on Apr 19 2010 19:46:48 with gcc 4.4.1 configuration: --prefix=/home/kyle/software/ffmpeg/built --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-x11grab --enable-pthreads --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --extra-cflags=-I/home/kyle/software/ffmpeg/external/include --extra-ldflags=-L/home/kyle/software/ffmpeg/external/lib libavutil 50.14. 0 / 50.14. 0 libavcodec 52.66. 0 / 52.66. 0 libavformat 52.61. 0 / 52.61. 0 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 0.10. 0 / 0.10. 0 libpostproc 51. 2. 0 / 51. 2. 0 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Infile.mov': Metadata: comment : EASTMAN KODAK COMPANY KODAK EASYSHARE Z1012 IS Digital Camera comment-eng : EASTMAN KODAK COMPANY KODAK EASYSHARE Z1012 IS Digital Camera Duration: 00:11:02.17, start: 0.000000, bitrate: 13962 kb/s Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 13695 kb/s, 30.01 fps, 30 tbr, 310531 tbn, 30 tbc Stream #0.1(eng): Audio: pcm_mulaw, 16000 Hz, 2 channels, s16, 256 kb/s Output #0, mp4, to 'Outfile.mp4': Metadata: encoder : Lavf52.61.0 Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 13695 kb/s, 30 tbn, 30 tbc Stream #0.1(eng): Audio: aac, 48000 Hz, 2 channels, s16, 320 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Press [q] to stop encoding [mp4 @ 0xa7ebda0]st:0 error, non monotone timestamps 1028 >= 102840.3kbits/s av_interleaved_write_frame(): Operation not permitted Can you please also make sure you are using latest svn version.
FFmpeg version SVN-r22915, Copyright (c) 2000-2010 the FFmpeg developers built on Apr 19 2010 19:46:48
On 04/20/2010 11:33 AM, Kyle Schwarz wrote:
Can you please post full ffmpeg output ?
ffmpeg -i 'Infile.mov' -vcodec copy -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.mp4' FFmpeg version SVN-r22915, Copyright (c) 2000-2010 the FFmpeg developers built on Apr 19 2010 19:46:48 with gcc 4.4.1 configuration: --prefix=/home/kyle/software/ffmpeg/built --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-x11grab --enable-pthreads --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --extra-cflags=-I/home/kyle/software/ffmpeg/external/include --extra-ldflags=-L/home/kyle/software/ffmpeg/external/lib libavutil 50.14. 0 / 50.14. 0 libavcodec 52.66. 0 / 52.66. 0 libavformat 52.61. 0 / 52.61. 0 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 0.10. 0 / 0.10. 0 libpostproc 51. 2. 0 / 51. 2. 0 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Infile.mov': Metadata: comment : EASTMAN KODAK COMPANY KODAK EASYSHARE Z1012 IS Digital Camera comment-eng : EASTMAN KODAK COMPANY KODAK EASYSHARE Z1012 IS Digital Camera Duration: 00:11:02.17, start: 0.000000, bitrate: 13962 kb/s Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 13695 kb/s, 30.01 fps, 30 tbr, 310531 tbn, 30 tbc Stream #0.1(eng): Audio: pcm_mulaw, 16000 Hz, 2 channels, s16, 256 kb/s Output #0, mp4, to 'Outfile.mp4': Metadata: encoder : Lavf52.61.0 Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 13695 kb/s, 30 tbn, 30 tbc Stream #0.1(eng): Audio: aac, 48000 Hz, 2 channels, s16, 320 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Press [q] to stop encoding [mp4 @ 0xa7ebda0]st:0 error, non monotone timestamps 1028>= 102840.3kbits/s
av_interleaved_write_frame(): Operation not permitted
Interesting, can you fill a bugreport following http://www.ffmpeg.org/bugreports.html ? Thanks a lot. -- Baptiste COUDURIER Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA FFmpeg maintainer http://www.ffmpeg.org
Baptiste Coudurier wrote:
On 04/20/2010 11:33 AM, Kyle Schwarz wrote:
Can you please post full ffmpeg output ?
ffmpeg -i 'Infile.mov' -vcodec copy -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.mp4' FFmpeg version SVN-r22915, Copyright (c) 2000-2010 the FFmpeg developers built on Apr 19 2010 19:46:48 with gcc 4.4.1 configuration: --prefix=/home/kyle/software/ffmpeg/built --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-x11grab --enable-pthreads --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --extra-cflags=-I/home/kyle/software/ffmpeg/external/include --extra-ldflags=-L/home/kyle/software/ffmpeg/external/lib libavutil 50.14. 0 / 50.14. 0 libavcodec 52.66. 0 / 52.66. 0 libavformat 52.61. 0 / 52.61. 0 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 0.10. 0 / 0.10. 0 libpostproc 51. 2. 0 / 51. 2. 0 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Infile.mov': Metadata: comment : EASTMAN KODAK COMPANY KODAK EASYSHARE Z1012 IS Digital Camera comment-eng : EASTMAN KODAK COMPANY KODAK EASYSHARE Z1012 IS Digital Camera Duration: 00:11:02.17, start: 0.000000, bitrate: 13962 kb/s Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 13695 kb/s, 30.01 fps, 30 tbr, 310531 tbn, 30 tbc Stream #0.1(eng): Audio: pcm_mulaw, 16000 Hz, 2 channels, s16, 256 kb/s Output #0, mp4, to 'Outfile.mp4': Metadata: encoder : Lavf52.61.0 Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 13695 kb/s, 30 tbn, 30 tbc Stream #0.1(eng): Audio: aac, 48000 Hz, 2 channels, s16, 320 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Press [q] to stop encoding [mp4 @ 0xa7ebda0]st:0 error, non monotone timestamps 1028>= 102840.3kbits/s
av_interleaved_write_frame(): Operation not permitted
Interesting, can you fill a bugreport following http://www.ffmpeg.org/bugreports.html ?
Thanks a lot.
On 04/20/2010 01:22 PM, Andy Sheen wrote:
Baptiste Coudurier wrote:
On 04/20/2010 11:33 AM, Kyle Schwarz wrote:
Can you please post full ffmpeg output ?
ffmpeg -i 'Infile.mov' -vcodec copy -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.mp4' FFmpeg version SVN-r22915, Copyright (c) 2000-2010 the FFmpeg developers built on Apr 19 2010 19:46:48 with gcc 4.4.1 configuration: --prefix=/home/kyle/software/ffmpeg/built --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-x11grab --enable-pthreads --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --extra-cflags=-I/home/kyle/software/ffmpeg/external/include --extra-ldflags=-L/home/kyle/software/ffmpeg/external/lib libavutil 50.14. 0 / 50.14. 0 libavcodec 52.66. 0 / 52.66. 0 libavformat 52.61. 0 / 52.61. 0 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 0.10. 0 / 0.10. 0 libpostproc 51. 2. 0 / 51. 2. 0 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Infile.mov': Metadata: comment : EASTMAN KODAK COMPANY KODAK EASYSHARE Z1012 IS Digital Camera comment-eng : EASTMAN KODAK COMPANY KODAK EASYSHARE Z1012 IS Digital Camera Duration: 00:11:02.17, start: 0.000000, bitrate: 13962 kb/s Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 13695 kb/s, 30.01 fps, 30 tbr, 310531 tbn, 30 tbc Stream #0.1(eng): Audio: pcm_mulaw, 16000 Hz, 2 channels, s16, 256 kb/s Output #0, mp4, to 'Outfile.mp4': Metadata: encoder : Lavf52.61.0 Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 13695 kb/s, 30 tbn, 30 tbc Stream #0.1(eng): Audio: aac, 48000 Hz, 2 channels, s16, 320 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Press [q] to stop encoding [mp4 @ 0xa7ebda0]st:0 error, non monotone timestamps 1028>= 102840.3kbits/s
av_interleaved_write_frame(): Operation not permitted
Interesting, can you fill a bugreport following http://www.ffmpeg.org/bugreports.html ?
Thanks a lot.
No, mkv is very different from mov/mp4 -- Baptiste COUDURIER Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA FFmpeg maintainer http://www.ffmpeg.org
Baptiste Coudurier wrote:
On 04/20/2010 01:22 PM, Andy Sheen wrote:
Baptiste Coudurier wrote:
On 04/20/2010 11:33 AM, Kyle Schwarz wrote:
Can you please post full ffmpeg output ?
ffmpeg -i 'Infile.mov' -vcodec copy -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.mp4' FFmpeg version SVN-r22915, Copyright (c) 2000-2010 the FFmpeg developers built on Apr 19 2010 19:46:48 with gcc 4.4.1 configuration: --prefix=/home/kyle/software/ffmpeg/built --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-x11grab --enable-pthreads --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --extra-cflags=-I/home/kyle/software/ffmpeg/external/include --extra-ldflags=-L/home/kyle/software/ffmpeg/external/lib libavutil 50.14. 0 / 50.14. 0 libavcodec 52.66. 0 / 52.66. 0 libavformat 52.61. 0 / 52.61. 0 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 0.10. 0 / 0.10. 0 libpostproc 51. 2. 0 / 51. 2. 0 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Infile.mov': Metadata: comment : EASTMAN KODAK COMPANY KODAK EASYSHARE Z1012 IS Digital Camera comment-eng : EASTMAN KODAK COMPANY KODAK EASYSHARE Z1012 IS Digital Camera Duration: 00:11:02.17, start: 0.000000, bitrate: 13962 kb/s Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 13695 kb/s, 30.01 fps, 30 tbr, 310531 tbn, 30 tbc Stream #0.1(eng): Audio: pcm_mulaw, 16000 Hz, 2 channels, s16, 256 kb/s Output #0, mp4, to 'Outfile.mp4': Metadata: encoder : Lavf52.61.0 Stream #0.0(eng): Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], q=2-31, 13695 kb/s, 30 tbn, 30 tbc Stream #0.1(eng): Audio: aac, 48000 Hz, 2 channels, s16, 320 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1 Press [q] to stop encoding [mp4 @ 0xa7ebda0]st:0 error, non monotone timestamps 1028>= 102840.3kbits/s
av_interleaved_write_frame(): Operation not permitted
Interesting, can you fill a bugreport following http://www.ffmpeg.org/bugreports.html ?
Thanks a lot.
No, mkv is very different from mov/mp4
I understand that, but the mkv support is broken still after a year - why would the mov/mp4 bug report be treated any differently? The subject comes up on the mail list every month or so - each time with a slightly different form. The key thing in *all* of them, is the codec = copy... There appears to be some fundamental problem in the timestamping code when you are *copying* a perfectly working stream (acodec and vcodec=copy shows the problem on the submitted mkvs).
There are several bugs in ffmpeg relating to straight copying. There are many times when it could simply use the existing parameters for the output but instead substitutes inane values, then errors. Lazy groidism is rampant. So, the solution is to explicitly code both streams, not using "copy". I had this problem with a number of streams, because of "-acodec copy". vsync options made no difference. Adding "-acodec libmp3lame" immediately solved the problem. -- View this message in context: http://ffmpeg-users.933282.n4.nabble.com/error-non-monotone-timestamps-tp201... Sent from the FFmpeg-users mailing list archive at Nabble.com.
Le septidi 7 brumaire, an CCXXI, Zarathustra a écrit :
There are several bugs in ffmpeg relating to straight copying. many times when it could simply use the existing parameters for the output but instead substitutes inane values, then errors. Lazy groidism is rampant.
Where are your bug reports?
So, the solution is to explicitly code both streams, not using "copy".
This is not a solution at all. Regards, -- Nicolas George
There are several bugs in ffmpeg relating to straight copying. There are many times when it could simply use the existing parameters for the output but instead substitutes inane values, then errors. Lazy groidism is rampant.
What is your full command line and console output? Also...writing with the intent to offend probably won't get you far. Anywhere. -r
Zarathustra <leelacade <at> centurylink.net> writes:
There are several bugs in ffmpeg relating to straight copying. There are many times when it could simply use the existing parameters for the output but instead substitutes inane values, then errors. Lazy groidism is rampant.
Fortunately, I don't understand the last sentence ;-) Seriously: Sending an answer to a 30-months old mailing list thread is rarely a good idea, and given that at least dozens of "straight copying" bugs were fixed since (most of the remaining issues simply need "-fflags +genpts"), you should really provide your failing command line together with complete, uncut console output and sample, maybe we can help you. Carl Eugen
Well, they're you've all got it. This "follow our inane rules or you don't exist" is what "extreme groidism" means. It's called testing. There is really scant error handling for cases where parameters *aren't* specified. Thousands waste hours every day because of it and all you care is that your cognescenti don't have to waste as much time figuring out how your "tested to spec and sweet fuck all the error cases" software works. That's the essence of "groidism". For those that just want a solution, don't code "-copy" when you're getting these errors. Specify the parameters. -- View this message in context: http://ffmpeg-users.933282.n4.nabble.com/error-non-monotone-timestamps-tp201... Sent from the FFmpeg-users mailing list archive at Nabble.com.
On Tue, 30 Oct 2012 02:32:07 -0000, Zarathustra <leelacade@centurylink.net> wrote:
Well, they're you've all got it.
What what? If you hadn't excised all context I might have had a chance of figuring out what you meant to type. Most old-fashioned netiquette has a reason; congratulations on tripping over one of the reasons for quoting. (Yes, I know you're using nabble. Most of us aren't. If you don't want to put the work in to give us a bit of context, that's fine, but then you can hardly expect the rest of us to put the work in to go get it either.)
This "follow our inane rules or you don't exist" is what "extreme groidism" means.
Thanks for explaining that neologism, that's always a good idea on a mailing list where many of the most frequent contributors don't have English as their first language. I had googled the term, but since most of the first page linked to this thread I gave up. I wondered if it was related to "grody", which I haven't heard in over a decade, but apparently not.
It's called testing. There is really scant error handling for cases where parameters *aren't* specified. Thousands waste hours every day because of it and all you care is that your cognescenti don't have to waste as much time figuring out how your "tested to spec and sweet fuck all the error cases" software works. That's the essence of "groidism".
Have you: (a) raised a bug report on the bug tracker about this? Preferably in more detail that "it's broken" if you don't want the time-honoured tech support response of "have you tried switching it off and on again?" (b) attempted to fix it yourself? This is an open source project, anyone can submit patches. I very much doubt it's an easy option, but it is on the table there. If neither of the above, why are you expecting something to magically happen?
For those that just want a solution, don't code "-copy" when you're getting these errors. Specify the parameters.
Well, it's a solution, but it's a remarkably poor one. Unless you really want different encoding parameters, decoding and reencoding will compound the loss of quality inherent in whatever codec you are using, quite apart from taking a lot longer. -- Rhodri James Kynesim Ltd
On Mon, Oct 29, 2012 at 8:32 PM, Zarathustra <leelacade@centurylink.net> wrote:
Well, they're you've all got it. This "follow our inane rules or you don't exist" is what "extreme groidism" means.
I just googled the Internets for "groidism," and the only thing I'm coming up with is "Groid: Slang, slightly demeaning term for black guy. Shortened form of Negroid." So I'm not sure what you're on about...
And a big thank-you to me... Ran into the problem again today and didn't remember the answer was to not code "-acodec copy", but "-acodec libmp3lame" or whatever you like. Fixed it again. Meanwhile, no movement on the bug fix. AND WHY, EXACTLY, IS THAT NOT A SOLUTION??? This is sooooo typical. You have a bug report for this when one is encoding a mkv, and every thread it's mentioned says stuff like, "have you opened a report for mp4", etc. This is real simple. The error message is wrong. If you're going to throw everything up in the air and quit, then explain why. As it stands the error handler closes the file and the caller says, "Oh, can't write to file" and exits. THAT is something that is not a solution. Oh, might want to sit down. This will be a huge shock. *whispers* (You could ignore the error and continue coding with the sync params from before the error and it would work just fine! But you'd rather have the program fail so that you KNOW there was a glitch of no consequence in the source. Wouldn't you? Hey, the programmer know more about what you want to do than you do!) -async 1 is a special case where only the start of the audio stream is corrected without any later correction. It is often helpful when you have audio and video out of sync, but the streams are the correct (same) length, and you just want it to start together and then keeping writing at that rate without trying to "help you". Yeah, it's one of the few examples where you can turn off the wonderful feature that doesn't work. This is how MS works. Why improve your product when you can dominate the market and define professionalism so that no one tries to do any better? I worked on that crap from version 0.1 in 1981 until the late '80s and what I'm seeing in the Linux community now feels like we're going exactly the same way. Yeah, I know that's out of left field, but...never mind. You'll never get it. Yeah, it's different. Ever noticed Calculator, Notepad and Paintbrush aren't like the rest of Windoze? Strong central metaphor about how to use it leveraging everyday experience, ability to think about your work, not the tool, didactic GUI... That was me. People who don't really get what I'm talking about have accepted the Microshaft philosophy. And a thread is relevant until the bug is fixed. Groids. (For the linguistically challenged that think anything not in Urban Dictionary is a neologism, it's a nerd without the socially acceptable spin) -- View this message in context: http://ffmpeg-users.933282.n4.nabble.com/error-non-monotone-timestamps-tp201... Sent from the FFmpeg-users mailing list archive at Nabble.com.
Zarathustra <leelacade <at> centurylink.net> writes:
You could ignore the error and continue coding with the sync params from before the error and it would work just fine!
No, it (unfortunately) wouldn't ;-( 1: As said, please do generally not reply to 30-months old threads, this is very rarely a good idea and certainly not in this case (where the problem always was unreproducible). 2: I am not a native speaker and I absolutely may miss something, but I did neither find a bug report nor a feature request in your mail but I have a (tiny) feeling that there is something you want to tell us. If I am right, please provide the command line that fails for your together with the complete uncut console output (that is everything ffmpeg prints on the screen including the command line you used). Carl Eugen
Date: Mon, 19 Apr 2010 21:46:08 -0400 From: Kyle Schwarz <kshawkeye at gmail.com> Sender: ffmpeg-user-bounces at mplayerhq.hu
Hi, when trying to encode from a .mov with MPEG-4 video and PCM audio into .mp4 with MPEG-4 video and AAC audio I get:
[avi @ 0x956cda0]st:0 error, non monotone timestamps 1028 >= 102889.9kbits/s av_interleaved_write_frame(): Operation not permitted
I tried to demux and then mux them:
Demux:
ffmpeg -i 'Infile.mov' -vn -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.aac'
and
ffmpeg -i 'Infile.mov' -vcodec copy -an 'Outfilet.m2v'
Mux:
ffmpeg -i 'Outfile.m2v' -i 'Outfile.aac' -vcodec copy -acodec copy 'Final.mp4'
While I finally got the audio to convert this way, the resulting Final.mp4 was out of sync.
I tried to do a normal encode:
ffmpeg -i 'Infile.mov' -vcodec copy -acodec libfaac -ab 320k -ar 48000 -ac 2 'Outfile.mp4'
Which lead to my "error, non monotone timestamps" problem.
I have fought this battle and sort of won. The problem appears to be damaged input files. I've run into this with TiVo files and files originally from video tapes. When played (xine), I see dropped and duplicate frame messages. mplayer keeps telling me that it is switching between 30 and 25 fps, although the source is all 30 fps. If the file is an AVI (as it always has been), it plays OK because the interleaving forces the audio and video to stay in pretty good sync, but the messed up time stamps causes them to slip out of sync when re-muxed, sometimes by seconds, but usually be just enough to be clearly out of sync to the viewer. I have found two things can help. The primary one is to use '-vsync 1'. It generally works, but will fail in cases where the offset is too great. In these cases, '-vsync 2' will work, but produces really, really bad 'jerks' in the video that make the output unacceptable. I still don't know exactly what the argument to -vsync really is, but I have looked through the code and it is clear that '0' does not do much, '1' does a 'reasonable' job and '2' does whatever is needed to keep things is tight sync which causes visible video flaws. If your audio is spoken or not pitch sensitive, -async is probably a better way to do this, but it messes up music. If anyone can confirm what the -vsync argument does, I'd be really happy to hear it. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman at es.net Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751
I have fought this battle and sort of won.
The problem appears to be damaged input files. I've run into this with TiVo files and files originally from video tapes. When played (xine), I see dropped and duplicate frame messages. mplayer keeps telling me that it is switching between 30 and 25 fps, although the source is all 30 fps.
If the file is an AVI (as it always has been), it plays OK because the interleaving forces the audio and video to stay in pretty good sync, but the messed up time stamps causes them to slip out of sync when re-muxed, sometimes by seconds, but usually be just enough to be clearly out of sync to the viewer.
I've always found it to be a problem with .mkvs personally. The thing that appears to be constant is that there is a -vcodec or -acodec copy in the command line. My workaround is to demux, reencode the audio and then remux (with mkvtoolnix) and I've never had any problems with A/V sync. This ALWAYS works for me - 3-4 lines of scripting and I work around the problems in ffmpeg :-s Perhaps this problem is symptomatic of many underlying issues. Certainly, I've not seen any fix that has been 100% successful since I submitted bug 807 (https://roundup.ffmpeg.org/issue807) over a year ago. I've lost interest in knowing if there is a bug fix - it appears the developers aren't interested in fixing bugs that are seen by a number of users, no matter how often they appear on the mailing list.... The default "bug fix submissions are welcome" message is, quite frankly, boring (my day job is software project management and when you've provided everything needed to fix the bug and the developers still aren't interested, then you've lost the battle ;)). Andy
participants (10)
-
baptiste.coudurier@gmail.com -
Carl Eugen Hoyos -
kshawkeye@gmail.com -
Michael Bradshaw -
Nicolas George -
oberman@es.net -
Rhodri James -
Roger Pack -
sheen.andy@googlemail.com -
Zarathustra