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

burek burek021 at gmail.com
Sat Mar 21 02:05:02 CET 2015


[00:00:25 CET] <bramgg> (warning, kinda big file)
[00:03:03 CET] <pzich> Mista_D: take a look at the -loglevel flag, but I don't think it's that specific
[00:03:42 CET] <iive> bramgg: yeh, looks bad. but maybe the problem is the choice of colors. gif is 8 bit, so just 256 colors. picking palette might be tricky
[00:03:54 CET] Action: iive wonders who worked on gif, ubitux ?
[00:04:53 CET] <bramgg> iive: to me this doesn't seem like a palette problem
[00:05:12 CET] <relaxed> bramgg: did you see http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html ?
[00:05:23 CET] <bramgg> relaxed: I did
[00:05:58 CET] <bramgg> relaxed: haven't put anything they wrote into practice because I didn't think it was relevant to this issue
[00:06:51 CET] <Mavrik> ffmpeg is probably just selecting yellow as the closest color to your gray from the prebuilt palette
[00:07:39 CET] <bramgg> Mavrik: if you guys are all in agreeance... but I don't get why it would then do that for some of the gray and display regular gray in other places
[00:07:57 CET] <bramgg> I'll try creating a palette like that blog post says
[00:09:32 CET] <iive> bramgg: it might be easier to try using scale to explicitly convert to rgb8
[00:10:15 CET] <iive> and e.g. ffplay
[00:11:05 CET] <iive> ffplay <file.mp4> -vf scale,format=rgb8
[00:12:26 CET] <iive> bramgg:
[00:13:10 CET] <bramgg> iive: what does ffplay do?
[00:13:32 CET] <iive> it plays video, on the screen
[00:13:51 CET] <bramgg> Okay so it doesn't add to the conversion, just convenience
[00:13:56 CET] <bramgg> (just making sure)
[00:14:05 CET] <iive> this way you can rule out problem in the gif encoder.
[00:14:10 CET] <bramgg> ah
[00:14:12 CET] <bramgg> installing
[00:14:21 CET] <iive> it must be part of ffmpeg
[00:14:54 CET] <iive> ffmpeg probably inserts scale automatically, this way you test only the color conversion.
[00:15:40 CET] <bramgg> Looks like I'll have to re-install ffmpeg from source to get ffplay...
[00:19:27 CET] <__jack__> iive: nice hint, that give the same result (yellow everywhere)
[00:20:07 CET] <iive> so the custom palette would solve the problem.
[00:20:19 CET] <iive> bramgg: ^
[00:20:42 CET] <bramgg> ah, thanks
[00:26:52 CET] <bramgg> it works! Thanks!
[00:31:25 CET] <iive> \o/
[01:13:35 CET] <thomasb_> Hi!
[01:17:23 CET] <iive> bye
[01:17:40 CET] <thomasb_> I'm trying to detect solid red frames in a video, using ffmpeg. Any ideas? So far, i have used the scene detection feature to create a tiled jpg, which makes it quite easy to spot red frames.
[01:21:51 CET] <thomasb_> this is the command I'm using
[01:21:58 CET] <thomasb_> ffmpeg -i input.mxf -vf select='gt(scene\,0.5)',scale=96:48,tile=16x16:margin=8:padding=4 -vsync vfr -qscale:v 8 %03d.jpg
[02:59:05 CET] <Axeman> what's the difference between http://ffmpeg.zeranoe.com/builds/ and what's here: http://ffmpeg.org/download.html
[04:13:30 CET] <thebombzen> Axeman: the one's on FFmpeg are the source. The ones from Zeranoe are third-party binary builds
[07:59:50 CET] <crazy6> I'm having a bit of trouble going from this AVI containing pre-bayer data to a color converted & encoded output. It works if I do it in two steps, where I extract the video from the AVI first, then pipe it into a second command: http://pastebin.com/sFyjxjqB
[08:05:04 CET] <crazy6> Er, no, whoops, the demux one didn't paste right: http://pastebin.com/yRsBx51V
[08:14:40 CET] <relaxed> crazy6: pastebin the last command and output
[08:15:50 CET] <relaxed> and how did you come to -pix_fmt bayer_grbg8 ?
[08:15:57 CET] <crazy6> guess and check
[08:16:25 CET] <crazy6> but that seems to produce the correct output. I'll do a test shot with a ColorChecker at some point.
[08:18:11 CET] <crazy6> Here's the pastebin: http://pastebin.com/Kyz8naNc
[08:18:46 CET] <crazy6> The notable thing is that it is not getting the amount of data that it exists. Maybe the AVI header isn't properly compliant?
[08:20:33 CET] <crazy6> or that bitrate estimation warning
[08:25:54 CET] <relaxed> crazy6: -f rawvideo is wrong there, it should be -f avi
[08:26:28 CET] <relaxed> if it's already in a container you can probably omit everything before the -i
[08:27:27 CET] <crazy6> oh ... I looked at https://www.ffmpeg.org/ffmpeg-formats.html and there isn't an entry for "avi" ... ok, lets try it
[08:28:16 CET] <relaxed> remove everything before the -i
[08:33:43 CET] <crazy6> relaxed, -f avi seems to not allow the bayer format. So I just get get pre-bayer data out (but encoded)
[08:36:38 CET] <relaxed> pastebin ffmpeg -i input
[08:37:24 CET] <relaxed> what is producing this avi?
[08:44:15 CET] <crazy6> It's this odd camera from MegaSpeed, highspeed camera that is field usable, http://megaspeed.ca/index.php/hhc-x7
[08:44:53 CET] <crazy6> Their software really falls short. I'm trying to do some things that will help our publication videos achieve greatness. Good video = massive exposure.
[08:45:40 CET] <crazy6> -i output on AVI: http://pastebin.com/6T8d3vwm
[08:47:35 CET] <crazy6> oh, I have paid dropbox space now ... let me just upload and share the vid with you, if you feel like a 1.5GB download!
[08:49:41 CET] <relaxed> ok
[08:57:29 CET] <crazy6> Ack, you know what ... since I expect to apply my own per-pixel black level calibration to this image, I am going to be demuxing it into raw data anyway, so the two-step solution I have now is fine, actually.
[08:58:49 CET] <crazy6> (that's right, this camera doesn't do that itself inside the camera ...)
[09:04:27 CET] <relaxed> there's no ffmpeg filter that can do it?
[09:06:47 CET] <crazy6> shrug, you tell me!
[09:07:05 CET] <crazy6> I mean, you have to take a bunch of frames and average them together.
[09:26:50 CET] <crazy6> relaxed, https://www.dropbox.com/s/71rpi34fez375bk/drop1.avi.bz2?dl=0
[09:32:18 CET] <eloseiam> Can we check ffmpeg is running or not on linux? ps cax | grep iptv. it have process but not working like zombie process. do we have command to auto kill process when sleep?
[10:47:22 CET] <ales> hi all
[10:48:20 CET] <ales> I have problem on ffserver. is consuming ram. After 6h. I have to restart to release ram
[10:48:46 CET] <ales> ffserver version 2.1.3
[10:48:59 CET] <ales> codec vp8 vpx
[16:06:28 CET] <bruber2> I don't think that there's anything like this implemented, or that it can be in a platform independent way, or even that it belongs in a userland application, but can ffmpeg be made to optimize reads and writes to account for total system RAM and source/destination spindles?  In other words, if I have 60GB of RAM free and a 200GB source file, and the current ffmpeg instance is reading and writing to the sa
[16:06:34 CET] <bruber2> me disk or array, I'd like it to only perform four total reads from the source file.  This could significantly reduce thrashing and speed up renders for big files where disk speed or IO latency is the bottleneck.  I'm thinking about this in the context of very large storage pools where ffmpeg could process several TB of video per day.
[16:23:20 CET] <baran> how big should be YUV444p pixel format linesizes?
[16:23:42 CET] <baran> in relation to picture width
[16:24:41 CET] <Mavrik> at least picture width :)
[16:25:34 CET] <Mavrik> baran, erm, sorry, 3 * width of course
[16:25:38 CET] <Mavrik> since YUV444 is 3 bytes per pixel
[16:26:31 CET] <Mavrik> I think there's even an API method that gives you number of bytes per pixel
[16:29:42 CET] <baran> oh, thanks
[16:30:22 CET] <bruber2> Mavrik and baran: baran is asking about YUV444p.  Are planar format line sizes larger than the sample size * width in pixels?
[16:30:50 CET] <bruber2> but as Mavrik says, there's a method that should return the correct number
[16:31:11 CET] <baran> could you tell more about it?
[16:33:04 CET] <bruber2> you really should use the method, because some formats may have padding for byte alignment purposes.  So the size may not actually correspond with the width exactly
[16:34:20 CET] <bruber2> see "int AVFrame::linesize" here: http://ffmpeg.org/doxygen/trunk/structAVFrame.html
[16:37:47 CET] <JohanW_Work> Hi. I want to cut a video file and its two matching audio files into arbitrary chunks, with a/v synchronization intact. Since the video file is not all-keyframes the cuts don't happen exactly where I tell ffmpeg to cut. This is not a big problem for me, but I want the *same* inexactness for both video and audio.
[16:37:53 CET] <JohanW_Work> Is there a way to accomplish this, or do I have to transcode the video into all-keyframes first? Or perhaps recode the video and audio into a whole new file and then cut that file.
[16:55:58 CET] <bruber2> JohanW_Work: I'm assuming you want to do this without re-encoding either audio or video?  If you can live with a somewhat slower than optimal workflow, and can handle temporary files, you could do ffmpeg -i audiofile -i videofile -c:v copy -c:a copy tempfile && ffmpeg -i tempfile -segment_time someduration -f segment outfile
[16:56:46 CET] <bruber2> see man ffmpeg-all  and look for the section for the "segment" muxer
[16:58:31 CET] <JohanW_Work> Yes, optimally I want to do without re-encoding since I'll be encoding at a later stage. Execution time is not very important, so I'll definitely look into the segment muxer. I hadn't come across it during previous searches.
[16:59:38 CET] <JohanW_Work> But the no-reencoding is not an absolute requirement either, so I could just recode the video to all-keyframes, then cut the video and audio files separately, concatenate them (separately) and finally do all other encodings.
[17:00:19 CET] <JohanW_Work> Thanks for the help and tip, though.
[17:00:49 CET] <Mavrik> bruber2, baran: planar (like non-planar) linesizes CAN/MAY be larger than sample*width, but AFAIK they don't have to be :)
[17:01:09 CET] <Mavrik> Encoders probably prefer them to be aligned for SSE etc.
[17:09:51 CET] <bruber2> Mavrik: Strictly speaking, they don't have to be.  But because of serious performance gains, in some cases they *ARE*.  Read through the API docs I linked to above.  You'll see the note about byte alignment for modern CPUs (for more info on this, google cpu cache prefetcher and cache alignment).  A basic example is for 720px wide video (formerly common when sampling NTSC video).  720 pix * 3 bytes / 32 byt
[17:09:57 CET] <bruber2> es for alignment != an integer
[17:12:24 CET] <Mavrik> mhm
[17:12:56 CET] <Mavrik> bruber2, I'm more talking about my experience about some encoders crashing if the fields weren't aligned because they overread
[17:13:01 CET] <Mavrik> most of them has been fixed since
[17:14:04 CET] <bruber2> Mavrik and baran: also, though not clearly documented, I believe that AVFrame::linesize[N] points to the linesize for plane N.  So YUV422p will have different values for plane 0 (Y) vs planes U and V (1 and 2)
[17:14:31 CET] <Mavrik> yes, of course it does
[17:14:49 CET] <Mavrik> for YUV444 it doesn't matter, but for others you get different linesizes per plane
[17:19:38 CET] <bruber2> right.  baran specifically asked about YUV444p.  Asuming 8 bit samples, the line size is 8 * width for each plane, but not 8 * 3 * width
[17:20:48 CET] <Mavrik> doh
[17:20:54 CET] <Mavrik> obviously :)
[17:21:00 CET] Action: Mavrik grabs his coffee.
[20:33:18 CET] <shay_shay> hello
[20:34:02 CET] <shay_shay> i'm not sure how to troubleshoot this, but I get "ERROR: gnutls not found" when building
[20:34:13 CET] <shay_shay> I have gnutls installed
[20:34:31 CET] <shay_shay> i might need to symlink something into a PATH of some kind?
[20:40:12 CET] <klaxa> do you have the development packages installed?
[20:40:24 CET] <klaxa> many distributions ship development data in separate packages
[20:42:53 CET] <shay_shay> http://pastie.org/10042728
[20:44:09 CET] <shay_shay> i'm not sure
[20:44:13 CET] <shay_shay> thats why i pasted it
[20:44:15 CET] <shay_shay> :D
[20:45:25 CET] <shay_shay> oh in this distro there are no seperate dev packages
[20:49:02 CET] <shay_shay> ./libavformat/network.c:#include <gnutls/gnutls.h>
[20:49:10 CET] <shay_shay> ./libavformat/tls.c:#include <gnutls/gnutls.h>
[20:49:18 CET] <shay_shay> i am assuming this is what its erroring on?
[20:50:14 CET] <shay_shay> root at 147:/tmp/sbo-scratch/ffmpeg/ffmpeg-2.1.5(swa)$ file /usr/include/gnutls/gnutls.h
[20:52:43 CET] <new_001> hello! Imagine I seek to the position 8604 sec and get the nearest key-frame, sure it's position is not 8604 sec, but can I know some howwhat is the global number of this  frame from the beginning? Thanks
[20:56:17 CET] <shay_shay> maybe theres a log which will be more detailed than the stdout?
[20:57:38 CET] <klaxa> config.log
[20:58:01 CET] <klaxa> can you run ldconfig -p | grep gnutls ?
[20:58:22 CET] <klaxa> if it doesn't show up, run ldconfig probably needs root and then try running ldconfig -p | grep gnutls again
[20:58:23 CET] <shay_shay> I looked in config.log, nothing unusual
[20:59:04 CET] <shay_shay> http://pastie.org/10042765
[20:59:32 CET] <klaxa> can you pastebin your config.log?
[21:01:52 CET] <shay_shay> https://drive.google.com/file/d/0B6gkqQRx3edyemxESTl4d2lqOEU/view?usp=sharing
[21:02:01 CET] <shay_shay> didnt see anything unusal
[21:03:05 CET] <klaxa> it's apparently not in your pkg-config path or something
[21:03:17 CET] <shay_shay> oh let me rename that to .log.txt
[21:03:25 CET] <shay_shay> google drive didnt let you look at it sorry
[21:04:28 CET] <klaxa> try running PKG_CONFIG_PATH="/usr/lib/pkgconfig":$PKG_CONFIG_PATH ./configure [...]
[21:06:35 CET] <shay_shay> hmm that variable is empty on this system. maybe because I'm in a chroot, not sure
[21:06:52 CET] <klaxa> it is empty by default i think
[21:09:28 CET] <shay_shay> klaxa: isnt the second quote supposed to be at the end of the second _PATH?
[21:09:56 CET] <klaxa> if it's empty anyway, you can skip the part after the colon
[21:10:10 CET] <kepstin-laptop> won't make any difference unless the path contains spaces (which it normally won't)
[21:10:11 CET] <klaxa> so just PKG_CONFIG_PATH="/usr/lib/pkgconfig"
[21:12:29 CET] <shay_shay> ok its going
[21:12:42 CET] <shay_shay> but it takes a few minutes before it gets to that error...
[21:13:07 CET] <klaxa> config.log :)
[21:13:23 CET] <shay_shay> ok i'll post it when its done
[21:13:34 CET] <shay_shay> thanks for your help btw
[21:15:39 CET] <shay_shay> https://drive.google.com/file/d/0B6gkqQRx3edyaEZCQzMzTmNoQTg/view?usp=sharing
[21:15:47 CET] <shay_shay> still same
[21:17:52 CET] <shay_shay> it says a relative path to gnutls... does that mean anything?
[21:21:23 CET] <klaxa> hmm... does pkg-config --exists --print-errors gnutls return anything?
[21:21:43 CET] <klaxa> if it doesn't return anything and $? is 0 afterwards i don't see why ./configure fails
[21:21:50 CET] <shay_shay> klaxa: i just installed klaxa, i've installed more than one thing that gnutls depends on since then
[21:22:34 CET] <shay_shay> i think i fixed it
[21:22:51 CET] <shay_shay> didnt have zlib and p11-kit
[21:24:20 CET] <shay_shay> i audited every single package this system has
[21:24:21 CET] <shay_shay> lol
[21:24:31 CET] <shay_shay> its supposed to be a minimal setup for a security camera
[21:36:26 CET] <shay_shay> klaxa: same error, even though pkg-config doesnt say anything anymore
[21:38:43 CET] <shay_shay> klaxa: but config.log is giving me errors now which I understand
[21:38:53 CET] <shay_shay> so i think I can work my way through it now
[21:48:46 CET] <new_001> hello! Imagine I seek to the position 8604 sec and get the nearest key-frame, sure it's position is not 8604 sec, but can I know some howwhat is the global number of this  frame from the beginning? Thanks
[22:04:03 CET] <kepstin-laptop> if you're seeking by time and the format supports variable framerate? no.
[22:04:42 CET] <kepstin-laptop> note that in most cases when you're seeking, ffmpeg will actually seek to a keyframe before you asked, and then decode and drop frames until the exact point you wanted.
[22:10:41 CET] <new_001> kepstin-laptop: Ok, variable framerate is a bad case, but is it possible at all get an exact time of the frame?
[22:11:05 CET] <kepstin-laptop> the exact time of a frame? yeah, that's always possible. The exact number of a frame is hard.
[22:11:23 CET] <kepstin-laptop> at least in msot formats :)
[22:12:18 CET] <kepstin-laptop> (it gets interesting when you have things like concatenated mpeg-ts, of course)
[22:15:30 CET] <new_001> kepstin-laptop: well, could you please point me how to get time of the specific frame?)
[22:16:01 CET] <kepstin-laptop> https://www.ffmpeg.org/doxygen/2.3/structAVFrame.html#a0452833e3ab6ddd7acbf82817a7818a4
[22:17:45 CET] <kepstin-laptop> hmm, looks like there are some "*_picture_number" fields in the avframe structure, but I wouldn't trust them to be usefully filled out after a seek
[22:18:01 CET] <new_001> kepstin-laptop: many many thanks)) will try to understand this until tomorrow)
[00:00:00 CET] --- Sat Mar 21 2015


More information about the Ffmpeg-devel-irc mailing list