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

burek burek021 at gmail.com
Tue Jul 24 02:05:01 CEST 2012


[00:00] <Mavrik> m0nkey: you need x264 header files and library to compile ffmpeg with that support
[00:00] <bennu> Haha, Mav beat me to it.
[00:00] <Mavrik> (so you need x264.h, libx264.so or libx264.a)
[00:01] <Mavrik> m0nkey: which means you probably have to install x264-dev package from apt ;)
[00:01] <bennu> You do some developing for ffmpeg, Mav?
[00:02] <bennu> Or are you just a kindly IRC helper?
[00:02] <m0nkey> can i tell ffmpeg to use libx264.a from some path?
[00:02] <JEEB> yeah
[00:02] <bennu> (EIther way, you're doing god's work)
[00:02] <Mavrik> bennu: I developed stuff that used ffmpeg, haven't pushed any patches though :)
[00:02] <JEEB> either PKG_CONFIG_PATH=/your/prefix/lib/pkgconfig ./configure --your-settings
[00:02] <JEEB> or
[00:02] <burek> m0nkey, you can use ./configure --extra-ldflags=/path/to/libx264.a
[00:03] <Mavrik> --extra-ldflags=-L<path to libx264.a> --extra-cflags=-I<path to x264.h>
[00:03] <JEEB> --extra-cflags="-I/your/prefix/include" and --extra-ldflags="-L/your/prefix/lib/"
[00:03] <burek> but you need the path to libx264.h too
[00:03] <Mavrik> JEEB's version is technically more correct :P
[00:04] <JEEB> using pkg-config you can save yourself some headache, but if you don't use pkg-config or the library search doesn't support pkg-config for that lib, then --extra-c/ldflags are the only thing that'll work
[00:04] <JEEB> also if you are using custom prefixes, you usually want to use static libs
[00:05] <JEEB> because otherwise you'll have plenty of fun with LD_LIBRARY_PATH
[00:05] <JEEB> (as in, the system not finding the library when you try to run the binary)
[00:05] <Mavrik> getting static libs to work can also be a very fun endeavor :P
[00:05] <JEEB> nah
[00:05] <JEEB> I've usually had more trouble with shared than static
[00:06] <JEEB> of course, some specific libraries and things hate being built as static
[00:06] <Mavrik> yeah, that
[00:06] <JEEB> but I don't really have that happen much with ffmpeg-related stuff
[00:06] <Mavrik> also, usually you need to compile them with -fPIC
[00:06] <JEEB> libx264/fdk-aac/LAME/ffms...
[00:06] <JEEB> Mavrik, only if you are building ffmpeg itself as shared
[00:06] <JEEB> (or well, libavcodec/format etc.)
[00:06] <JEEB> default IIRC is static
[00:06] <Mavrik> JEEB: mhm, that's what I was doing
[00:07] <JEEB> well, yes -- when mixing static and shared you need to use PIC
[00:07] <JEEB> (with the static libs)
[00:07] <JEEB> but on the other hand if you're building libav* as shared I don't know why you'd build the linked libs as shared
[00:07] <JEEB> argh
[00:08] <JEEB> s/shared/static/
[00:08] <Mavrik> JEEB: easier distribution
[00:08] <JEEB> yet you want the libav* and libswscale libs to be shared?
[00:08] Action: JEEB scratches his head
[00:08] <Mavrik> yep, that was the use-case
[00:09] <JEEB> anyways, most homebrew compiles should IMHO be all static, unless one has a specific need. That's the default, too.
[00:09] <Mavrik> JEEB: there were issues with licensing so I couldn't statically link IIRC
[00:10] <JEEB> if you need to distro or for some religious/applicable reason not have static, then you're off to having fun with shared :)
[00:10] <m0nkey> thanks guys, it worked
[00:10] <JEEB> I'm just quite used to building to non-standard places and shared really doesn't work well with that
[00:10] <JEEB> because *nix has LD_LIBRARY_PATH
[00:10] <Mavrik> JEEB: yeah, I know
[00:10] <JEEB> (which doesn't include dot by default)
[00:10] <Mavrik> I was building something that interfaced with tons of proprietary code and had to run on Solaris/Windows/Linux
[00:11] <JEEB> yeh
[00:11] <Mavrik> and corpo bosses got fits by just hearing "opensource"
[00:11] <JEEB> specific use cases need specific stuff
[00:11] <Mavrik> was a nice minefield to walk that :P
[00:11] <m0nkey> btw, x264 is multithreaded by default, right?
[00:11] <JEEB> m0nkey, yeh
[00:11] <Mavrik> m0nkey: yep
[00:11] <JEEB> -threads 0 by default
[00:11] <JEEB> which is "auto"
[00:11] <JEEB> (with libx264)
[00:11] <m0nkey> great
[00:21] <VooDooMoN> anyone know where i can get libavutil?
[00:22] <Mavrik> that's part of ffmpeg
[00:22] <Mavrik> essential part I mean
[00:23] <VooDooMoN> hmmm yeah, i just found that
[00:23] <VooDooMoN> attempting to get ffprobe to work outside of upgrading ffmpeg
[00:24] <Mavrik> VooDooMoN: look for static ffmpeg builds
[00:25] <Mavrik> VooDooMoN: getting those to run won't require admin privileges or libraries
[00:25] <Mavrik> if you have compatible libc version that is
[01:44] <VooDooMoN> hmmm... is there a static ffprobe out there?
[01:55] <VooDooMoN> so... ffmpeg -i /path/to/file.flv wont work in php's passthru() function because nothing is actually being sent... if you do the command with > file.log you get an empty file
[02:36] <drno__> Hi.
[02:37] <drno__> Seem to be having some confusion on the topic.. just a quick ffmpeg / x264 encoding question.
[02:37] <drno__> what setting would I want to tweak to have the lowest possible CPU utilization for encoding w/ x264 in FFMPEG while retaining the original quality (bitrate is unimportant here)?
[02:38] <drno__> Tried the lossless-ultrafast, but that eats a considerable amount of CPU.
[02:45] <cesar_bo> Hello, I'm looking the post of the author of the x11grab feature to the record screen with ffmpeg, someone recall this ?
[03:20] <burek> drno__ -preset ultrafast -crf 0
[03:20] <burek> take a look at screen grab tutorial
[03:21] <burek> cesar_bo you can also take a look :)
[03:21] <cesar_bo> burek: I'm trying to find the author and the blog post
[03:22] <burek> author of what
[03:23] <burek> VooDooMoN, try ffmpeg -i input 2>&1
[03:23] <burek> ffmpeg uses stderr for log messages, not stdout (which you redirected using pipe)
[03:24] <cesar_bo> burek, some guy post a patch to draw the rectangle when screenrecording, i am looking for that guy
[03:24] <drno__> Oh.... ok, I'll take a look./
[03:24] <drno__> So... losless or non-lossless ultrafast
[03:24] <burek> you can also use rawvideo if you like
[03:24] <burek> but -crf 0 will make lossless (but compressed) video
[03:24] <burek> which can save your hdd space
[03:26] <drno__> Don't care about HDD space at all.  I'd prefer raw -- can that be done with x264?
[03:26] <drno__> All I care is that it's wrapped in x264 within FLV... no processing would be even better! =)
[03:27] <burek> if you need x264 then -crf 0 and -preset ultrafast
[03:27] <burek> if you want rawvideo, then just -vcodec rawvideo
[03:28] <drno__> Hmm.... I'm just being dense here I'm sure, but.. is -vcodec rawvideo a valid format to stuff into an FLV file?
[03:29] <burek> don't know.. you can try :)
[03:29] <burek> if not, try avi or mkv :)
[03:29] <VooDooMoN> burek, do you know of any ffprobe statics for linux?
[03:29] <drno__> Asked because I tried and it didn't work. =)  My web interface can't stream anything that isn't supported by FLV or html5.
[03:30] <drno__> well, thanks for the insight.
[03:32] <burek> VooDooMoN not that I know of :/
[03:32] <burek> drno__, you want to stream raw video? :D
[03:34] <drno__> From the standpoint of codec, I don't care. If FLV supported raw video, that'd be perfect. Just looking for the best quality I can achieve with minimal CPU resources, without bound on the bitrate.  Currently, setting CRF to 0 causes much higher utilization than the non-lossless ultrafast preset.
[03:35] <burek> what is the use case for that drno__?
[03:35] <burek> what do you need it for
[03:36] <VooDooMoN> woot, thanks burek, the 2>&1 worked for me
[03:37] <burek> :beer: :)
[03:37] <drno__> I've got a DVR set up at the house encoding four cameras -- it stores in files written to the HD.  I've tried opening the files and streaming before they were complete, but it doesn't start streaming until the file is written.
[03:38] <burek> that's expected :)
[03:38] <drno__> The goal is to have real-time streaming on the local LAN so I can see who's at the front door / back door, etc. etc.  I don't care about the bandwidth, but I've got a web interface that does other things in the living room that I'd like to incorporate this into.
[03:38] <drno__> burek: Yes... agreed.
[03:38] <burek> drno__ well, how do you capture the input from dvr anyway
[03:39] <drno__> The only problem being, I don't have much spare CPU after the encoding.
[03:39] <drno__> I've got a raw feed on the DVR -- so, raw YUV420P images in, trying to do something with those.
[03:39] <burek> wait, how did you manage to do that if the dvr has its own encoding tools
[03:39] <burek> did you reverse engineered it or what
[03:40] <drno__> I think we're getting pretty far away from the original inquiry. =)
[03:40] <drno__> The DVR is linux-based.  It uses /dev/video* devices, with a vloopback driver.
[03:40] <drno__> So multiple programs can read from the raw stream.
[03:40] <burek> so you killed its own encoder and want to do it yourself? :)
[03:41] <drno__> it's encoder is still working. =)  Just want to create another stream.
[03:41] <burek> oh :) even  better :D
[03:41] <burek> btw, isn't dvr's streaming already real-time?
[03:41] <burek> doesn't it have some web interface
[03:41] <burek> so you can watch video live?
[03:42] <drno__> it's a cheap-ass dvr.. it stores video, and displays images that can be refreshed every 5 seconds.
[03:42] <burek> afaik most of them have got rtsp
[03:42] <burek> well raw video will use (depending on the image resolution) around 400 mbps
[03:43] <burek> do you have fiber optic lan? :)
[03:43] <drno__> In this case, raw vid is about 90mbit. =)
[03:43] <drno__> I have wired gig throug hthe house, so bw is not an issue.
[03:43] <burek> almost on the limit :)
[03:43] <burek> oh
[03:43] <burek> wired gig ? :)
[03:43] <burek> that's cool :)
[03:43] <burek> anyway
[03:44] <drno__> ok... cat6, and gig switches.  yeah, it's convenient. =)
[03:44] <burek> if you use -vcodec rawvideo
[03:44] <burek> you can try with
[03:44] <burek> ffmpeg -i ... -vcodec rawvideo -f mpegts udp://remote:port
[03:45] <burek> that will be as most real-time as you can get
[03:45] <drno__> So that's sending a UDP stream to another system... what would play the video?
[03:45] <drno__> or am i wrong?
[03:45] <burek> vlc udp://@:port
[03:46] <burek> ffplay udp://localhost:port
[03:46] <burek> etc
[03:46] <drno__> Ah.. so, I'm sure that would technically work, but would break my model of the web touch screen.
[03:46] <burek> well isn't the goal to send that stream to someone to watch it
[03:47] <drno__> Eh... it's a silly project.  I might sa well just buy a bigger box and move th eDVR software over to it.
[03:47] <burek> what model
[03:47] <drno__> brb
[03:55] <codefriar> what're the differences between a buffered image and an ImlImage
[04:15] <delicado> hi im using libavcodec to display background videos for a freeware karaoke software. im done with the display part but no frame synchronization yet because i dont know how to do it. ive read somewhere that AVPacket::pts and AVStream::time_base has what im looking for and now im am testing it. but AVPacket::pts sometimes has a value of -9223372036854775808 or 8000000000000000h, what does it
[04:15] <delicado> mean? what should i do with the video frame if it got that pts. i tried searching for the answer in libavcodec docs but i could not find the answer that i am looking for. sorry for the bad english.
[04:31] <delicado> i did a test to only show frames that has a pts (Presentation-Time-Stamp if you guys forgot what it means) of -9223372036854775808. the shown frames are not empty (there are images). so i guess it does mean something. i want to know what it means.
[05:11] <delicado> hi, about mine.
[05:32] <delicado> please help me guys.
[05:33] <delicado> please....
[10:23] <_raven> hi
[10:24] <_raven> how to speed up a video? i remember any way to work with input and output framerates but i do not remember how to do that
[10:52] <burek> for _raven
[11:12] <saste> _raven: setpts + atempo
[11:21] <_raven> tnx
[11:28] <denny--> Hi.  I've got a workflow that takes a few .ts clips and cats them together to form one large file (using DOS copy /b option).  This leaves me with duration metadata (and probably other metadata) for the last clip in the file rather than the whole file.  What would be a good way to fix that, or is there a better way to stitch the files together rather than using the copy command?
[13:13] <burek> denny--, try reading on wiki about concatenation
[13:16] <saste> denny: you can also try the new concat filter if you can transcode the data
[13:17] <burek> does it work now ?
[13:27] <saste> burek: what?
[13:37] <denny--> saste: I did look at that - I don't want to lose video quality though, would that be re-encoding the video component?
[13:38] <saste> denny--: yes
[13:38] <saste> since it involves filtering, if the original format is "streamable" you should be able to perform the physical cat trick
[14:09] <burek> saste, does concat: demuxes inputs or just performs the cat internally?
[14:10] <JEEB> burek, concat filter does the same as if you just concaterated the files
[14:11] <saste> burek: concat is a *filter*, that is it works at the filtering level, demuxing is done at a different level
[14:13] <ubitux> burek: filter concat = demux, decode, filter magic, encode, mux
[14:13] <ubitux> it should work with anything contrary to concat protocol
[14:14] <ubitux> but it requires "heavy" processign (decode/encode), as well as potentially quality loss during re-encode
[14:17] <JEEB> oh, there was a way to do something a la a++b in avisynth in ffmpeg?
[14:17] <burek> ok, so there is "concat" filter now
[14:17] <JEEB> load up sources, then feed them to the encoder one after another?
[14:17] <burek> no more concat:file1|file2|file3, righ?
[14:17] <burek> just -vf concat ...
[14:19] <burek> well the docs say it's a protocol..
[14:19] <burek> hmh..
[14:20] <burek> nothing in ffmpeg -filters about concat :/
[14:22] <burek> I thought it would be maybe more intuitive to make it like a demuxer (like image2) which handles a list of files and produces continuous output
[16:00] <WannaBeGeekster> what causes my audio to be out of sync on the second half or near the end of the video?
[16:04] <WannaBeGeekster> So baseline is a profile?  And 3.1 is a level?
[16:08] <sacarasc> WannaBeGeekster: Yes to both, for the second question.
[16:09] <WannaBeGeekster> What are reference frames?  Are they bframes?  I am trying to look at this XML file I have of a profile from Sorensen Squeeze to try and duplicate the settings as much as possible in ffmpeg.
[16:09] <WannaBeGeekster> http://pastebin.com/4y94ZWuY
[16:10] <WannaBeGeekster> They also have KeyFrameRate listed and it looks like it is every 10 seconds.
[17:07] <rstone2311> hello
[17:12] <rstone2311> I've been trying to convert some VOBs to an h264 mp4 with ffmpeg, but it seems as though I always end up with the resulting mp4 having the audio out of sync
[17:12] <rstone2311> command and output is here: http://pastebin.com/AMkPiBAD
[17:14] <burek> rstone2311 did you check if your original is not damaged in any way
[17:14] <burek> does it play ok?
[17:15] <rstone2311> yea i've checked that, i've converted quite a few different dvds and the result is the same with all of them.
[17:15] <burek> always async?
[17:15] <rstone2311> they play fine, video looks good, just the audio issues
[17:16] <burek> well, it might be damaged then
[17:17] <sacarasc> I blame the cat *.VOB part...
[17:17] <burek> oh, well, that too
[17:17] <rstone2311> i have tried listing out the files instead of *.VOB
[17:17] <rstone2311> cat file1 file2 file3 etc
[17:17] <burek> it's the same
[17:17] <rstone2311> or did you mean the command itself?
[17:18] <burek> I think you might want to concat your files first
[17:18] <burek> and then re-encode them
[17:18] <burek> search for concat
[17:18] <sacarasc> rstone2311: If you have mplayer installed, try mplayer *.VOB -dumpstream -dumpfile blah.mpg
[17:18] <burek> on that page
[17:18] <sacarasc> Then use blah.mpg.
[17:21] <rstone2311> ok nice. i'll use that bash script then. one question: should I include the VIDEO_TS.VOB file in the concatenation? I played around with including/excluding it
[17:22] <burek> basically concatenation is not that easy as people usually think
[17:22] <burek> those are separately encoded media files
[17:23] <burek> the fact they are "just sequence of the same session" doesn't help a lot
[17:23] <burek> they do have diff parameters and stuff, so your best bet is to use video editor and join them first
[17:23] <burek> and see if the audio is in sync
[17:23] <burek> if it is, then re-encode it to whatever you need
[17:25] <rstone2311> i agree. I just have hundreds of DVDs to convert so I was hoping to do so without having to check every concatenated temp file
[17:26] <burek> I'm not sure if ffmpeg is the right tool for that
[17:27] <rstone2311> oh
[17:28] <rstone2311> well i'll give this script a try and report the results
[17:29] <burek> ok
[18:10] <natrixnatrix89> Can I stream webm via ffserver?
[18:14] <rstone2311> @burek, as an update, i'm having Operation Not Permitted issues lol
[18:17] <burek> rstone2311, with what?
[18:17] <burek> with the script? :)
[18:18] <burek> natrixnatrix89 i think yes
[18:18] <natrixnatrix89> hmm. I tried and got an error. that codec isn't using global headers..
[18:19] <natrixnatrix89> what exactly does that mean?
[18:23] <natrixnatrix89> Mon Jul 23 19:22:44 2012 127.0.0.1 - - [GET] "/test1.webm HTTP/1.1" 200 498
[18:23] <natrixnatrix89> Mon Jul 23 19:22:44 2012 Codec for stream 0 does not use global headers but container format requires global headers
[18:23] <natrixnatrix89> how do I add the global headers then?
[18:23] <burek> you need to set -flags +global_header
[18:23] <natrixnatrix89> in ffmpeg feeding ffserver?
[18:23] <natrixnatrix89> or in ffserver?
[18:26] <natrixnatrix89> oh.. this is how it works.. AVOptionVideo flags +global_header
[18:27] <juanmabc> http://fossies.org/dox/ffmpeg-0.11.1/libswresample_2resample_8c.html#ab7f21690522b85d7757e13fa9853d4d8
[18:28] <juanmabc> no idea of what is sample_delta and compensation_distance, not that it says anything
[18:28] <juanmabc> care to comment? (could go to code too)
[18:30] <juanmabc> ffplay.c does a nice approach to explain it
[18:30] <juanmabc> swr_set_compensation(is->swr_ctx, (wanted_nb_samples - is->frame->nb_samples) * is->audio_tgt_freq / dec->sample_rate, wanted_nb_samples * is->audio_tgt_freq / dec->sample_rate) < 0)
[18:31] <juanmabc> but it return weird results here like not even playing audio, with some input values
[18:35] <juanmabc> actually, i'm gonna check if it's not some double/unsigned issue that makes it 0, printf to the rescue
[18:36] <natrixnatrix89> how do I define video preset in ffserver.conf file?
[18:41] <burek> natrixnatrix89, translate all the params from the preset file into cmd line params
[18:41] <burek> and add them using avoptionAudio/Video
[18:42] <natrixnatrix89> I see.. Ok. Do you know, where are libx264 preset files located?
[18:43] <juanmabc> so i got sample_delta = 3584 compensation_distance = 4096, audio nothing
[18:46] <juanmabc> well, actually not nothing, as it turns out, it is slowed down to very bass sound (like slow motion)
[19:12] <juanmabc> for the record swr_set_compensation(rc, 0, 0); is a winner :D
[19:20] <rstone2311> @burek yea the script
[19:44] <burek> rstone2311 you can start the script with bash -x script
[19:44] <burek> to debug
[19:45] <burek> but most probably those are permission issues
[19:45] <burek> are you root? :)
[19:48] <rstone2311> i wasn't root at the time
[19:49] <rstone2311> i have one of the sysadmins looking at it at the moment
[21:09] <proshot> i am using the following command to record my desktop, for making computer tutorials for a friend of mine, however he runs windows, and he says he can't play the video's, so i was wondering how could i record with the same quality as i have but have it as a standard mpg video which could be played on a windows box without having to install extra software
[21:09] <proshot> http://pastebin.com/jEdg30XY
[21:10] <cbreak> that's a standard mpeg 4
[21:10] <cbreak> with a very inefficient audio codec
[21:11] <proshot> oh how should i change it with a better audio codec
[21:12] <proshot> or better, record it withouth audio at all cbreak
[21:12] <sacarasc> -an
[21:12] <sacarasc> That will do without audio.
[21:12] <proshot> which should replace this -acodec pcm_s16le
[21:13] <proshot> cbreak, still wondering why he had problems playing that vidoe
[21:13] <proshot> video under windows
[21:13] <sacarasc> Probably an old version of Windows.
[21:15] <cbreak> maybe windows sucks.
[21:20] <proshot> yeah, what is the standard -r options for hd720 recordings
[21:20] <proshot> 30 or 25
[21:20] <proshot> or something else
[21:26] <proshot> why do i get this message [mpeg @ 0x937e9c0]packet too large, ignoring buffer limits to mux it and should i be worried http://pastebin.com/WrXyH1WF
[21:28] <proshot> its starts on line 36 of the pastebin link
[21:45] <aiguu> Hello
[21:45] <aiguu> I am trying to enable dxva for h264 decoding but can't seem to figure out how
[21:45] <aiguu> I am using precompiled binaries from zeranoe's site
[21:46] <aiguu> I have the decoding and encoding working well according to some examples
[21:47] <aiguu> Is there any simple way to enable dxva?
[22:30] <dooley> Anyone know how to get libx264 and libfaac on ubuntu server?
[22:38] <natrixnatrix89> dooley: ffmpeg?
[22:38] <natrixnatrix89> I mean ffserver?
[22:38] <dooley> Was failing on the apt-get install libfaac-dev
[22:39] <natrixnatrix89> oh
[22:39] <dooley> added medibuntu to apt-sources and enabled multiverse in sources.list
[22:39] <dooley> appears to have solved the issue.
[00:00] --- Tue Jul 24 2012


More information about the Ffmpeg-devel-irc mailing list