[Ffmpeg-devel-irc] ffmpeg.log.20120119

burek burek021 at gmail.com
Fri Jan 20 02:05:01 CET 2012

[01:14] <blizzow> I'm sure this has been answered a million times before, but I don't see a quick google answer.  Can ffmpeg read and convert the gotomeeting g2m4 codec to another format?
[01:37] <posciak> hi, I'm trying to extract elementary stream from an mp4 container, I tried various combinations of ffmpeg -i foo.mp4 -vcodec copy -f h264 out, but it doesn't seem to be producing what I'm looking for... I can't find valid start code prefixes in output file... What am I doing wrong?
[02:01] <zerwas> When i use -sameq to process a asf file, the audio quality drops extremely, why is that?
[02:01] <zerwas> Is -sameq only valid for video and not audio?
[02:07] <posciak> ok, figured it out, needed the h264_mp4toannexb filter
[02:19] <iiu7> I'm converting a MKV file and somewhere while running I get this error and ffmpeg quits.
[02:20] <iiu7> Application provided invalid, non monotonically increasing dts to muxer in stream 1: 401137 >= 401077 av_interleaved_write_frame(): Invalid argument
[02:20] <LexSfX> i've seen that before too; never did figure it out  :L
[02:20] <LexSfX> (sorry for the unhelpful comment)
[02:20] <iiu7> Is there a way to deal with it?
[02:20] <iiu7> np
[02:21] <LexSfX> i used a different tool instead, but that's obviously not ideal
[02:21] <iiu7> I could try with mencoder, but I really prefer ffmpeg
[02:22] <LexSfX> might try using mkvextract to extract the streams, then using ffmpeg from there
[02:35] <iiu7> Gonna use mencoder I think, but thanks!
[02:35] <iiu7> ;)
[03:01] <linuxis> Excuse me, I've been trying to edit this bash script to pipe shoutcast streams through ffplay but I can't seem to do it right
[03:02] <linuxis> No matter what, I get errors
[03:05] <linuxis> ( http://yp.shoutcast.com/sbin/tunein-station.pls?id=93492 )
[03:05] <linuxis> Uhh sorry disregard that
[03:14] <treund> does ffplay take stdin   ffplay -
[03:16] <xxthink> I use ffmpeg to stream a video on the fly
[03:17] <xxthink> ./ffmpeg -i mmsh:// -vcodec libx264 -preset fast -g 60 -vb 500000 -strict experimental -acodec aac -ab 64000 -ar 44100 -ac 2 -f flv
[03:17] <xxthink> but if fails
[03:17] <xxthink> [tcp @ 0x1c25fbe0] TCP connection to failed: Connection refused
[03:17] <xxthink> How to give the output parameters?
[03:19] <xxthink> ?
[03:30] <xxthink> does ffmpeg support http streaming?
[03:30] <xxthink> output
[03:55] <EOF-sensei> http://se.xlu.be/thaicp.jpg
[04:42] <llrcombs> Anyone know much about libavcodec on iOS?
[08:38] <piece3> Hi
[08:39] <spaam> hi there
[08:39] <piece3> Excuse me ppl, is there a way to break 1 video into smaller videos by time?
[08:40] <piece3> Say I have 1 minute video and I want to divide it into 6, 10s videos, the "-t 10" option only stops after the first video has been created
[08:41] <piece3> e.g. ">ffmpeg -i in_video -t 10 out_video"
[08:42] <spaam> then you needd to start at 10s and encode 10s.. then 20s encode 10s and so on.
[08:43] <piece3> Ok, the issue I need to resolve is we have an rtsp feed that runs 24h 7 days a week. I need to break that feed up into 30minute segements
[08:43] <spaam> -ss 10   .. -ss 20
[08:44] <spaam> ok.
[08:44] <piece3> Not missing a frame
[08:44] <spaam> then i dont know how you can do it.
[08:46] <piece3> Hmm, ok, do you think it may be possible, or for sure it can't be done?
[08:51] <piece3> I think I could program a script that every nth amount of time, it started another thread recording the rtsp and then stopped the current one
[08:56] <piece3> another question if you don't mind. I keep getting the following error "timebase 1/90000 not supported by MPEG 4 standard, the maximum admitted value for the timebase denominator is 65535"
[08:57] <piece3> Any clues on this, sometimes my tbr from my rtsp feeds are 90K other times they are 25
[08:57] <piece3> It seems to be random.
[09:06] <piece3> Anybody got any clues on this one, or is this more a devel question?
[09:24] <cbreak-work> piece3: 90000 fps?
[09:27] <piece3> Yeah, something's not right
[09:28] <rfx> I know this Q is not related to ffmpeg, but is there software to recommend (win or linux) which is able to edit containers/streams meta data? i.e. owner, copyright, name of title, etc.?
[09:29] <cbreak-work> hex editor + wikipedia? :/
[09:29] <Mavrik_> rfx, depends on a container really
[09:29] <Mavrik_> you use your container tools
[09:30] <Mavrik_> (or ffmpeg :) )
[09:30] <piece3> cbreak: The media boxes sending out the rtsp feed are actually only sending 25fps, I don't know why sometimes the feeds register on ffmpeg as 25 tbr other times 90k tbr
[09:49] <Milos> libaacplus: bad aac setting: br:128000, AACch:2, AACsr:24000
[09:49] <Milos> [libaacplus @ 0x9a1de0] libaacplus doesn't support this output format!
[09:49] <Milos> Hmm?
[09:49] <Milos> I'm trying to drop side channels, I want only stereo.
[09:49] <Milos> The stream apparently has 6 channels.
[09:50] <Mavrik_> Milos, libaacplus doesn't support encoding over 64k of bitrate
[09:50] <Milos> Which causes "[libaacplus @ 0x8ec110] encoding 6 channel(s) is not allowed"
[09:50] <Milos> So I used -ac 2
[09:50] <Milos> Ohhh
[09:50] <Milos> Ok, I can change that by doing -ab 32k?
[09:50] <Mavrik_> -ab 64k :)
[09:50] <Milos> sure
[09:50] <Milos> ok thanks
[09:50] <Mavrik_> or, in new versions -b:a 64k is preferred
[09:50] <Milos> you're super helpful, are you a dev?
[09:50] <Milos> :)
[09:50] <Mavrik_> I'm not an ffmpeg contributor no... but I do develop software that uses ffmpeg extensively ;)
[09:51] <Milos> ah I see! :D
[09:51] <Milos> you know a lot, and I thank you for continually giving really good answers, I've been here a few times
[09:59] <rfx> Mavrik_: understood .. in my case, it's "only" mp4 and webm right now; just in case, any tools to recommend for those formats?
[09:59] <rfx> I mean, wiping all meta data with ffmpeg and writing my own I do probably prefer, for automating ... hmm
[10:00] <Mavrik_> rfx, I've heard mp4box is nice for mp4 files... wouldn't know what to use for WebM, sorry
[10:03] <Milos> Is it possible to ignore errors like "incomplete frame" when encoding a live stream (which is what I am doing?)
[10:04] <Milos> I don't want that to abort the process.
[10:05] <Mavrik_> hmmm... it shouldn't fail when encoding
[10:08] <Mavrik_> Milos, does it just give warnings or does it crash?
[10:10] <Milos> Mavrik_, http://dpaste.com/690157/
[10:10] <Milos> Mavrik_, then it just stops
[10:10] <Milos> Mavrik_, doesn't always happen at the same time, sometimes takes seconds, sometimes minutes
[10:11] <Mavrik_> hmmm...
[10:11] <Mavrik_> it seems your stream is so broken at times it cannot recover
[10:11] <Milos> yeah can ffmpeg ignore that
[10:11] <Milos> it's broken on purpose; the antenna is not perfect
[10:11] <Mavrik_> I don't think so... it's already ignoring all errors it can recover from :\
[10:12] <Milos> I see
[10:12] <Milos> well fair enough
[10:12] <Milos> although, VLC can do it
[10:12] <Milos> if I restream from VLC it works just fine
[10:12] <Mavrik_> yeah, ffmpeg is kinda wierd when it comes to receiving TS streams
[10:12] <Milos> I see.
[10:12] <Mavrik_> which version are you using?
[10:12] <Milos> 0.9.1
[10:13] <Mavrik_> is that a DVB-T input?
[10:13] <Milos> correct
[10:13] <Milos> I basically want to make it crappy
[10:13] <Mavrik_> hrm... can't help you there sadly.
[10:14] <Milos> it comes in at 1080p, all flash and HD
[10:14] <Milos> I just wanna make it crappier so I can stream it off myself
[10:14] <Milos> etc
[10:14] <Milos> and no worries
[10:14] <Milos> I will figure something out!
[10:14] <Mavrik_> I've been using ffmpeg to grab MPEG2-TS streams for IPTV and it was kinda capable of recovering from buffer underruns... but badly
[10:14] <Milos> 1080i I mean.
[10:15] <Milos> Mavrik_, is it supposed to say the input is mpegts though?
[10:15] <Milos> Mavrik_, because DVB-T is x264
[10:16] <Mavrik_> yeah, DVB-T is MPEG-TS stream
[10:16] <Milos> oh ok
[10:16] <Mavrik_> with either H.264 or MPEG-2 video
[10:16] <Milos> I'm not so great with codec terminology yet
[10:16] <Milos> ah right
[10:16] <Mavrik_> depending on country you live in :)
[10:16] <Milos> yupyup
[10:16] <Milos> well it says x264
[10:16] <Mavrik_> the problem ffmpeg is having with those stream is that it doesn't have a large enough decoder buffer
[10:16] <Mavrik_> looking at source it only allocates 64k
[10:16] <Milos> aha
[10:17] <Milos> and when it runs out?
[10:17] <Milos> boom?
[10:17] <Mavrik_> you get errors
[10:17] <Mavrik_> blocky video
[10:17] <Mavrik_> or failure :)
[10:17] <Milos> I love blocky video
[10:17] <Milos> :D
[10:17] <Mavrik_> I've avoided that issue by writing my own IP receiving and buffering routine, but I was developing a live transcoder app
[10:17] <Mavrik_> that's probably the reason why VLC can cope
[10:17] <Milos> ooo
[10:17] <Milos> cool
[10:18] <Mavrik_> You'll probably have to use VLC to reencode (it can do that)... even though VLC is a crappy piece of software for that .)
[10:18] <Milos> the reason is, VLC is on my laptop here, which gets overutilised especially when restreaming so I'm trying to offload it to a bored quad-core xeon
[10:18] <Milos> which is command-line only
[10:18] <Milos> but I'll see
[10:23] <Mavrik_> you can do command-line only with VLC
[10:23] <Mavrik_> it'll leak memory a little (if they didn't fix it by now)
[10:23] <Mavrik_> Milos, you can also try appending ?pkt_size=13160 to your http URL to see if it helps
[10:24] <Milos> Thanks! I'll see how long it can run for before it stuffs up.
[10:25] <Mavrik_> (I'm not sure if that parameter works on HTTP input, it does on UDP :) )
[10:25] <Milos> Another question though. Unfortunately the audio if off, probably because of the frame delays/skips.
[10:25] <Mavrik_> yeah
[10:25] <Milos> Do you know of a way to get the audio fixed or is that totally impossible
[10:25] <Milos> when I say off by the way I mean at the wrong time, not completely turned off
[10:25] <Mavrik_> yeah, that's because the video is broken
[10:26] <Mavrik_> and timestamps start drifting
[10:26] <Mavrik_> if you fix the video problem, the sync problem will go away
[10:26] <Mavrik_> you can also try something like -async 50 to tell ffmpeg to try to resync
[10:26] <Mavrik_> but that won't help if your video keeps throwing errors
[10:26] <Milos> what if a random environmental issue causes the video to mess up for 2 seconds, will everything after that be permanently 2 seconds late?
[10:28] <Milos> Mavrik_, that did it!!!
[10:28] <Mavrik> does it work? :)
[10:29] <Milos> Mavrik, it fixes the sync issue yup!
[10:29] <Milos> even with continus frame problems; once the frames recover the audio is correct
[10:29] <Milos> is the 50 the frame rate?
[10:29] <Milos> or what
[10:29] <Milos> since it's 25 interlaced
[10:29] <Mavrik> that's the max. number of audio samples ffmpeg can fix per "packet"
[10:29] <Milos> ic
[10:30] <Mavrik> meaning, if you have a packet of 44100 audio samples
[10:30] <Mavrik> it can add/remove/break 50 samples to try to resync
[10:30] <Milos> wow
[10:30] <Milos> well it does the job
[10:30] <Mavrik> if you give a large number it'll recover from drift very fast... but you'll hear the audio "slow" or "speed up"... like the slowmo scenes with exaggerated audio ;)
[10:31] <Milos> haaaaahahahah
[10:34] <Milos> now is this as easy to restream as typing -f mpegts udp://[interface-ip]:port ?
[10:34] <Mavrik> yup
[10:34] <Mavrik> if you're doing H.264
[10:35] <Milos> yup
[10:35] <Milos> well I hope I am
[10:35] <Milos> does ffmpeg support any other protocols?
[10:35] <Mavrik> then you'll also need -bsfs mp4_h264toannexb
[10:35] <Mavrik> Milos, RTSP and RTP afaik... RTMP as well maybe
[10:35] <Milos> ok cool
[10:35] <Mavrik> but I've found MPEG-TS to work the most rliably
[10:36] <Milos> thanks I will look into all of that
[10:36] <Milos> your help is so much appreciated, you have no idea
[10:36] <Mavrik> I really need to write a blog post on that topic :P
[10:36] <Milos> :D
[10:38] <Milos> Mavrik, man that's so cool, the sound is all robotic when it's fixing the sync
[10:39] <Mavrik> ^^
[10:39] <Mavrik> btw, how are you getting input over HTTP?
[10:39] <Mavrik> do you have a HTTP server on your capture card?
[10:39] <Milos> Mavrik, I am using mumudvb
[10:39] <Milos> I didn't want to use multicast
[10:39] <Milos> so I used http unicast
[10:39] <Milos> works really well except it's 1080i and I can't stream that out of my house
[10:39] <Milos> I only have ADSL2+
[10:40] <Milos> so I have to re-encode into a lower quality/bitrate and then I can.
[10:40] <Mavrik> if you can, try setting up RTSP
[10:40] <Mavrik> that could fix your problems
[10:40] <Milos> sweet
[10:40] <Mavrik> or at least UDP
[10:40] <Milos> wouldn't you think that UDP is even worse
[10:40] <Milos> because it's a connectionless protocol
[10:41] <Mavrik> not really, pretty all IPTV is broadcasted over UDP
[10:41] <Mavrik> you don't have all the connection and negotiation overhead
[10:41] <Mavrik> and if you miss a packet you don't really care to retransmit it
[10:41] <Mavrik> so UDP is an overall better choice
[10:41] <Milos> btw, been running for at least 15 mins now without crashing, so either the signal's just better or your additional parameter solved it
[10:41] <Milos> and cool, I will look into making it UDP
[10:41] <Mavrik> hm
[10:42] <Mavrik> it seems RTSP is in alpha on mumudvb
[10:42] <Mavrik> Milos, I suggested RTSP because it has transmission control
[10:42] <Milos> aha
[10:42] <Mavrik> meaning, receiver can tell server "hey, stop sending"
[10:42] <Mavrik> which you don't have on HTTP and UDP
[10:42] <Mavrik> that could fix your problems
[10:42] <Milos> ohoo
[10:42] <Milos> s/h//
[10:42] <Milos> I see
[10:42] <Milos> thanks for that info
[10:53] <Milos> final bit of advice...
[10:53] <Milos> ffmpeg -i -s 711x400 -codec:a libaacplus -ac 2 -b:v 700k -async 1000 -ar 44100 -b:a 32k -f mpegts udp://
[10:54] <Milos> I've set iptables input policy to ACCEPT so it's not a firewall issue but
[10:54] <Milos> when I try connect using VLC it does nothing
[10:54] <Mavrik> to the UDP address?
[10:54] <Milos> the problem with UDP is you can't get help, because it's connection-less
[10:54] <Milos> yeah
[10:54] <Mavrik> hmmm
[10:54] <Mavrik> usually you need a streaming server for that
[10:54] <Mavrik> lemme check
[10:54] <Milos> :O
[10:55] <Mavrik> hrm
[10:55] <Mavrik> -_-
[10:55] <Milos> ya
[10:55] <Mavrik> no idea, it should work :\
[10:55] <Milos> D: !
[10:55] <Milos> I'll keep trying.
[10:56] <Mavrik> I have to run now, g'luck :)
[10:56] <Milos> Thanks a lot!
[10:56] <Milos> Bye :D
[14:46] <Cervajz> Hello guys :)
[14:46] <spaam> Hey girl!
[14:46] <spaam> wzup?
[14:48] <Cervajz> Could anyone tell me what could be wrong if "avformat_find_stream_info" needs a lot of time during opeenning MPEGTS file and my log is full of messages like this:
[14:48] <Cervajz> 6060) [mpegts @ 0084F3A0]Continuity check failed for pid 100 expected 15 got 6
[14:48] <Cervajz> (6060) [mpegts @ 0084F3A0]PES packet size mismatch
[14:48] <Cervajz> Thank you
[14:48] <Cervajz> openning*
[14:48] <Mavrik> seems like your input is broken
[14:48] <Mavrik> did you pass correct packet_size to demuxer?
[14:49] <Cervajz> It could be wrongly "assembled" TS stream, because we do it "manually" in our device.
[14:50] <Cervajz> I mean - Our company develops video recorder for aircraft and the output of this recorder is TS stream
[14:50] <Mavrik> hmmž
[14:50] <Mavrik> do you have any way of inspecting that?
[14:50] <Mavrik> Cervajz, either your packet sizes are wrong or your continuinity counters are wrong
[14:50] <Mavrik> I'd guess the first :)
[14:52] <Cervajz> Mavrik: Thank you. "packet sizes" - what should I inspect? I am guy who develop's player for this device - "client side". So should I inspect my side or side where the TS is recorded?
[14:53] <Cervajz> who develop*
[14:53] <Cervajz> Where the TS is "assembled", a.k.a. in the HW device
[14:59] <Mavrik> Cervajz, I suggest you save a stream to a .ts file
[14:59] <Mavrik> and find a .TS inspector to check the file
[15:00] <Mavrik> to see if the file is OK
[15:00] <Mavrik> that will also tell you what the packet size is (it should be 1316)
[15:00] <Mavrik> which you can pass to the ffmpeg when reading the stream via ?packet_size=<number> if you're using UDP/HTTP
[15:01] <Cervajz> Mavrik: I have got TS in .ts file. This device records it to sdcard
[15:16] <Cervajz> Mavrik: Thank you, I will try to focus on the packet size
[15:16] <Cervajz> Mavrik: Interesting is, that VLC doesn't have problem and open this file quickly
[15:18] <Mavrik> yeah, VLC can survive more garbage than FFMPEG's demuxe
[15:18] <rfx> Hmm ... -ab is not documented on http://ffmpeg.org/ffmpeg.html ; is this report-worthy?
[15:18] <Mavrik> btw, which ffmpeg version are you using?
[15:18] <Mavrik> rfx, -ab is deprecated
[15:18] <Mavrik> rfx, new notation is -b:a
[15:18] <Mavrik> pretty much all such parameters have been changed to <paramerer>:<v|a> notation so they don't get mixed up between video and audio
[15:18] <rfx> Mavrik: achso .. because it's still listed in ffmpeg -h (using snapshot from a few days) but not marked as deprecated there
[15:19] <rfx> Mavrik: thanks a lot
[15:19] <Mavrik> so now you have -codec:v, -codec:a, -profile:v, -profile:a, -b:v, -b:a etc :)
[15:19] <Mavrik> rfx, yeah, it's a slow change, most of the "old" parameters still work
[15:19] <Mavrik> except in some cases ;)
[15:19] <rfx> :D
[15:20] <Cervajz> Mavrik: 0.9.1
[15:20] <Mavrik> (like if you want to use -profile with libx264 and you also have libfaac :P )
[15:21] <rfx> Mavrik: is it worth reporting to mark -ab deprecated in the ffmpeg? or shall i just forget about it
[15:21] <Mavrik> hm
[15:22] <Mavrik> rfx, I'm not sure what the "official" stance on this is ;)
[15:22] <Mavrik> maybe I shoudl start reading -devel lsit :\
[19:42] <elupus> Hi, i have a question about avfilter_graph_parse, the ouput open_input_ptr and open_output_ptr the docs say should be freed. But when should they be freed? Can they be freed directly without it breaking the open graph?
[19:43] <elupus> ffplay never seem to free them
[21:09] <linuxis> Is anyone here?
[21:16] <spaam> no
[00:00] --- Fri Jan 20 2012

More information about the Ffmpeg-devel-irc mailing list