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

burek burek021 at gmail.com
Thu Nov 17 02:05:01 CET 2011


[00:00] <plethora> how can i avoid audio getting out of sync with -ss?
[00:01] <JEEB> ffmpeg -i derp.herp -profile main -level 30 -tune fastdecode -preset YourWishedEncodingSpeed -b:v 750k -maxrate 1125k -bufsize 1500k -an -pass 1 -passlogfile herplederp tmp.h264
[00:01] <JEEB> ^ this should be fine'ish
[00:01] <pasteeater> plethora: use a pastebin site to show your ffmpeg command and the complete terminal output
[00:02] <JEEB> unless A) your input is of a colorspace that is different and ffmpeg tries to use it as-is with libx264 (libx264 can now do 444 as well as 422 as well) or B) if you need to do frame rate conversions
[00:02] <JEEB> also, it makes me cringe to see 60000/1001 written as 59.952 :<
[00:03] <JEEB> it's 60000/1001
[00:04] <plethora> pasteeater: this is the output and command line
[00:04] <plethora> http://paste2.org/p/1779442
[00:04] <plethora> the audio is delayed by about 1.5 seconds
[00:04] <pasteeater> try moving ss as an output option
[00:04] <pasteeater> (past -i input)
[00:05] <pasteeater> oh wait, hurrr. and add -vcodec copy -acodec copy
[00:06] <pasteeater> ffmpeg -i input.mp4 -ss 10 -vcodec copy -acodec copy output2.mp4
[00:07] <plethora> seems like the position of -ss is important
[00:07] <plethora> i figured it was an input parameter, seek to this time in the input
[00:07] <pasteeater> yes, the behavior changes depending on position.
[00:07] <relaxed> sometimes when seeking, -async 1 will help
[00:07] <pasteeater> i've never had to use that option
[00:08] <plethora> relaxed: i did try that, but to no avail
[00:08] <plethora> thank you, pasteeater. do you know what specifying -ss does for an input file?
[00:08] <pasteeater> seek before decoding, with the potential of not being frame accurate.
[00:09] <pasteeater> after -i: decode until -ss whatever and then start encoding
[00:09] <pasteeater> as a vague generalization
[00:09] <plethora> that sounds about right. thanks again
[00:10] <Gateway69> jeep thanks
[00:11] <pasteeater> ah, more -sameq usage on the ML.
[00:16] <Gateway69> JEEB, question, for --preset which i havent used, what would be good for low end cpu.
[00:17] <JEEB> slowest that works fast enough for you
[00:17] <JEEB> http://mewiki.project357.com/wiki/X264_Settings#preset
[00:17] <JEEB> don't use ultrafast or placebo
[00:17] <JEEB> everything else is more or less usable
[00:17] <pasteeater> Gateway69: low end cpu for decoding or encoding?
[00:18] <JEEB> oh yes, forgot to ask that
[00:18] <JEEB> placebo is for "let's put all knobs to eleven", and ultrafast is generally just for speed tests
[00:18] <pasteeater> placebo is "turn the door knob three times before opening door and wash hands 15 times in 30 minute"
[00:18] <Gateway69> decoding
[00:19] <JEEB> doesn't matter really
[00:19] <JEEB> the -tune fastdecode should take care of most of it, and the -level / -profile settings keep a lid on the settings
[00:26] <Gateway69> JEEB, hmm i think that covmmand blew up.. had to step out for a sec
[00:26] <Gateway69> error setting profile main, i think it should be -vprofile
[00:26] <JEEB> eh
[00:26] <JEEB> how old is your ffmpeg?
[00:26] <Gateway69> nov 11/11/11
[00:27] <JEEB> unless it was switched again
[00:27] <JEEB> oh wait, misread that as presets... but my thought still stands, "huh?"
[00:28] <JEEB> pasteeater, what's the setting to set the libx264 profile now?
[00:28] <Gateway69> http://pastie.org/private/r2i1aak8m7fpighbsmyhvg
[00:28] <JEEB> also, derp -- is it really trying to encode it as bgr
[00:28] <JEEB> derp
[00:29] <JEEB> also
[00:29] <pasteeater> -vprofile is recommended, but -profile will work if there is no audio stream. annoying, huh?
[00:29] <JEEB> that's the reason it fails to set the profile
[00:29] <JEEB> see how the error comes from libx264
[00:29] <Gateway69> oh and forgot -pix_fmt 
[00:29] <JEEB> not ffmpeg
[00:29] <JEEB> Gateway69, I didn't think it'd use RGB-in-444 encoding by default >_>
[00:29] <JEEB> no need to change the -profile
[00:30] <JEEB> just add the -pix_fmt then
[00:30] <pasteeater> https://ffmpeg.org/trac/ffmpeg/ticket/658
[00:30] <Gateway69> yea that was what i was missing
[00:30] <Gateway69> but it seems like profile broke?
[00:31] <JEEB> only because you were trying to use 4:4:4 in main profile
[00:31] <JEEB> see how the error came from libx264, as I said
[00:31] <JEEB> not ffmpeg
[00:31] <Gateway69> ok this worked i need to see what it looks like
[00:31] <Gateway69> ffmpeg -i test.avi -profile main -level 30 -tune fastdecode -pix_fmt yuv420p -preset slow -b:v 750k -maxrate 1125k -bufsize 1500k -an -pass 1 -passlogfile blah tmp.h264
[00:31] <JEEB> yup, that should be fine
[00:32] <JEEB> profile and level keep it within those restrains
[00:32] <JEEB> and then vbv settings keep the bit rate under your constrains
[00:32] <Gateway69> now if i could only call the make right eye, left eye, 3d combind button
[00:35] <Gateway69> will -refs 6 effect anything really?
[00:35] <Gateway69> also frame rate of 59.952
[00:35] <JEEB> it only overrides what the presets and tunes set
[00:35] <JEEB> also, your source seems to have that frame rate already
[00:35] <JEEB> unless I see it completely incorrect
[00:36] <JEEB> also, it's not 59.952 for eff's sake
[00:36] <JEEB> it's 60000/1001
[00:36] <JEEB> derp
[00:37] <JEEB> also, overriding the presets and tunes is usually a bad idea
[00:37] <JEEB> unless you know exactly what you're doing you might end up making a file that doesn't fall into the set profile/level
[00:38] <JEEB> libx264's profile/level limit the settings so that they will not go over the set limits
[00:39] <Gateway69> haha for ef's sake, ill tell my engineer 60000/1001
[00:40] <JEEB> well, whatever is the right way of writing it that ffmpeg/avconv understands
[00:40] <JEEB> and if it doesn't understand X/Y frame rates, someone needs a good beating
[00:40] <JEEB> of course, in this case the frame rate already is what you need
[00:40] <JEEB> so you don't have to set it unless it is incorrect (which it doesn't seem to be)
[00:42] <Gateway69> yea we have it as -r 59.952 i have only used -r and like 23. blah 24.. etc
[01:02] <fjd> Hi everyone, I was wondering if I could get a little help. I tried to convert a JPG/MP3 into an AVI (I actually did it as a quick test) and it broke YouTube's player.
[01:03] <fjd> What should I be doing to achieve such a goal?
[01:15] <pasteeater> fjd: ffmpeg -loop 1 -i input.jpg -vcodec libx264 -preset medium -tune stillimage -crf 20 -acodec copy output.mkv
[01:15] <pasteeater> i forgot the audio. include -i input.mp3
[01:21] <fjd> pasteeater: Thanks. I'm getting invalid option errors, but that's probably because I'm using a horribly outdated build -- I'll see what's up and upgrade.
[01:21] <fjd> Thanks again.
[01:21] <pasteeater> how old? you can use a less fancy command
[01:22] <fjd> pasteeater: "FFmpeg version SVN-r0.5.4-4:0.5.4-1"
[01:22] <fjd> I _assume_ that's outdated because I am using Debian stable -- I have to check.
[01:22] <pasteeater> ffmpeg -loop_input -i input.jpg -i music.mp3 -qscale 2 -acodec copy -shortest output.mkv
[01:23] <pasteeater> ...i also forgot -shortest in my  first example
[01:23] <pasteeater> and yes, that's ancient
[02:06] <Shimmy> Anyone knows if .WMV is supported by FFmpeg? Any alternatives? Have you checked http://code.google.com/p/amv-codec-tools Any info will be really appreciated
[02:07] <Shimmy> Please see my SO question and get rep. http://stackoverflow.com/questions/8129608/amv-video-encoder-converter
[02:07] <sacarasc> It mostly is.
[02:07] <Shimmy> @sacarasc, u talking to me?
[02:08] <sacarasc> Yes.
[02:08] <Shimmy> The amv format doesn't appear on the ffmpeg -formats list
[02:09] <sacarasc> You said WMV first...
[02:11] <Shimmy> OMG my bad sorry sorry sorry
[02:11] <Shimmy> i mean AMV
[02:11] <Shimmy> AMV sorry
[02:11] <Shimmy> :(
[02:12] <Shimmy> Do you know anything?
[02:12] <sacarasc> Have no idea about AMV...
[02:21] <Shimmy> **AMV**
[03:01] <alyawn> I'm writing a filter (trying to) and it seems that the timebase of an input is different if specified with -i versus using the movie src filter. Is this by design?
[03:07] <alyawn> also, how do you determine the framerate of an input from within a filter?
[04:01] <SneakySnake> Hi, I use this command for recording a screencast: ffmpeg -f alsa -i pulse -ac 2 -acodec pcm_s16le -f video4linux2 -s 640x480 -r 30 -i /dev/video0 -threads 0 -vcodec libx264 -vpre lossless_ultrafast test.mkv
[04:02] <SneakySnake> However, ffmpeg seems to hang, and after I send two interrupt signals, it displays this message: pulse: could not find codec parameters
[04:24] <crocket> Can I bake subtitles into videos with ffmpeg?
[04:29] <burek> SneakySnake, are you sure /dev/video0 is an appropriate input for screencast?
[04:30] <burek> it looks more like an external camera or something
[04:30] <SneakySnake> ah, yeah
[04:30] <burek> try with -f x11grab
[04:30] <SneakySnake> sorry, I posted wrong command accidentally
[04:30] <SneakySnake> ffmpeg -f alsa -ac 1 -ab 56 -i default -acodec pcm_s16le -f x11grab -r 30 -s 1024x768 -aspect 16:9 -vcodec libx264 O out.mkv
[04:31] <SneakySnake> o wait
[04:31] <SneakySnake> still wrong command
[04:31] <SneakySnake> sorry I was experimenting
[04:31] <SneakySnake> sec I get the right one
[04:31] <SneakySnake> Here
[04:31] <SneakySnake> ffmpeg -f alsa -ac 1 -ab 56 -i pulse -acodec pcm_s16le -f x11grab -r 30 -s 1024x769 -i :0,0+0,0 -aspect 16:9 -vcodec libx264 -vpre lossless_ultrafast -threads 0 out.mkv
[04:31] <SneakySnake> This is the one I was using
[04:32] <crocket> ???
[04:34] <SneakySnake> Actually, I think it's something with pulseaudio
[04:34] <burek> well
[04:34] <burek> if you use -f alsa
[04:34] <burek> then -i pulse is invalid i guess
[04:34] <burek> maybe you wanted -f pulse
[04:34] <burek> or similar?
[04:34] <crocket> How can I hardcode a subtitle into an mp4 file?
[04:34] <burek> try
[04:34] <burek> -f alsa .. -i hw:0,0
[04:34] <burek> or hw:0
[04:35] <burek> (type "arecord -l" to see all possible combinations_
[04:35] <burek> or type arecord -L
[04:35] <burek> and use something like
[04:35] <burek> -i default:CARD=Intel
[04:35] <burek> (you'll figure it out from the arecord's output)
[04:36] <burek> crocket
[04:36] <crocket> yeah
[04:37] <burek> ffmpeg -codecs | grep subtitle
[04:38] <crocket> burek, That lists ass, dvb, and other subtitle codecs.
[04:38] <crocket> They don't help me do what I want.
[04:38] <burek> oh you mean
[04:38] <burek> i see
[04:38] <burek> wait
[04:38] <crocket> They are soft subtitle codecs.
[04:39] <crocket> I want to bake subtitles into video frames.
[04:39] <burek> i know with vlc
[04:39] <burek> but i cant remember now for ffmpeg the cmd syntax
[04:39] <burek> :)
[04:40] <crocket> How do I do with vlc?
[04:40] <burek> oh, its not possible with ffmpeg
[04:40] <burek> so far
[04:40] <burek> with vlc, wait
[04:44] <zap0> how can i determine if the exectubale i have ffmpeg.exe  is 32bit or 64bit.  (windows EXE file)
[04:48] <alyawn> check the task manager for *32 while it's running, zap0
[04:48] <burek> crocket.. i cant find it now :/
[04:48] <burek> what a fail :S
[04:53] <burek> btw, why dont you go with soft subs?
[04:55] <burek> zap0: http://superuser.com/questions/103071/quick-way-to-tell-if-an-installed-application-is-64-bit-or-32-bit
[05:07] <zap0> thanks.
[05:07] <zap0> seems i have 32bit version.
[05:08] <zap0> i'm using the winFF application front end, that calls the ffmpeg.exe command line app..   if i try to encode videos of more than 4gig, do i require a 64bit version?
[05:08] <zap0> and if so,  where can i get one?
[05:13] <alyawn> Am I right in stating that in a video filter, it's not possible to find the framerate of an input? Time base alone isn't enough. Maybe I'm missing something
[05:19] <zap0> anyone know the URL for a provider of 64bit windows exe  builds?
[05:41] <quiznilo> hey all... trying to use ffmpeg for screen caps with JACK
[05:43] <quiznilo> a sec
[06:08] <quiznilo> http://ffmpeg.org/ffmpeg.html#jack <- reading through the writeup, the first line says to create a JACK writable client with name "ffmpeg"
[06:09] <quiznilo> ffmpeg -f jack -i ffmpeg -y out.wav
[06:09] <quiznilo> I try that, and the only message I get is: ffmpeg: Operation not permitted
[06:09] <quiznilo> nothing in dmesg or /var/log/messages
[06:12] <quiznilo> gdb didn't even tell me anything
[09:55] <jar616> hello
[09:56] <jar616> is it possible to decode raw h264 bitstream using ffmpeg's av_read_frame ?
[09:56] <jar616> function returns -32 when i try to decode bitstream, and it's working fine when i encapsulate that stream in mkv file
[09:56] <jar616> maybe someone knows the answer ?
[09:57] <jar616> i'm just trying to decode bitstream and can't figure it out :(
[10:22] <zap0> anyone know if there are image size limits for ffmpeg?   can i make a image 20,000 pixels wide?
[10:26] <Tjoppen> shouldn't be a problem if you have the memory. it's more a question on what the codec you intend to use supports
[10:27] <Tjoppen> 64k x 64k is a common limit I think
[10:29] <zap0> i doubt i'd be getting many codecs to comply with these weird aspect/size requirements, so i might have to convert to raw YUV420 uncompressed.
[10:30] <Tjoppen> what about good old jpeg?
[10:30] <zap0> mjpeg.     its video.
[10:30] <zap0> hopefully mjpeg would work.  that would be ideal.
[10:30] <Tjoppen> just try a bunch an 
[10:30] <Tjoppen> d see what happens
[10:31] <zap0> yeah, will have to...   im just at the planning stages, trying to figure out if this is even viable.
[10:31] <Tjoppen> how tall are the pics?
[10:32] <Tjoppen> you could also try x264 - maybe it's able to deal with it decently?
[10:32] <zap0> one of them is about  19,400 x  300
[10:32] <Tjoppen> tapestries? :)
[10:33] <zap0> its scrolling media for several screens
[10:33] <JEEB> libx264 is fine with hueg sizes as long as you have enough memory to keep the picture(s) in memory
[10:34] <Tjoppen> yeah, I actually suspected that. neat
[10:34] <zap0> i can pack memory into a box;  its cheap-ish now days
[10:34] <JEEB> thus, when dealing with such stuff 64bit is recommended >_>
[10:34] <zap0> oh yes!   file sizes will be getting large!
[10:35] <JEEB> also, I think with stuff like that it's the decoding side that might have problems
[10:35] <JEEB> lol
[10:35] <Tjoppen> if it's mostly scrolling then it should compress well
[10:35] <JEEB> unless it has lots of cpu power and ram
[10:35] <JEEB> :3
[10:36] <Tjoppen> ah yeah.. a colleague has a similar problem with getting adverts playing on a wide variety of screens designed for the purpose
[10:37] <JEEB> if it's hardware decoders and such, it's usually better to encode a separate clip for every screen with a "normal"'ish resolution
[10:38] <JEEB> if it's software, in that case you're free to do whatever you want/can
[10:38] <Tjoppen> that's what I said. sadly, the client's backend is crappy
[10:38] <Tjoppen> for zap0, it might be a good idea to segment the video up? one part for each screen?
[10:38] <Tjoppen> if too wide causes a problem
[10:41] <zap0> that just makes it far more difficult in managing multiple files, sync etc..    better to just throw more hardware resource at the problem, (until it costs too much)
[10:42] <Tjoppen> right, I realized that after typing
[10:43] <jar616> is it possible to decode raw h264 bitstream using ffmpeg's av_read_frame ? function returns -32 when i try to decode bitstream, and it's working fine when i encapsulate that stream in mkv file. maybe someone knows the answer ?
[11:03] <ocs1> hi, how can I reduce cache/latency for flv format?
[11:04] <zap0> ocs1, your question spans too many domains
[11:04] <ocs1> zap0: ?
[11:05] <ocs1> when I use this mux, I have a latency of 1 second. I want to avoid that, for videoconferencing
[11:10] <udoprog> ocs1: flv is a container, the latency (propably) depends on which video encoding you are using and/or a combination with the streaming service. How are you experiencing it?
[11:12] <ocs1> udoprog: I'm sure that latency doesn't depend on what you say.  And flv container adds delay, if required (found in flvenc.c)
[11:13] <udoprog> ocs1: have you actually verified the delay outside of the system. If that is the case; how did you do that?
[11:16] <ocs1> udoprog: I compared the delay with the same encoding, the same transport (rtp) but with two different mux:  ffmpeg-flv and vlc-dont'know-itsname
[11:23] <udoprog> sorry, don't know how to help you out, but AFAIK flvenc should not introduce any delay unless necessary for some reason
[14:21] <khali> hi all
[14:22] <khali> I am trying to pass thread-input as part of -x264opts but every way I try, ffmpeg complains and exits
[14:22] <khali> I tried thread-input=1, =on, =yes, =set, even thread-input alone, but I always get: bad value for 'thread-input'
[14:23] <khali> does anyone know what the correct syntax would be?
[14:25] <LexSfX> khali: it becomes enabled by default if "threads" > 1
[14:26] <khali> LexSfX: I know that, but I would like threads = 1, too
[14:26] <khali> to avoid the quality loss incurred by threads > 1
[14:27] <LexSfX> try threads = 2 then.
[14:28] <LexSfX> then 1 thread will be the decode and the other will be the encode
[14:28] <LexSfX> don't quote me on this.  i'm just assuming.  it makes sense though
[14:29] <khali> LexSfX: no, that's now how it works
[14:29] <khali> threads = 2 leads to 3 threads, 1 for decoding and 2 for encoding
[14:31] <LexSfX> in x264, the syntax is just "--thread-input"
[15:17] <quiznilo> anyone know why ffmpeg would throw a "Operation not permitted" when trying to record from JACK
[15:17] <quiznilo> actually... I'm not even positive it's ffmpeg throwing that
[15:18] <quiznilo> but I've tried gdb, strace --enable-debug, everything, and nothing is giving me more info... that's all I get... "Operation not permitted"
[15:20] <quiznilo> http://paste.pocoo.org/show/508661/
[15:22] <LexSfX> you're trying to use "ffmpeg" as input.  is this something you've done before?  that looks odd to me, though i'm a noob
[15:23] <LexSfX> @ quiznilo
[15:32] <quiznilo_> freenode is having issues
[15:33] <quiznilo_> nick quiznilo
[15:38] <bgmarete> Hello all. Are AVOptions in various modules (for example a demuxer) now expected to be set using av_dict_set() and similar? Thanks!
[15:40] <ubitux> bgmarete: av_opt_set*
[15:41] <bgmarete> ubitux: Thanks!
[15:41] <ubitux> doc/APIChanges gives a bit more insight
[15:42] <ubitux> i assume you're talking about replacing av_set_* functions, and not the metadata stuff
[15:42] <ubitux> which also changed from av_metadata_* to av_dict_*
[15:43] <bgmarete> No. Well, I am talking about, for example, setting the "sample_rate" in the ALSA demuxer.
[15:43] <fris> anyon eknow what would cause libvorbis not found, when in fact its installed
[15:45] <ubitux> bgmarete: then afaik av_opt_* are indeed what you need
[15:45] <ubitux> fris: you need to build ffmpeg with it
[15:46] <ubitux> --enable-libvorbis
[15:46] <bgmarete> ubutix: Thanks! WIll try and use that.
[15:46] <fris> ubitux i did that
[15:46] <fris> thats why/when the libvorbis not found comes
[15:46] <ubitux> grep CONFIG_LIBVORBIS config.h returns 1?
[15:49] <fris> no config.h in the ffmpeg source dir i svn'd
[15:50] <ubitux> huh?
[15:51] <ubitux> svn? it's been a while we don't use svn anymore
[15:51] <ubitux> we moved to git, check http://ffmpeg.org/download.html
[15:51] <fris> getting now
[15:55] <fris> only config.fate and config.log in the ffmpeg root
[15:57] <ubitux> the configure script fails?
[15:57] <fris> it stops at libvorbis not found
[15:58] <bgmarete> ubitux: It appears that you can actually use a dict, by employing av_opt_set_dict() as used for example in avformat_open_input(). ffmpeg(1) actually uses a dictionary for sample_rate for example.
[15:58] <fris> ubitux http://pastie.org/2872582
[15:59] <fris> config.log here https://gist.github.com/1370256
[15:59] <ubitux> bgmarete: ah, indeed, ok
[16:00] <ubitux> fris: where is your libvorbis installed?
[16:00] <fris> in /usr/lib
[16:00] <fris> do i need libogg ?
[16:02] <ubitux> fris: libvorbis should depend on libogg
[16:02] <ubitux> this is actually the case on my system
[16:02] <ubitux> and the libvorbis header seems to include the libogg header
[16:03] <ubitux> so there is something wrong in your setup imho (broken lib dep)
[16:04] <fris> k got it working, compiled libogg
[16:04] <daurnimator> o.o
[16:05] <daurnimator> why is ffmpeg like 5 times the speed of libsndfile decoding a flac file
[16:05] <sacarasc> Magic!
[16:07] <daurnimator> does ffmpeg use multi-threading for this sort of thing?
[16:08] <sacarasc> Only if you tell it to.
[16:09] <daurnimator> sacarasc: I don't think I am.... so I guess thats a no
[16:11] <iive> daurnimator: without knowing anything about both decoders, I'd say that ffmpeg optimized bit/huffman reading and simd functions are what makes difference.
[16:17] <daurnimator> iive: I thought ffmpeg just used libflac?
[16:18] <iive> nah, i think we got native decoder long time ago.
[16:22] <daurnimator> i'm not sure if libsndfile has a native decoder though
[16:22] <daurnimator> otherwise; care to help me with why ffmpeg seems to fail so hard at the majority of codecs I've thrown at it?
[16:23] <daurnimator> codecs/files
[16:23] <ubitux> you need to be more precise then
[16:23] <daurnimator> worst case seems to be mp3s... they fail regulary with Header Missing or audio_decode3 returning -1 for no apparent reason
[16:24] <daurnimator> while libmad has no problems
[16:26] <iive> your code or ffplay?
[16:26] <daurnimator> my code.
[16:26] <iive> try with ffplay too.
[16:27] <daurnimator> bah; I don't have ffplay (on windows at the moment)
[16:28] <daurnimator> (bah @ the ffmpeg package I have not containing executables when I thought it did)
[16:31] <daurnimator> also I should check it all with my own HEAD too
[16:39] <fris> anyone know how to make x264 look for yasm instead of gnu gasm
[16:41] <burek> quiznilo, did you try -f alsa -i hw:0
[16:45] <burek> ocs1, did you try using -f mpegts instead of -f flv
[16:47] <ocs1> burek: I need flv (I have to view the video on a flash player)
[16:48] <burek> well, I think http introduces that delay
[16:48] <burek> or rtp
[16:48] <burek> that's why i'm suggesting udp
[16:48] <burek> conferencing apps are almost always based on udp
[16:48] <burek> that's what the protocol was made for
[16:48] <ocs1> burek: no, it doesn't. I tried http+asf and I have very low latency
[16:49] <burek> well, it has to
[16:49] <burek> because of its nature
[16:49] <ocs1> burek: again, no
[16:49] <burek> ok
[16:49] <burek> khali: did you try x264 --help | grep thread
[16:50] <ocs1> burek: it can cause congestion, and other stuff. but nothing to do with delay.
[16:50] <burek> there is no option thread-input?
[16:50] <burek> ocs1, thats everything to do with delay
[16:50] <burek> more and more your app is up
[16:50] <burek> the bigger the delay is
[16:50] <khali> burek: my problem isn't with the x264 binary, but with ffmpeg
[16:51] <burek> khali, where did you read about thread-input option?
[16:51] <khali> burek: x264 --help is pretty short, for the full list of options you want --fullhelp - there you'll see thread-input
[16:52] <ocs1> burek: maybe it has something to do with flv packet size. how can I change this size?
[16:52] <grendal-prime> heyguys  I would like to stream my ubuntu desktop (to do local lan presentations).  I currently do this with teamspeak wich works but its sending all the data out to some server somewhere wich well basicall could violate some company policys so we cant use it in those cases.  Im thinking some sort of screen capture and write to file but i will need it to write to flash type file i think the craft a web page that will deliver i
[16:52] <grendal-prime> t.  any help or links would be greatly appreciated (ill buy you lunch when im in your town next!)
[16:52] <khali> burek: it's also documented at http://mewiki.project357.com/wiki/X264_Settings which is where I read about it first
[16:54] <grendal-prime> also...its early and i apparently cant type after just half a cup of coffee please forgive the crazy grammar (i actually do speak English)
[16:54] <burek> khali: -x264opts bitrate=35000:thread-input:preset=veryslow
[16:54] <burek> without =...
[16:55] <burek> ocs1, you might realize http is not what you want
[16:55] <burek> maybe sctp
[16:55] <burek> once it gets more common
[16:56] <burek> if you read the difference in tcp and sctp, about congestion, then you'll realize how it affects your delay
[16:56] <burek> one single delayed packet (or lost), makes entire stream stalled
[16:56] <burek> use udp
[16:58] <burek> grendal-prime, did you try: http://www.google.com/search?q=ffmpeg+screen+capture
[16:58] <ocs1> burek: I know all these things. In fact I use rtp with udp.
[16:58] <ocs1> but I want to optimize http oo
[16:58] <ocs1> too
[16:59] <burek> good luck with that.. honestly..
[17:00] <khali> burek: I tried it a few hours ago and it did not work; does it actually work for you?
[17:01] <burek> i didn't try it myself, but that option has got no values required, so it's logical to put it that way
[17:01] <burek> or :thread-input=:
[17:01] <burek> i don't know
[17:01] <ocs1> I could choose, for example, to restart the stream on client when there is a delay
[17:02] <khali> burek: I tried both and it fails with  bad value for 'thread-input':''
[17:02] <khali> burek: I suspect that this isn't properly handled by ffmpeg itself
[17:03] <ocs1> burek: your tip about sctp is right...
[17:04] <khali> burek: but I seem to understand that ffmpeg itself doesn't process the options, it blindly passes them to libx264... so the problem is more likely with any option which doesn't take a paremeter value
[17:05] <burek> khali, its a bug
[17:05] <burek> sscanf(p, "%255[^:=]=%255[^:]", option, val);
[17:05] <burek> it expects '='
[17:05] <burek> you can report that bug
[17:07] <burek> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/libx264.c;h=7410112172e11da5a9a4ef3f3b2a3c1b908ac463;hb=4e7b3ef3b3cf71479dde1d4ae644eaf4857c4813
[17:07] <burek> line 352
[17:07] <burek> 353* :)
[17:10] <grendal-prime> burek, um whats google?
[17:10] <grendal-prime>  ya, i tried that and most of the things that i have found straight up do not work...
[17:10] <burek> its a cool website
[17:11] <khali> burek: apparently it takes an account in trac to report bugs? I thought I had one, but my credentials no longer work
[17:11] <burek> ok, i can make a bug report if you like
[17:11] <grendal-prime> and im not sure where im failing at this...video format could be one of the areas.  Im not much up on codecs and what works best
[17:11] <burek> grendal-prime windows/linux?
[17:11] <grendal-prime> linux
[17:11] <grendal-prime> ubuntu lts
[17:12] <burek> use -f x11grab
[17:12] <khali> burek: that would be appreciated, if you have the time for this
[17:12] <grendal-prime> thanks
[17:12] <burek> http://ffmpeg.org/ffmpeg.html#X11-grabbing
[17:12] <burek> later add -vcodec and other options
[17:13] <burek> but that should give you a headstart
[17:13] <khali> burek: I can obviously live with the bug, all it takes is more patience
[17:13] <burek> anyway, you can alter the source code if you like
[17:14] <burek> if you are in a hurry i mean :)
[17:15] <burek> maybe one OPT_STR("thread-input", null);
[17:15] <burek> would do the trick, i dunno :)
[17:18] <ocs1> burek: does sctp work on udp?
[17:19] <burek> khali https://ffmpeg.org/trac/ffmpeg/ticket/660
[17:20] <ocs1> burek: sorry for the stupid question. It's at the same layer
[17:20] <burek> its at the same layer as tcp and udp
[17:21] <burek> and its purpose is to combine advantages of both tcp and udp
[17:21] <burek> so, yes, sctp can send datagrams, like udp, to avoid delay
[17:21] <ocs1> burek: yes, in this way I avoid nats too
[17:22] <burek> provided they dont drop everything except tcp packets
[17:22] <burek> anyway, im not sure ffmpeg is sctp aware :/
[17:22] <ocs1> burek:  I wonder if I can stream sctp over a wan... I mean: do routers support that?
[17:22] <burek> which brings us to square 1 :)
[17:23] <burek> well, more and more do, like ipv6
[17:23] <burek> but not all
[17:24] <ocs1> burek: does it mean that if I stream sctp over wan I have to cross fingers?
[17:24] <burek> no, if it works :D
[17:24] <burek> i would rather go with udp
[17:25] <burek> and place a vlc
[17:25] <burek> or something at the receiving end
[17:25] <burek> to remux it finally into http/flv
[17:25] <burek> and feed it into the player
[18:01] <alyawn> I'm writing a filter and for some odd reason, no matter what when encoding, I get dup=4. anyone know the cases that cause dups? is it pts related?
[18:50] <quentusrex> what is the proper command format for concating two mp4 videos into a single video? I have tried: ffmpeg -i ./video1.mp4 -acodec copy -vcodec copy ./video2.mp4 -acodec copy -vcodec copy ./newvideo.mp4 -newvideo -newaudio
[18:50] <quentusrex> but it seems to always want to transcode the first video even though the two inputs are the exact same specs. 
[18:52] <grendal-prime> burek, that works..well size is a bit weird i can work that out though ..thing is the file it creates just keeps growing.  is there anyway to have it cop off all there is in the front of the output file as well. Basically so anyone who starts streaming it will see it from the last say...2 min?
[18:54] <necromancer> hey does anyone in here use SoX?
[18:55] <necromancer> i need it to mix some audio together, but it's not compiling on debian
[18:55] <grendal-prime> i have the kind with red bands around my calves
[18:55] <grendal-prime> but um for sound  not as far as i know
[18:56] <quentusrex> is there any way to get ffmpeg to use -vcodec copy and -acodec copy  for all inputs?
[18:58] <necromancer> grendal-prime: i'd love to just use ffmpeg but it can't mix audio from two sources
[18:58] <quentusrex> yeah, I can't seem to locate how to get the input options to bind to all inputs, nor get them to bind to the input before or after the options.
[18:59] <grendal-prime> necromancer, jack?  or...pulsaudio
[19:00] <grendal-prime> something ahead of it i think will work i saw a vid on youtube where i guy was mixing two sources into ffmpeg
[19:00] <necromancer> grendal-prime: well i'm actually just using ffmpeg to decode the FLV into WAV (audio source is a FMS stream which exports to Speex+FLV)
[19:01] <burek> grendal-prime, are you trying to make stream or a file?
[19:01] <grendal-prime> im pretty new to this myself but like  i say i saw something on youtube about the multibple sources bit.
[19:01] <grendal-prime> burek  i want to record my desktop
[19:01] <grendal-prime> but...more like a live broadcast
[19:02] <grendal-prime> i dont want to store the entire thing in a file..
[19:02] <grendal-prime> I just want to be able to point people to a web address and have them see what im doing on screen. Similar to like say...vnc with view only enabled..but i dont want the viewers to have to work out vnc client problems
[19:04] <necromancer> grendal-prime: so it turns it into a wav, then sends it off to sox to mix with a pre-defined mp3, and sox should create a compiled version of the recorded audio stream overtop of the mp3 which is background music
[19:04] <grendal-prime> my thinking was  i would just use x11grab and put it into flash format, then. embed a flash player into a webpage and point it to the file that ffmpeg was generating.
[19:04] <burek> quentusrex, you have to use options for each input
[19:05] <quentusrex> burek, I'm trying to do so but none of the options seem to stick for the first input, but only seem to bind to the second input.
[19:05] <burek> also, try using concat filter
[19:05] <burek> which works only for mpeg video
[19:05] <burek> but you can try it
[19:05] <burek> http://ffmpeg.org/ffmpeg.html
[19:06] <burek> quentusrex, it would help if you would use pastebin.com to show us entire command and output
[19:06] <grendal-prime> and burek i mean the fact that it is keeping the entire thing would be nice in some casses thats for sure but in most i dont need that i just need for people to see whats happening.
[19:07] <burek> grendal-prime, you need ffmpeg+ffserver
[19:07] <burek> or just use vlc
[19:07] <quentusrex> burek, http://pastebin.com/rGqDJjMg
[19:07] <grendal-prime> ok cool...ive tried vlc and for whatever reason i cant seem to get it to work.
[19:07] <grendal-prime> it writes a file..but im not able to view it
[19:07] <burek> grendal-prime
[19:08] <burek> cvlc <input from screen> --sout='#transcode{vcodec=h264,vb=512,acodec=mp3,ab=128}:std{access=http,mux=flv,dst=0.0.0.0/live.flv}'
[19:08] <burek> just find how to get an input from the x11 server
[19:09] <burek> and that command should work for you
[19:09] <grendal-prime> ok cook thanks
[19:09] <burek> access your stream with http://localhost:8080/live.flv
[19:09] <burek> quentusrex
[19:09] <burek> you should read ffmpeg's manual
[19:10] <burek> you completely missunderstood options and their placements
[19:10] <burek> with -acodec and -vcodec IN FRONT OF the input, you told ffmpeg what to expect on that input
[19:10] <burek> (rather to analyze it and figure out itself)
[19:11] <burek> http://ffmpeg.org/ffmpeg.html
[19:11] <burek> ffmpeg [global options] [[infile options][‘-i’ infile]]... {[outfile options] outfile}...
[19:11] <quentusrex> burek I tried in front because it doesn't seem to work properly behind each input, nor behind the last input.
[19:12] <burek> ffmpeg -ss 00:25:08 -i ./08_Fun-With-FreeSWITCH-And-OpenSim-starts-at-25\:08-SLIDES_Robert-Daniel.MP4 -acodec copy -vcodec copy -acodec copy -vcodec copy -i ./08_Fun-With-FreeSWITCH-And-OpenSim-up-to-25\:13-SLIDES_Robert-Daniel.MP4 -t 00:25:13 ./08_output.MP4 -newvideo -newaudio
[19:12] <burek> fck..
[19:12] <burek> ignore that
[19:12] <burek> what are you trying to accomplish
[19:12] <quentusrex> I am trying to copy the last part of one video and the first part of the second into a single new video.
[19:12] <burek> cant do that with ffmpeg
[19:12] <quentusrex> no transcoding of any of the data, just copy. 
[19:12] <burek> its not an editor
[19:13] <burek> its converter
[19:13] <burek> use virtualdub
[19:13] <burek> or avisynth
[19:13] <quentusrex> can either do mp4?
[19:14] <burek> try and see
[19:14] <burek> i think they can
[19:14] <burek> necromancer, why cant you compile it
[19:15] <necromancer> burek: what, sox? i don't know...
[19:16] <necromancer> kind-of annoying that i have to compile sox so i can get mp3/lame...
[19:16] <burek> ?
[19:17] <burek> did you try debian multimedia repos
[19:17] <quentusrex> burek, is there a way to transcode only one of the inputs? and copy the second?
[19:17] <necromancer> burek: yeah debian-multimedia.org, are there others?
[19:17] <burek> quentusrex, whats the purpose of that?
[19:17] <burek> necromancer, i dunno, i was thinking about that one
[19:18] <quentusrex> burek, to get around the issue of virtualdub and avisynth being windows apps and I'm running linux only.
[19:19] <burek> well google for linux video editor
[19:19] <quentusrex> burek, already past that and the first 4 generated corrupted output for the MTS inputs.
[19:19] <burek> then switch to windows? :)))
[19:22] <burek> http://forum.videohelp.com/threads/285039-Best-way-to-concatenate-nine-10-minute-Flash-videos
[19:22] <burek> or with mencoder
[19:22] <burek> mencoder -oac copy -ovc copy -o c:\video.flv c:\a.flv c:\b.flv
[19:28] <relaxed> necromancer: you still trying to build ffmpeg with libspeex support?
[19:29] <necromancer> relaxed: nah i got that down :)_
[19:29] <necromancer> relaxed: made a .deb of it too
[19:29] <necromancer> relaxed: the only reason i had to build ffmpeg in the first place is because sox doesn't encode from FLV to MP3 directly, unfortunately
[19:30] <necromancer> kinda sucks because sox actually depends on ffmpeg for mp4, aac, ac3, wav, avi, wmv, theora, amr-nb and mpeg video support
[19:30] <relaxed> you can pipe anything to sox with -f sox
[19:30] <necromancer> relaxed: right, but the issue is that i can't compile sox
[19:31] <grendal-prime> hey burek i get an error about..
[19:31] <grendal-prime> main mux error: no sout mux module matched "flv"
[19:31] <grendal-prime> do i just have an outdated ffmpeg?
[19:32] <relaxed> necromancer: I'm missing something... sox should be in the debian repo.
[19:33] <necromancer> relaxed: and unlike ffmpeg, sox doesn't have a huge community of users or an irc channel so it's super hard to find support
[19:34] <burek> grendal-prime
[19:34] <relaxed> I understand. Why are trying to compile it though?
[19:34] <burek> try mux=ffmpeg{mux=flv}
[19:34] <burek> instead of mux=flv
[19:35] <necromancer> relaxed: it is in the debian repo, but when i try to encode to MP3 it gives me an error saying it's not supported
[19:35] <relaxed> burek grendal-prime:does concat not work? ffmpeg -i concat:a.flv\|b.flv -vcodec copy -acodec copy output.flv
[19:36] <relaxed> necromancer: So save sox's output to wav and encode to mp3 with ffmpeg
[19:37] <relaxed> or use lame
[19:39] <necromancer> relaxed: i would, but the music provided as background tracks is going to be MP3
[19:39] <necromancer> and it's really shitty that the only reason that extra step has to happen is because SoX can't write a proper ./configure script...
[19:41] <necromancer> so now i have to transcode these mp3s to something manageable before i even get to use them in sox, rather than just pulling a file that can be just set by the client
[19:43] <relaxed> did you try sox git?
[19:43] <burek> relaxed, concat: works for mpeg videos only
[19:52] <grendal-prime> ok burek ..ya that seems to have done the trick at least..well hmm i have to stop it before it will let me view it..werid..probably i need it to be streamed by an flash player so need to find one of those now
[19:53] <burek> you can for example
[19:53] <burek> try output like
[19:54] <burek> -f mpegts udp://localhost:1234
[19:54] <burek> and start vlc, open network stream and type: udp://@:1234
[19:54] <burek> to see the stream
[19:55] <burek> if you want to broadcast your screen to a lot of other users
[19:55] <burek> you'll need a streaming server for that
[19:55] <burek> ffmpeg would grab the video and encode it and send it to the streaming server
[19:55] <burek> ffserver or vlc
[19:55] <burek> or something else
[19:56] <grendal-prime> ya just seems like i shoujld be able to write it to a location on the web server.
[19:57] <burek> try reading more about ffserver
[19:57] <grendal-prime> you know like wordpress does
[19:57] <burek> wait
[19:57] <grendal-prime> now..those are static flv files..
[19:57] <burek> are you trying to do live broadcast
[19:57] <burek> i see
[19:57] <grendal-prime> ya
[19:57] <burek> so just save it with ffmpeg
[19:57] <burek> to a file
[19:57] <burek> nothing more
[19:57] <burek> then upload a file to a webserver
[19:57] <burek> and use some flv player to display it on the webpage
[20:03] <grendal-prime> no no...that i know how to do that... here is the situation,
[20:03] <grendal-prime> i will be training several people at one time..all in office but all at their desktop
[20:04] <grendal-prime> i want to voicecall everyone..put them on speaker then ..start demonstarting how to do various things.
[20:04] <grendal-prime> if they can just hit a web page that has a flash animation of what im doing. its a huge help 
[20:05] <grendal-prime> if they dont have to configure anything its even better
[20:05] <burek> cvlc <input from screen> --sout='#transcode{vcodec=h264,vb=512,acodec=mp3,ab=128}:std{access=http,mux=flv,dst=0.0.0.0/live.flv}'
[20:05] <burek> then put some flv web player on some webpage
[20:05] <burek> and direct it to http://yourip:8080/live.flv
[20:05] <grendal-prime> the big thing is, i have to be able to take questions and then work them out. in front off them.
[20:05] <grendal-prime> right...that should do it i think..thanks man..
[20:06] <grendal-prime> oh just for the record that line needs modification though
[20:06] <grendal-prime> herhe
[20:06] <grendal-prime> here 
[20:06] <burek> mux=flv replace with mux= or mux=ffmpeg{mux=flv}
[20:06] <grendal-prime> cvlc screen:// --sout='#transcode{vcodec=h264,vb=512,acodec=mp3,ab=128}:std{access=http,mux=ffmpeg{mux=flv},dst=0.0.0.0/live.flv}'
[20:06] <grendal-prime> ya there we go
[20:06] <burek> now google flowplayer
[20:06] <burek> or jw player
[20:06] <burek> and continue your work
[20:06] <burek> :)
[20:06] <grendal-prime> thanks man.
[20:07] <grendal-prime> sorry to be such a pain.
[20:07] <burek> :beer: :)
[20:07] <grendal-prime> like i say next time im in town..where you at?
[20:07] <burek> or we can drink here :)
[20:08] <burek> i alredy do ^^
[20:31] <grendal-prime> hey burek this is not really related to ffmpeg direcly i guess but...it wirtes this live.flv to the tmp folder  how would i go about changeing that to say...the /var/www/videos folder...just replace the live path with that?
[20:32] <burek> what tmp file?
[20:33] <grendal-prime> hmmm well..hold on
[20:34] <grendal-prime> cvlc screen:// --sout='#transcode{vcodec=h264,vb=512,acodec=mp3,ab=128}:std{access=http,mux=ffmpeg{mux=flv},dst=0.0.0.0/live.flv}'
[20:34] <grendal-prime> that right there the live.flv file gets actually created in the tmp folder
[20:34] <grendal-prime> sorry dir..
[20:34] <burek> no
[20:34] <burek> it doesn't get created anywhere except in ram memory
[20:34] <burek> it spawns a http server
[20:35] <burek> which serves the stream under a pseudo name live.flv
[20:35] <burek> which makes sense only in URL
[20:35] <burek> nothing more
[20:35] <grendal-prime> oooo
[20:36] <grendal-prime> ok i see so i need to specify a file then ok i get it
[20:36] <grendal-prime> in the output instead of http.
[20:36] <burek> if you type access=file
[20:36] <burek> then no http server will be created
[20:36] <burek> only a file written
[20:37] <burek> and the file name is in "dst" param
[20:37] <burek> but writting a file
[20:37] <burek> wont help you
[20:37] <burek> if you want to do live broadcast
[20:38] <burek> you'll be able to read it only after you close the vlc and finish writting the file
[20:38] <burek> in the meantime you cannot play its content
[20:38] <grendal-prime> grrr ok..well hmm
[20:39] <grendal-prime> ok ok i see i missed something some time back.
[20:39] <grendal-prime> i need to point the flash player to the http url
[20:40] <grendal-prime> ok makes sence now
[20:40] <grendal-prime> sorry again
[20:42] <burek> :)
[20:42] <burek> you can also use
[20:42] <burek> dst=0.0.0.0:1234/bla.flv
[20:43] <burek> if you need a different port
[20:43] <burek> 8080 is kinda http proxy port, so you might want to avoid that
[20:43] <burek> to avoid bots scanning you all the time
[20:49] <grendal-prime> its trying to work..but...for whatever reason...i get the spinny deal (working) untell i stop the stream. then..nada
[20:49] <grendal-prime> and the browser hmm says transfering data..
[20:50] <grendal-prime> its like its waiting  wowow o w...wait a bmin there wer go
[20:50] <grendal-prime> just took some time to get it all
[20:51] <grendal-prime> its just a little on the slow sid
[20:51] <grendal-prime> side that is
[20:56] <fris> anyone ever have an issue with libx264 not found when in fact its installed
[20:56] <relaxed> fris: it usually means the version installed is too old
[20:57] <fris> using 2245 release, newest
[20:57] <fris> snapshot 20111009
[20:57] <relaxed> and you're trying to compile ffmpeg fro git as well?
[20:58] <relaxed> from*
[20:58] <fris> yes
[20:58] <relaxed> then you have old libx264 headers somewhere
[20:59] <relaxed> fris: find /usr -name "*x264*"
[21:04] <fris> https://gist.github.com/1371177
[21:05] <relaxed> remove all of those, reinstall x264 from git and then try ffmpeg's ./configure again after running `make distclean`
[21:06] <grendal-prime> ya that works very good man thanks
[21:06] <grendal-prime> there is a bit of a lag but i can work with that
[21:06] <grendal-prime> is there like a frame drop i can institute that would make things a bit snappyer?
[21:43] <grendal-prime> burek, ya so it works well enough for now ill beat it up later.  You know i tried to do the same thing with the vlc gui interface..it does not work though
[21:43] <grendal-prime> its werid
[21:47] <grendal-prime> anyway i need to get some food
[21:49] <necromancer> is there a way to change the sample-rate of a WAV with ffmpeg?
[21:51] <necromancer> haha never mind found it
[21:59] <watermark> I'm trying to add padding to a video and resize the video.  It looks like the resize is applied before the filters?  Can I make the filters apply first?
[22:05] <v116v> hello
[22:05] <v116v> hola?
[22:05] <v116v> buenas noches
[22:05] <v116v> good night
[22:05] <v116v> i need help
[22:21] <v116v> buenas noches
[22:26] <necromancer> lol
[22:26] <necromancer> as if we're just not gonna answer when you speak english
[22:26] <necromancer> instead of saying "para no ingles"
[23:22] <necromancer> hey so i'm trying to pipe ffmpeg into sox
[23:22] <necromancer> and i'm getting this error
[23:22] <necromancer> sox FAIL formats: can't open input pipe `|ffmpeg -i audioStream_1321399534128_21.flv -t wav pipe:1': premature EOF
[23:24] <necromancer> i also get "Invalid duration specification for t: wav"
[23:25] <necromancer> how can i specify the proper duration? i don't know the duration of this FLV beforehand...
[23:25] <v116v> hello
[23:25] <necromancer> here's the whole command: sox --combine mix -p --no-show-progress --norm "|ffmpeg -i audioStream_1321399534128_21.flv -t wav pipe:1" wrong.wav - | ffmpeg -i pipe:1 ~/www/trauma101.com/compiled.mp3
[23:25] <v116v> good night, i am spanish
[23:25] <necromancer> hehe figured, v116v...what do you need help with?
[23:26] <v116v> i need help with compile ffmpeg in debian squeeze
[23:26] <v116v> with faac and x264
[23:26] <necromancer> ah
[23:26] <necromancer> i just did this
[23:26] <necromancer> have you tried the debian-multimedia.org repo?
[23:26] <v116v> yes
[23:26] <necromancer> their APT copy didn't work for ya?
[23:27] <v116v> my problem is in the ./configure comand
[23:27] <necromancer> yeah you're gonna need to pass those switches
[23:27] <v116v> say need libx264
[23:27] <v116v> and
[23:27] <v116v> faac
[23:27] <necromancer> v116v: try following this guide, ubuntuforums.org/showthread.php?t=786095
[23:27] <necromancer> i used it to build a ffmpeg for debian squeeze w/LAME
[23:27] <v116v> ok i see it thank yus
[23:27] <necromancer> and x264
[23:28] <v116v> thank you very much i see it
[00:00] --- Thu Nov 17 2011


More information about the Ffmpeg-devel-irc mailing list