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

burek burek021 at gmail.com
Tue Dec 4 02:05:01 CET 2012


[01:35] <asquared> ANyone working on ffmpeg on iOS ?
[01:38] <cbdev> the ios keyboard doesnt really lend itself to coding
[01:39] <cbdev> so, probably no
[01:40] <asquared> facepalm.
[02:28] <asquared> iOS?
[02:28] <asquared> Anyone working on iOS + ffmpeg
[05:39] <dericed> any sources for static builds of ffmpeg for PowerPC Macs
[10:25] <Vinay_> I am using the CvVideoWriter_FFMPEG on Ubuntu 12.04. When I run my program and I get the following error. "Could not open codec 'mpeg1video': Unspecified error"
[10:37] <Vinay_> I'm trying to use ffmpeg in opencv and using the class CvVideoWriter_FFMPEG. When I run my program I get the following error "Could not open codec 'mpeg1video': Unspecified error" . Can I please know what the problem is and how I can solve it?
[12:21] <gcbirzan> How can I take a mpeg stream and write out its programs into different files? I tried ffmpeg -i udp://0.0.0.0:1234/ -codec:p:100 copy p100.mpeg -codec:p:99 copy p99.mpeg, but I get the same output in both files
[12:29] <gcbirzan> Hm. Seems I don't know how to use program IDs. Oh, well. -map 0:p:1 p100.mpeg -map 0:p:2 p99.mpeg seems to work
[12:51] <ubitux> Vinay_: we don't know the opencv libraries, we are not maintaining the wrapper there
[12:52] <ubitux> if you have a problem with the ffmpeg tool or api, then we may help, but you better ask opencv about your issue
[14:36] <gcbirzan> Is there a way to enable multithreaded demuxing?
[14:59] <blez> can I combine two inputs with ffmpeg?
[15:00] <sacarasc> Depends what you mean by that, blez.
[15:01] <blez> I'm trying this: ffmpeg  -f dshow -i audio="virtual-audio-capturer":audio="Microphone (2- High Definition Audio Device)" test.mp3
[15:01] <blez> this should record from the speakers and mic
[15:01] <blez> but it doesn't
[15:02] <sacarasc> You want them mixed in the same stream, rather than multiple streams in an encoder?
[15:02] <sacarasc> I'm not sure ffmpeg can do that.
[15:02] <blez> yes
[15:02] <blez> what if I use files? can ffmpeg merge them in one stream
[15:03] <sacarasc> I don't think so. SoX might be able to.
[15:03] <blez> :(
[15:04] <saste> sacarasc, no ffmpeg can do it
[15:04] <saste> check audio filters
[15:04] <sacarasc> I did not know that.
[15:04] <blez> saste can you type an example?
[15:06] <saste> pan, amixer, there are examples in the docs
[15:06] <saste> *amix
[15:07] <blez> what about directshow, is it possible with the upper example?
[15:08] <saste> blez: filter_complex + pan
[15:10] <blez> YEAY
[15:11] <blez> I did: ffmpeg  -f dshow -i audio="virtual-audio-capturer" -f dshow -i audio="Microphone (2- High Definition Audio Device)" -filter_complex amix=inputs=2:duration=first test.mp3
[15:11] <blez> why do I need pan?
[15:13] <saste> blez, pan/amix are similar
[15:13] <saste> pan is a bit more flexible, but lacks a few amix options
[15:14] <blez> ok
[15:14] <saste> use whatever fits you better
[17:34] <teratorn> hi guys I have a seriously screwed up problem that I need help with... I'm trying to add a libvorbis stream to a webm format container... I have a custom streaming solution using AVIOContext... I have a callback function which actually writes packet data to an http socket. Works great when it is video only. but as soon as I just add the vorbis stream. then only the container header is written. My callback never gets called even though I c
[17:34] <teratorn> an writing packets like crazy.
[17:35] <teratorn> I keep writing packets using av_interleaved_write_frame, but it never calls my IO handler anymore.
[17:35] <teratorn> I'm positive I'm setting the right stream index on the packets... the audio is added as stream index 1. video is 0.
[17:36] <teratorn> any clue why the encoder would not complain, but just never flush any data?
[17:36] <teratorn> apart from the header
[17:41] <joelio> What option should I use in ffserver for hd 1080p VideoSize? I keep getting 'needs to be divisable by 16' errors using 1920x1088 work but imagine this is wrong
[17:46] <durandal_1707> teratorn: your question?
[17:46] <teratorn> I'm trying to add a libvorbis stream to a webm format container... I have a custom streaming solution using AVIOContext... I have a callback function which actually writes packet data to an http socket. Works great when it is video only. but as soon as I just add the vorbis stream. then only the container header is written. My callback never gets called even though im calling av_interleaved_write_frame like crazy
[17:47] <teratorn> any clue why the encoder would not complain, but just never flush any data?
[17:47] <teratorn> alternatively, if anyone has audio/video webm example code, that might help...
[17:50] <durandal_1707> teratorn: how do you set stuff in AVFormatContext?
[17:53] <teratorn> durandal_1707: uh, something like this http://hastebin.com/viyasigoha.c
[17:56] <teratorn> durandal_1707: is that what you mean?
[18:11] <breed11> Hi, we have a ffmpeg stream mpg2-ts decode using av_read_frame, and sometimes the stream has issues with ac-tex damage, and our program starts leaking memory.  Is it possible to catch, or check for, ac-tex damage errors?
[18:12] <breed11> av_read_frame is not < 0
[18:14] <iive> breed11: i assume it is standard mpeg2, are these frames decodable with another mpeg2 decoder?
[18:14] <breed11> I don't know what that means.
[18:15] <breed11> iive: it is a network ceton stream mpg2-ts
[18:16] <iive> the input is mpeg2 in transport stream.
[18:17] <iive> it is not some special variety of mpeg2, like asus1 vcr or something like that.
[18:17] <breed11> iive: yes.  what do you mean by another decoder.
[18:17] <breed11> iive: it is standard
[18:18] <iive> well, ffmpeg12 is not the only mpeg decoder. I assume you have no problems with playing the same stream in another software and/or hardware.
[18:20] <breed11> iive:  mplayer works.  The stream works the majority of the time in ffmpeg.  Unfortunately, every once in a while it has ac-tex damage and does not recover gracefully.  It constantly has ac-tex damage afterwards.  Can you recover?  Can you catch ac-tex errors?
[18:20] <iive> strange, mplayer uses ffmpeg12 for decoding.
[18:22] <iive> ac-tex errors are when there is problem with decoding the AC coefficients of a block. the decoder should resume normal decoding from the next valid slice.
[18:22] <iive> what version of ffmpeg are you using. do you use the program or use the libraries?
[18:24] <breed11> Have you heard of it leaking memory doing the ac co-effecients while having ac-tex damage and slice mismatch?  We are using library, version 1.0
[18:30] <breed11> I request av_read_frame, looks to see if it is a frame we want to convert, if it is I convert the frame to rgb and process.  Else I get a new frame.   I am still getting frames when their is ac-tex damage lines in the log.  But there is a high memory leak, somewhere.
[18:31] <breed11> Is there a way to catch ac-tex damage happening?  In order to debug, I want to know when it happens.
[18:31] <breed11> iive: thanks for helping, btw.
[18:33] <iive> breed11: probably you've missed something. if you use valgrind you may find what function is leaking memory.
[18:33] <iive> there is option to control error resilence/recovery.
[18:33] <funyun> whenever i try to use ffmpeg i get a message saying "THIS PROGRAM IS DEPRECATED" and "This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.". how do i correct this? do i need to install avconv?
[18:34] <iive> breed11:  the decoder would try salvage what it can and it would even doctor the missing blocks to something that might not be visible
[18:34] <iive> funyun: you are already using avconv.
[18:35] <iive> funyun: siretart have put this message to slender ffmpeg. He is debian package manager and is part of libav.
[18:36] <iive> funyun:  You won't get that message with real ffmpeg, only if you use the ffmpeg substitute in the libav package.
[18:37] <breed11> iive: By error resilience recovery, you suggest raising the error_recognition value, ie http://ffmpeg.org/doxygen/trunk/structAVFormatContext.html#eebb15a72d1503e641b633aeb3be0bf0
[18:38] <funyun> iive: so how do i get the real ffmpeg? or is libav now the real ffmpeg?
[18:41] <iive> libav is fork
[18:42] <iive> but they don't admit it
[18:42] <iive> look at ffmprg.org, there might be some debin or ubuntu repositories
[18:43] <iive> or you'll have to compile from source
[18:44] <funyun> iive: that's how i installed my current version. from the source
[18:44] <iive> funyun: be sure that you don't have system libav that overloads ffmpeg
[18:45] <funyun> iive: how do i check that?
[18:47] <breed11> iive: For error_recognition is AF_EF_CRCCHECK more strenuous then AV_EF_EXPLODE, which is more sternous then AV_EF_CAREFUL or AV_EF_AGGRESIVE
[18:48] <breed11> default is AF_EF_EXPLODE
[18:48] <breed11> *AV_EF_EXPLODE
[18:48] <durandal_1707> funyun: simple, look at output of ffmpeg
[18:49] <joelio> :q!
[18:49] <funyun> durandal_1707: sorry, i'm not very linux savy. i don't know how to do that?
[18:49] <joelio> doh
[18:51] <durandal_1707> funyun: the same message you already mentioned
[18:52] <durandal_1707> should not be present if you use real ffmpeg
[18:52] <retard> you type ffmpeg in a terminal and read what happens
[18:52] <durandal_1707> :D
[18:52] <funyun> retard: wanna switch usernames?
[18:53] <retard> i'm good, thanks
[18:54] <funyun> so how do i remove libav?
[18:56] <durandal_1707> same way how you installed it
[18:56] <funyun> durandal_1707: i didn't install it
[18:56] <durandal_1707> huh?
[18:57] <funyun> i didn't even know what libav was until a few minutes ago
[18:57] <funyun> i compiled ffmpeg from source about 2 months ago. now i get libav messages everytime i try to use ffmpeg
[18:59] <funyun> and now ffmpeg tells me that libfaac is an unknown codec. which is my main problem
[19:00] <retard> your compiled ffmpeg has probably been overwritten by your distributions package manager
[19:02] <retard> remove ffmpeg/libav with the package manager, then install a package you know includes libfaac or compile ffmpeg like you did 2 months ago again
[19:04] <lkcl> hi folks, sorry for asking, i'm evaluating video decode algorithms for an FSF-Endorseable Processor, 100% software-programmable
[19:04] <lkcl> could someone tell me - *roughly* - what percentage of time the CABAC decode engine takes in decoding 1080p H.264?
[19:05] <lkcl> is it like 10%, 15%, 25% or 50%?
[19:05] <lkcl> i don't need anything massively accurate - just a ballpark figure would be great.
[19:11] <lkcl> we're looking at a parallel processor, 4 maybe 8 cores.  CABAC decode i understand cannot really be parallelised, so a "trick" is to decode a few frames (dedicate one or 2 cores to that job) then have the others do the remainder of the decode.
[19:12] <lkcl> so i am looking for some help working out what ratio of cores would be dedicated to CABAC decode.
[19:13] <lkcl> any help greatly apprecaited
[19:15] <joelio> could someone eyeball this config for me, I keep getting errors
[19:15] <joelio> https://gist.github.com/7c9ae49caee0833832d5
[19:15] <joelio> Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
[19:16] <joelio> ffserver starts fine
[19:16] <klaxa> x264 [error]: invalid profile: 1
[19:16] <klaxa> [libx264 @ 0xdc2ee0] Error setting profile 1.
[19:17] <klaxa> i'd guess that's defined in your preset file
[19:17] <klaxa> can you add that to the paste?
[19:17] <joelio> sure
[19:17] <joelio> added as comment
[19:19] <joelio> I'm probably doing something very strange, definitely not my confort zone this! :)
[19:19] <klaxa> i don't think vprofile=1 is a valid input...
[19:19] <klaxa> i might be wrong, but try replacing the 1 with high, so: "vprofile=high"
[19:20] <joelio> klaxa: awesome!
[19:20] <klaxa> did it work?
[19:20] <joelio> well, tesing the quality but seems to
[19:20] <klaxa> ah good :)
[19:20] Action: joelio wonders if cruft was left over from libav stock install
[19:29] <Vinay_> I am using ffmpeg and opencv. I am using the class CvVideoWriter_FFMPEG. When I run my program I get the following error "Could not open codec 'mpeg1video". Can I please get some help?
[19:32] Last message repeated 1 time(s).
[19:33] <durandal_1707> from where that class comes?
[19:35] <teratorn> [libvorbis @ 0xb43010] 45 frames left in que on closing; what do I do to flush the encoder and get the last packet?
[19:36] <durandal_1707> teratorn: you feed it with null packets
[19:36] <teratorn> uhm
[19:37] <teratorn> durandal_1707: so I call avcodec_encode_audio2() again with an empty AVFrame?
[19:37] <teratorn> is there some doc I can read? =)
[19:39] <durandal_1707> sourco code, but there are some examples too
[19:42] <teratorn> durandal_1707: so is what I said right? it doesn't appear to be working...
[19:42] <teratorn> I use avcodec_fill_audio_frame() to fill out a frame with a NULL/0-length data buffer
[19:43] <teratorn> but I don't get a packet out, and still the warning about a non-empty frame queue
[19:43] <teratorn> when I encode it
[19:43] <teratorn> well the warning is when I close the codec context
[19:43] <durandal_1707> you could look at ffmpeg.c
[19:47] <durandal_1707> teratorn: you call interleaved... with null pkt
[19:48] <teratorn> I don't get it - if pkt is NULL where does it encode the packet to?
[19:48] <teratorn> ugh
[19:48] <teratorn> wait
[19:48] <teratorn> i'm not even using an AVFormatContext yet
[20:09] <brx_> http://pastebin.com/9QASKKUU
[20:10] <durandal_1707> Vinay_: than probably wrapper is using own ffmpeg version without such codec
[20:59] <teratorn> breed11: you should let ffmpeg do the concatenation
[21:00] <teratorn> nevermind, he left
[21:00] <breed11> tertorn: what do you mean, the concatenation?
[21:00] <breed11> *teratorn
[21:00] <teratorn> i meant brx_
[21:00] <teratorn> not you :)
[21:06] <PMacDiggity> Hello, does anyone know how to access the hardware buffer for video capture on OS X with ffmpeg?
[21:35] <escortkeel> hey! Would there be a way to get FFmpeg to "pretend" that it has transcoded the first part of an input file with out actually doing the heavy lifting?
[21:36] <escortkeel> by this, i mean: input file -> "skip header information and first 20 frames" -> output everything after the first 20 frames
[21:36] <escortkeel> making the outupt identical to a fully transcoded file which has had some of it's beggining cut off
[21:36] <escortkeel> thanks!
[21:44] <klaxa> escortkeel: look at the -ss option
[21:44] <klaxa> it's awfully slow though
[21:44] <klaxa> (or at least it has been for me?)
[21:45] <escortkeel> klaxa: awesome! thanks :D
[22:16] <blez> I'm converting jpg images to mpeg4
[22:16] <blez> but the quality is bad, how to use max quality
[22:17] <JEEB> set a bit rate that is higher than 200k?
[22:17] <JEEB> the default is 200k for most encoders that are not libx264
[22:17] <JEEB> also 'max quality' would probably mean lowest quantizer, but I have no idea what that is in MPEG-4 Part 2
[22:18] <JEEB> (also that's probably not what you want)
[22:19] <blez> I want the output to be with the quality of the screenshot
[22:19] <blez> aw, the jpgs are screenshots
[22:19] <JEEB> there is no such thing as "same visual quality", if there was we'd be telling people to use it. You can either set a low enough quantizer that it looks good, or a high enough bit rate
[22:19] <JEEB> with bit rate you will want to use two passes with -pass 1 and -pass 2
[22:19] <blez> aha
[22:20] <blez> how to set higher bitrate?
[22:20] <JEEB> -b:v RandomNumberk|M
[22:20] <JEEB> k being kilobits and M being megabits
[22:20] <blez> I tried with -b 1200k but I don't see a difference
[22:21] <JEEB> also, the closest thing to some kind of quality lever is libx264's -crf, which is something alike to "constant visual quality"
[22:21] <JEEB> (it's not that, but it's the closest we have)
[22:21] <JEEB> naturally if you're using mpeg4 then it won't work
[22:22] <JEEB> blez, show the command line and terminal output in a pastebin provider of your choice
[22:22] <blez> ffmpeg -r 10 -i D:\screen\test_%d.jpg -vcodec libx264 -crf D:\screen\test.avi
[22:22] <blez> says: At least one output file must be specified
[22:22] <JEEB> -crf NUMBER, default is 23
[22:23] <blez> aha
[22:23] <JEEB> lower is "lower quants, less artifacts", higher is "higher quants, possibly more artifacts"
[22:23] <JEEB> the idea is to find the highest number that still looks good
[22:24] <blez> so -crf 0 is best?
[22:24] <blez> (best looking)
[22:24] <JEEB> that is the lossless mode if you are using a 8bit libx264
[22:24] <JEEB> with >8bit the area of numbers goes lower than 0
[22:24] <JEEB> (you most probably have a 8bit libx264)
[22:24] <JEEB> also I must note that the lossless mode is not supported by anything not based on libavcodec or CoreAVC
[22:26] <blez> -crf 0 is encoding pretty slow with fullhd bitmaps
[22:27] <JEEB> if you want it to go faster, set -preset to one of the values mentioned here: http://mewiki.project357.com/wiki/X264_Settings#preset
[22:27] <JEEB> (it maps to the x264 presets)
[22:31] <blez> what if I don't want x264, what else can I use for 'lossless' video?
[22:31] <JEEB> lossless video codecs: utvideo, ffvhuff, ffv1
[22:31] <JEEB> these don't even have settings to set anything else but lossless
[22:32] <JEEB> if you are going to be doing video editing I kind of recommend ut video as it has decoding elements for Windows and Macs too (the official ones)
[22:33] <blez> I'm capturing a stream from images from a screen area
[22:33] <JEEB> if you need something quick you could use ffvhuff or something
[22:34] <blez> I've never heard of it
[22:34] <JEEB> ffv1 is a bit slower algorithm-wise, and ut video lacks SIMD or multithreading (while the algorithm is simple)
[22:34] <JEEB> blez, basic huffman coding with intra prediction
[22:34] <blez> it should be fast then
[22:34] <JEEB> yes
[22:35] <JEEB> ut video is similar, but it's not as optimized (I wrote it this summer)
[22:35] <blez> woah, ffvhuff1 is HUGE
[22:36] <blez> I should use some better compression
[22:36] <JEEB> well, better compression = ffv1 or libx264's crf 0
[22:36] <JEEB> latter has presets that go from ultrafast to placebo speed-wise
[22:36] <blez> what about webm?
[22:37] <JEEB> that means vp8 + vorbis in matroska, that's not lossless
[22:37] <JEEB> = vp8 has no lossless mode afaik
[22:37] <JEEB> also libx264 should really be faster than libvpx with a fast enough preset
[22:40] <juanmabc> hi, how would i go about removing last 3 seconds of a video (ffmpeg grabbing console output) ?
[22:41] <juanmabc> a -t mm:ss would stop?
[22:41] <juanmabc> testing...
[22:44] <blez> JEEB looks like the windows version of ffmpeg doesn't have presets
[22:44] <blez> File for preset 'medium' not found
[22:45] <llogan> juanmabc: yes, -t, but you may want to add "-c copy -map 0" if you don't want to re-encode.
[22:45] <JEEB> blez, then your ffmpeg is waaaay too old
[22:45] <JEEB> they should be internal
[22:45] <JEEB> libx264's
[22:45] <juanmabc> llogan: ok, thanks
[22:45] <blez> built on Nov 20 2012 19:34:37 with gcc 4.7.2 (GCC)
[22:45] <JEEB> did you use -preset and not -pre?
[22:45] <blez> -vpre
[22:45] <JEEB> ...
[22:46] <JEEB> vpre looks for preset files
[22:46] <blez> aha
[22:46] <JEEB> -preset looks for internal presets
[22:46] <JEEB> medium is the default btw
[22:46] <llogan> if you're using graybeard release
[22:47] <blez> placebo is dramatically slow
[22:47] <llogan> it's a waste of time
[22:47] <blez> I understand why it's called that
[22:48] <JEEB> basically if you're using lossy encoding everything between veryslow and superfast is "usable"
[22:48] <JEEB> for lossless you can use ultrafast if you want
[22:48] <JEEB> (it just uses the minimal set of features)
[22:49] <blez> what happens if my input images are not with the same size
[22:49] <JEEB> no idea, might get resized to the size of the first frame? Might get killed? H.264 stream's size randomly changes? I don't know :)
[22:50] <blez> I'll test it
[22:50] <llogan> It summons an angry Dutch lesbian.
[22:53] <blez> :DDD
[22:57] <blez> it didn't worked
[22:58] <JEEB> you could try resizing them all into a single size with -vf scale
[22:58] <apo> JEEB: oh hai
[22:58] <JEEB> http://ffmpeg.org/ffmpeg.html#scale
[22:58] <blez> no, the point is to work with images with different sizes
[22:59] <JEEB> good luck and have fun
[22:59] <blez> it should be possible, somehow..
[23:00] <blez> but I haven't watched a vid that changes its size lol
[23:00] <JEEB> in theory if the video format has the resolution info not only in the header, but in the frame too -- and if the decoders and encoders support this, you could have resolution switches
[23:00] <JEEB> in theory H.264 and even libx264 support creating such clips, but...
[23:00] <JEEB> point being ffmpeg not being able to do that most probably :P
[23:01] <JEEB> (not to mention that many things will just gloriously fail with the resolution switch)
[23:01] <JEEB> (at decoding stage after you've encoded that is)
[23:03] <blez> JEEB can I pm?
[23:04] <JEEB> no
[23:04] <blez> ok
[23:39] <juanmabc> ha, i finally encoded my video game preview, check that!, http://www.youtube.com/watch?v=6EBbW51bl0c
[00:00] --- Tue Dec  4 2012


More information about the Ffmpeg-devel-irc mailing list