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

burek burek021 at gmail.com
Thu Feb 20 02:05:02 CET 2014


[00:00] <active8> i looked in that page for the setpts filter and didn't see anything.
[00:00] <llogan> http://ffmpeg.org/ffmpeg-filters.html#setpts_002c-asetpts
[00:05] <active8> damn. I fell asleep right after looking. I guess I wasn't worth a damn at the time
[00:06] <llogan> i've only used atempo. i don't know if asetpts can do it and i haven't tried.
[00:08] <llogan> active8: if you want more control see http://slowmovideo.granjow.net/
[00:11] <active8> they don't thanks. that might make things easier for the kind of effects I might want for public consumption
[00:11] <active8> s/they don't//
[00:12] <active8> i was going to say they don't, or rather they made it hard to find the option to invoke the audio filter and not clear if there are different options to invoke different filters
[00:13] <active8> still scrolling to find it
[00:15] <llogan> -filter_complex "[0:v]setpts=2.0*PTS[v];[0:a]atempo=0.5[a]" -map "[v]" -map "[a]"
[00:15] <llogan> for example
[00:34] <`Ishq> Is there a list of beginner projects that would be useful to contribute to ffmpeg?
[00:43] <llogan> `Ishq: you can take a look at bug tracker and choose what interests you. https://trac.ffmpeg.org/
[00:44] <`Ishq> Thanks.
[00:44] <llogan> or if you're a student and we get accepted to GSoC https://trac.ffmpeg.org/wiki/FFmpegSummerOfCode2014
[00:45] <`Ishq> Well, I won't be a student anymore.
[00:45] <`Ishq> At least this summer.
[00:45] <llogan> there is also http://wiki.multimedia.cx/index.php?title=Small_FFmpeg_Tasks but i don't know how up to date it is
[00:47] <llogan> `Ishq: you count as a student if you're still enrolled and actively pursuing the degree. i don't think you have to be taking classes in the summer, but i could be wrong.
[00:48] <JEEB> GSoC has a single date
[00:48] <JEEB> Will you be a student on 21 April 2014?
[00:48] <JEEB> http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2014/help_page#8._I_graduate_in_the_middle_of_the
[00:48] <JEEB> That's really the only date that maters. :-)
[00:48] <`Ishq> Yeah, I will be a student then.
[00:48] <JEEB> (quote from the GSoC mailing list)
[00:48] <`Ishq> I graduate in May.
[00:49] <JEEB> anyways, I recommend poking around spots you are interested in
[00:49] <llogan> As long as you are accepted into or enrolled in a college or university program as of 21 April, 2014, you are eligible to participate in the program. Students will be asked by Google to provide proof of enrollment during registration.
[00:49] <llogan> but of course we may not get accepts, but you can still do any of the listed projects for fun
[00:49] <llogan> *accepted
[00:49] <`Ishq> Well, I don't realy need the money or anything. I just want to pick up a task.
[00:50] <JEEB> :)
[00:50] <`Ishq> I already have a job :)
[00:50] <JEEB> well, personally I'd recommend something you like
[00:50] <JEEB> or something that irks you
[00:50] <`Ishq> Well, the main thing that kinda irks me
[00:50] <`Ishq> Is the SBR extension warnings
[00:50] <JEEB> "X doesn't work, let's see if I can make it better" is how many people get into development
[00:50] <`Ishq> But
[00:51] <`Ishq> I'm not sure if I can deal with that, but would be interesting to research.
[00:51] <JEEB> sounds like AAC?
[00:51] <`Ishq> Maybe.
[00:51] <`Ishq> I could look into it. The unfinished SoC projects seems like a good place to start.
[00:52] <JEEB> well, if you decide to poke at AAC, I recommend seeing if you can contact the AAC guy, who happens to mostly hang around #libav-devel AFAIK (after the forking some people are on one "side", while others are on the "other" and then the third group are in both)
[00:53] <JEEB> lemme see if I can grab his IRC nickname...
[00:53] <`Ishq> Sounds like politics. fun.
[00:53] <llogan> do you mean Claudio/klauss? (im not sure of his nick).
[00:54] <JEEB> Alex Converse, IRC nick peloverde
[00:54] <`Ishq> Not connected to IRC.
[00:54] <JEEB> you can see him adding new features every now and then, like LD-AAC as of late
[00:54] <JEEB> oh he is, if you join #libav-devel you can see his ____ nick
[00:54] <llogan> also contact klaussfreire @ gmail. he's the mentor for the "implement AAC SBR (spectral band replication)" GSoC task.
[00:54] <`Ishq> Ahh
[00:55] <JEEB> oh, there was an AAC guy on the FFmpeg side as well? Don't see him in the aacdec.c history :s
[00:55] <llogan> https://trac.ffmpeg.org/wiki/FFmpegSummerOfCode2014#AACEncoderImprovements
[00:56] <JEEB> oh, encoder?
[00:56] <llogan> also the "epic trac thread"
[00:56] <JEEB> yeah, encoder is mostly being poked on the FFmpeg's issue tracker
[00:56] Action: llogan wasn't sure if discussion was en/decoder
[00:56] <JEEB> neither was I :D
[00:56] <JEEB> encoders generally don't say they don't support something, though
[00:57] <llogan> https://trac.ffmpeg.org/ticket/2686
[00:57] <JEEB> yeah, the encoder doesn't seem to warn
[00:57] <llogan> just throwing out ideas....
[00:57] <JEEB> and yeah, I know the epic encoder thread
[00:57] <JEEB> but yeah, I promote cross-project communication for people who seem to be In The Know of various parts of the code
[00:58] <`Ishq> All right, I'll do some more research on SBR and see if it is a good task for me.
[00:58] <JEEB> you should poke the -devel channels if you happen to end up needing specifications and such
[00:58] <JEEB> usually ISO/IEC number + .pdf queries end up with nice results tho
[00:59] <`Ishq> Ah, thanks.
[00:59] <JEEB> #ffmpeg-devel and #libav-devel are the dev channels for both projects
[00:59] <llogan> devel worship
[00:59] <`Ishq> Cool.
[01:03] <`Ishq> Link is dead to the SBR spec on Wikipedia, sadly.
[01:04] <JEEBsv> that's pretty usual :P it's a paid-for spec after all
[01:06] <`Ishq> So I have to be creative in how obtain it.
[01:07] <`Ishq> Luckily, I'm at a university so they generally pay for these types of things.
[01:07] <JEEBsv> oh I wish mine did :P
[01:08] <JEEBsv> you have no idea how "fun" going around chinese internets for obscure PDFs can be at times
[01:08] <`Ishq> Haha
[01:16] <`Ishq> http://jongyeob.com/moniwiki/pds/upload/13818-7.pdf
[01:16] <`Ishq> Found it.
[01:17] <JEEBsv> that's the MPEG-2 version, the third edition of the MPEG-4 spec should be relatively simple to find
[01:17] <`Ishq> nooo
[01:18] <JEEBsv> fourth ed of the MPEG-4 one I can't find too easily though
[01:18] <JEEBsv> http://www.nhzjj.com/asp/admin/editor/newsfile/2010318163752818.pdf
[01:19] <JEEBsv> the 3rd ed of the MPEG-4 one
[01:19] <`Ishq> Thanks.
[01:27] <`Ishq> This seems to have the basic SBR spec and how to detect.
[03:19] <Rain724> Hello everyone! Anyone have time for a quick question?
[03:20] <relaxed> Rain724: never ask to ask
[03:20] <Rain724> Lol, alright then.
[03:21] <Rain724> I'm trying to split some video files (.avi, FWIW) with multiple audio tracks. -acodec copy only copys the first track. Anyway around this?
[03:22] <relaxed> you want all the tracks?
[03:22] <Rain724> I can provide all of the arguments I'm using if it helps.
[03:22] <Rain724> Yes
[03:22] <relaxed> ffmpeg -i input -map 0 -c copy ...
[03:23] <Rain724> Hmm. Let me give that a shot!
[03:24] <relaxed> -map 0 includes all streams from the first input file
[03:25] <Rain724> Yea, just read that on the documentation page as I'm letting ffmpeg run. ;D
[03:25] <relaxed> -c copy copies all those streams. If you only want to copy all the audio use -c:a copy
[03:26] <Rain724> Yep! That worked great! Thanks, I really appreciate it!
[03:26] <relaxed> you're welcome
[03:44] <active8> llogan: that all worked out reasonably well. Thanks for the pointers. BTW. That old ffmpeg is the one that gets installed with this special script to install vlc media player. I forget the lib, but the centos repositories in stall ffmpeg and vlc with a mismatched lib version on I forget which lib, so the script kinda shoehors the right stuff together by temorarily setting an alternate repo. friggin kludge. So I built my own the way I wanted it.
[06:45] <jellosea> i get this error can someone help me? [h264 @ 0x804104600] cabac decode of qscale diff failed at 1 14
[06:45] <jellosea> followed by a shit ton of errors like these [h264 @ 0x804105f00] concealing 2358 DC, 2358 AC, 2358 MV errors in B frame
[06:45] <jellosea> [h264 @ 0x804104600] Reference 2 >= 2
[06:51] <jellosea> meow
[06:56] <anshul> guys I was adding av_cleanup_on_lib_unload() in ffmpeg, which file would we most suitable for this purpose
[06:57] <jellosea> hey relaxed
[07:36] <arjay> Hi. having trouble setting up ffmpeg for Mac and Xcode 5
[08:13] <lo_o|> hi
[08:14] <lo_o|> any1 hear?
[08:14] <lo_o|> need to discuss mp4 to webm
[08:27] <zap0> just do it
[08:28] <lo_o|> o hay
[08:28] <lo_o|> u there
[08:28] <lo_o|> im using super simple no arguments convert
[08:29] <lo_o|> do you know how to squeeze max quality from src file
[08:29] <zap0> quality is subjective.
[08:29] <relaxed> lo_o|: ffmpeg -h encoder=libvpx
[08:30] <relaxed> lo_o|: https://trac.ffmpeg.org/wiki/vpxEncodingGuide
[08:30] <lo_o|> wat hapens wen no arguments
[08:30] <lo_o|> doesnt ffmpeg default best?
[08:31] <zap0> best is subjective.
[08:31] <lo_o|> well teh original
[08:31] <JEEB> <lo_o|> doesnt ffmpeg default best? <- never has never will
[08:31] <lo_o|> how else is it
[08:31] <lo_o|> JEEB ya my video is super wack
[08:31] <JEEB> you clearly missed on the "everything on MPEG-1 feature level, 300kbps" defaults
[08:31] <relaxed> it used to default to worst :)
[08:32] <lo_o|> oh
[08:32] <lo_o|> arite
[08:32] <lo_o|> ya worst is baaaaad
[08:32] <JEEB> of course that isn't true with the newer wrappers
[08:32] <JEEB> that got their own defaults now
[08:32] <JEEB> but FFmpeg will never default to what is --preset placebo for libx264 :P
[08:33] <JEEB> also, good luck and have fun with libvpx. For VP8 it's both slower and worse than x264
[08:33] <lo_o|> rly
[08:33] <zap0> i'm still waiting for the --make-mpeg1-porn-clips-from-the-90s-watchable  flag.   when is that going to be implmeneted?
[08:33] <JEEB> yarly
[08:33] <lo_o|> webm is kinda new
[08:33] <lo_o|> y i like it
[08:33] <lo_o|> mp4 is beter?
[08:34] <zap0> beter is subjective.
[08:34] <JEEB> AVC/H.264 is better than VP8, yes
[08:34] <JEEB> no, as a FORMAT it is better
[08:34] <JEEB> there's no doubt about that :P
[08:34] <JEEB> also the implementations are much better (*cough* libx264 *cough* )
[08:34] <lo_o|> ya but one browser doesnt suport mp4
[08:35] <JEEB> VP8 is "new" (released around 2010 or so by Google into the public), but it's basically a stripped AVC/H.264
[08:35] <JEEB> anyways, don't expect anything from the video side of "WebM" with VP8
[08:35] <JEEB> Vorbis at least is good, esp. with aotuv
[08:35] <lo_o|> oh ic
[08:35] <rjp421> im trying to stream to ustream on win7 x64, using dshow input with webcammax as the source... works fine on linux with v4l or x11grab... but its being very picky on windows with dshow
[08:35] <lo_o|> well im encoding flv mp4 webm
[08:36] <lo_o|> i made a dedicated ffmpeg box too
[08:37] <rjp421> im using the latest build, ffmpeg-20140219-git-b9936e5-win64-static
[08:50] <Xorg> good morning everyone
[08:55] <zap0> expecting 219 replies?
[08:59] <Xorg> just one or two would ne nice yeah
[09:00] <Xorg> just to see if someones there who i can annoy
[09:00] <anshul> zap0 is there some kind of feature request u have placed in ffmpeg trac,if done so ,then please give the ticket number too
[09:00] <zap0> anshul, wha!?
[09:01] <anshul> zap0,--make-mpeg1-porn-clips-from-the-90s-watchable  flag is there any feature request registered in trac
[09:03] <Xorg> maybe someone there wo might help me with a file?
[09:04] <zap0> anshul, oh ;)
[09:05] <zap0> given how long some things take to get fixed, someone probably already has a ticket, and mine will be marked -duplicate-
[09:07] <rjp421> what would be good preset settings for a 24fps 360p x264 stream at 650kbit/s max? unless i could fit a higher res in that bitrate
[09:07] <rjp421> 480p possibly, but 720p might be pushing it
[09:09] <zap0> why use a preset, when you already know your limits you want to set
[09:09] <rjp421> i made a copy of the libx264-ipod320 preset, but the bitrate is set to 3000000 (3mbit/s)
[09:09] <JEEB> <zap0> why use a preset, when you already know your limits you want to set <- because presets set the compression vs speed defaults?
[09:10] <JEEB> rjp421, what kind of content you have there defines what kind of resolution you can take
[09:10] <JEEB> and the idea is to use the slowest preset that is still fast enough for your uses :P
[09:11] <JEEB> http://mewiki.project357.com/wiki/X264_Settings#preset
[09:11] <JEEB> listing of them
[09:11] <JEEB> (-preset in ffmpeg cli)
[09:11] <rjp421> cool, thanks ill read up
[09:11] <JEEB> is this for web or otherwise bandwidth limited scenarios btw?
[09:11] <JEEB> and what in general are aiming at?
[09:12] <rjp421> basically talking head video, nothing like fast motion video
[09:12] <JEEB> then everything but the most fastest presets should be able to compress that rather nicely
[09:13] <JEEB> and please tell more about the usage scenario so I can comment more on if you're doing things completely wrong or not :P
[09:18] <rjp421> awesome, thanks again :) im reading that link... im just streaming to ustream, which likes a -g of 4, and only allows 360p at 650kbit/s max
[09:19] <JEEB> ok, so you are bandwidth limited
[09:19] <rjp421> (for non-pro)
[09:19] <rjp421> yes
[09:19] <JEEB> first of all drop that ipod preset :P
[09:19] <JEEB> https://trac.ffmpeg.org/wiki/EncodingForStreamingSites
[09:20] <JEEB> also -g definitely can be higher than 4
[09:20] <JEEB> I recommend setting a CRF value that generally looks good for you (default is 23 and higher uses less rate and lower uses more rate), set maxrate and bufsize accordingly to your streaming site's limitations
[09:20] <rjp421> i believe its for the transcoding to HLS
[09:21] <JEEB> no, it is not
[09:21] <JEEB> it's from way before that
[09:22] <JEEB> you need 1) vf scale to resize to your preferred size 2) CRF value that generally looks good for you (as I just wrote) 3) maxrate and bufsize according to your bandwidth limitations 4) slowest -preset that is still fast enough for you
[09:22] <JEEB> and that page I linked has some examples, except of course that the stuff before -i and -i itself are lunix-specific
[09:22] <JEEB> otherwise it's generic and for RTMP(E) streaming providers
[09:23] <JEEB> if your buffer size is set in seconds instead of kbits or mbits, calculate it by maxrate * seconds of buffer
[09:24] <JEEB> for example maxrate 650k and two seconds of buffer would be 1300k
[09:24] <JEEB> CRF is a VBR rate control mode that is closest to "constant quality" we have right now :P
[09:24] <JEEB> so no other bit rates or anything needed
[09:24] <JEEB> just limit it with VBV (maxrate and bufsize)
[09:26] <rjp421> nice, thanks! that definitely helps, also just looking at some of the examples
[09:30] <anshul> zap0, to look in detail I just need that Ticket number, I am too lazy to search in track ;)
[10:13] <rjp421> JEEB, do i need the -crf 23 anywhere in particular in the cmd line? i dont see it in the examples with maxrate and bufsize... my current upload is 100KB/s, but im working on this for someone with a much higher upload. i set maxrate 554k and bufsize 1108k, since the audio would be 48k stereo aac.. but should that be -ar 22050 or 44100? i think only 22050 has worked for me on linux
[10:14] <JEEB> both should be OK, and if the input is something you want you could just use that, too. The rate limitations of FLV don't apply to AAC (the spec says "write 44.1kHz here, and we'll ignore it and go onto just parsing the AAC stream itself")
[10:14] <JEEB> -crf goes after -i
[10:14] <JEEB> as in, output settings
[10:14] <JEEB> everything before -i is input
[10:14] <JEEB> everything after -i is output
[10:14] <rjp421> ahh, ok
[10:14] <JEEB> (and decoding, encoding accordingly)
[10:17] <JEEB> also it probably isn't there because crf 23 is the default rate control mode for libx264 nowadays (same as with the x264 command line app). But yeah, you need to set some rate control mode, and you might have to tweak it to your liking :)
[10:18] <JEEB> maxrate/bufsize will limit the bandwidth accordingly to how you've set it
[10:21] <rjp421> the current input (-f dshow -i video="WebcamMax Capture" @ 30fps) is giving me a lot of real-time buffer full, frame dropped warnings... but it hasnt stopped it from working.. i saw a page that mentioned the rtbuffer, still looking for it
[10:22] <rjp421> with the fixed max bitrate, i should leave -maxrate 554k, and play with buffersize and crf?
[10:22] <rjp421> bufsize*
[10:22] <JEEB> ?
[10:25] <rjp421> that encoding for streaming page says to experiment with maxrate and bufsize
[10:26] <JEEB> in case the values don't work for whatever reason :P you should know your outgoing bandwidth and you should know the limitations of the streaming service you're using, and then you might or might not need to adjust things to cope with stuff like container overhead (usually very small)
[14:09] <Vuk> Hello
[14:11] <Vuk> Need help with streaming h264
[14:16] <Vuk> I have #0:0[0x144]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], max. 15000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
[14:17] <Vuk> And I want to stream it to a ffserver as mp4 with 720x576 res
[14:17] <Vuk> Can anybodey help ? or give some hint :)
[14:31] <Vuk> damn
[14:43] <renihs> hello, my intention is to run a screencapture _with_ pcm audio, so essentially everything that is displayed on screen and _output_ on audio, so far i had only sucess recording from input devices like a mic
[14:45] <renihs> due to lack of a more sophisticated approach, i simply tried all audio devices, but nothing got recorded
[14:46] <renihs> ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 30 -s 1920x1200 -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 bla.mkv
[14:47] <renihs> is my general approach currently :)
[14:49] <renihs> it seems like i can only capture from _input_ devices, but not from output devices?
[14:50] <renihs> or recording devices i mean
[15:19] <renihs> anyone? or is it not possible with alsa to capture audio OUTPUT?
[15:19] <renihs> or am i facing some bug that i get no ouput captured on any hw:x,x device?
[15:19] <renihs> is that supposed to work?
[15:44] <dericed_> hi all, does ffmpeg support field dominance flags in matroska. `ffmpeg -f lavfi -i mandelbrot -c:v ffv1 -vf "fieldorder=bff" -t 1 test.mkv` gives a progressive output.
[16:42] <Keestu> hi, when i dump the av_dump_format (), it shows  frame type is yuv420P, whereas when i try in the coding, after getting codec context,   when i check  enum, i get AV_PIX_FMT_UYVY422  .
[16:43] <Keestu> i am checking with if (pCodecCtx->pix_fmt  & AV_PIX_FMT_UYVY422 ) LOGD (" Haaa it is AV_PIX_FMT_UYVY422 format ");
[16:48] <troulouliou_dev> hi anybody here to discuss a little bit about dts audio format ?
[17:14] <tbindi> Hi. Can I use FFMPEG to create a timelapse video out of 300 odd images?
[17:14] <sacarasc> https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images
[17:17] <tbindi> does the sequence number begin from 1? because I get a "Deprecated" message when I try "start_number"
[17:18] <sacarasc> That deprecated message probably means you're not using FFmpeg's encoder, but LibAV's one.
[17:19] <JEEB> in that case the avconv binary should be used instead, different project :)
[17:20] <Na_Klar> how do I write the "-ac" parameter, in order to add a stream identifier, like: "-c:a:0" (what does not work because this "c" is for "codec" not for "channel")?
[17:21] <tbindi> I am using libx264 in the command. Should I install x264 encoder?
[17:21] <JEEB> you should install libavcodec-extra
[17:21] <JEEB> that enables stuff like libx264
[17:22] <JEEB> in the debian/ubuntu Libav packages
[17:22] <Na_Klar> libavcodec-extra-53 to be specific ;)
[17:22] <JEEB> well, the version depends on the thingamajig, and I think the versionless package is always set to the current versioned one, no?
[17:23] <JEEB> Na_Klar, -ac:a:0 or so? Or just -ac:0 (which of course counts all tracks)
[17:23] <Na_Klar> it will upgrade to the highest version anyways .. but you need at least 53 for x264
[17:24] <Na_Klar> JEEB, -ac:a doesn't make sence, cause it would mean: -audioChannels:Audio:Stream .. but i'll try
[17:24] <Na_Klar> (since there is no -audioChannels:Video:Stream ...)
[17:25] <JEEB> well, if you don't prefix the type first you'll get the global stream count :P
[17:25] <JEEB> but I have no idea if that works, that's just how it theoretically blobbed up in my mind :P
[17:27] <Na_Klar> isn't there a table anywhere with that different parameter syntax in it?
[17:31] <tbindi> unrecognized option 'start_number'
[17:31] <Na_Klar> ah, got it: it's just "-ac:0" .. nvm
[17:32] <tbindi> when I try :   `ffmpeg -r 1 -start_number 567 -i IMG_0%3d.JPG -c:v libx264 -r 24 -pix_fmt yuv420p out.mp4`
[17:33] <JEEB> yeah, because it's Libav's ffmpeg that was left to wither after elenril updated it (and renamed it to avconv)
[17:33] <JEEB> so with Libav, use avconv
[17:33] <JEEB> with FFmpeg use ffmpeg
[17:34] <Na_Klar> tbindi: try to add "-f image2" before
[17:35] <tbindi> Na_Klar:  same error again
[17:36] <tbindi> I am on 12.04 Ubuntu
[17:36] <JEEB> do what I just said :P
[17:36] <JEEB> or are you no comprende?
[17:36] <Na_Klar> yeah ubuntu 12.04 has some issues with ffmpeg and avconv ...
[17:37] <JEEB> it's got (by now) an old libav, that's all. thus it still has the ffmpeg binary which is even older (because it was left to wither from 0.8 until 9 was released)
[17:37] <JEEB> <JEEB> so with Libav, use avconv
[17:37] <JEEB> <JEEB> with FFmpeg use ffmpeg
[17:38] <active8> Good morning | afternoon | evening; trying to get a screen capture with sound. Maybe I accidentally used the old ffmpeg but I actually had sound at one time and after searching bash history and trying all of them, nada. I get a weird error and I thing (google thinks) it's got to do with the tagging or mapping. Something like that. You can explain the prob better. http://pastebin.com/uqQdHkSd
[17:38] <tbindi> so I should install Libav?
[17:38] <JEEB> you already have libav...
[17:38] <tbindi> okay
[17:38] <JEEB> that ffmpeg binary comes from Libav
[17:38] <Na_Klar> and there are (was) lots trouble with presets ffpreset and avpreset stuff ..
[17:38] <JEEB> so you also have avconv
[17:38] <tbindi> so I should use avconv?
[17:39] <JEEB> that totally isn't what I've been telling you the last X minutes </sarcasm>
[17:39] <active8> was that X11 minutes?
[17:41] <tbindi> so what should I be doing? can you please elaborate on " with Libav, use avconv. with FFmpeg use ffmpeg"
[17:41] <JEEB> it's not harder than that?
[17:41] <JEEB> the binary you use when using Libav is avconv, the binary you use when you use FFmpeg is ffmpeg
[17:43] <JEEB> tbindi, don't fucking pm me for no reason, please :|
[17:43] <JEEB> there's no reason why what you just said shouldn't be on #libav or here
[17:43] <tbindi> okay
[17:43] <JEEB> seriously, switch your command line from using ffmpeg to avconv in case of Libav-based packages
[17:43] <JEEB> that's all
[17:43] <JEEB> there's no catch 22 to it
[17:43] <JEEB> :V
[17:44] <ubitux> tbindi ^
[17:52] <tbindi> thanks fflogger
[17:52] <tbindi> thanks JEEB
[17:56] <spaam> JEEB: :D
[17:56] <Na_Klar> active8: did you read in the error message, that flv does not support 48khz .. maybe this is why the output header could not be written ..
[17:56] <JEEB> actually, it does for AAC
[17:57] <Na_Klar> its mp3
[17:57] <JEEB> ok, yes
[17:57] <JEEB> that one is limited
[17:57] <JEEB> AAC is just "write the 44.1kHz value into the container, we'll ignore it and just parse the stuff from the stream"
[17:57] <Na_Klar> hacky
[17:57] <JEEB> well, that's how it's specified so you can't really do much about that :V
[17:58] <JEEB> some kind of default value I guess @ 44.1kHz
[17:58] <JEEB> of course you still have people re-encoding 48kHz stuff to 44.1kHz when doing FLV streaming
[17:58] <JEEB> because they never changed their workflows
[17:58] <Na_Klar> flv sucks anyways ..
[17:59] <JEEB> well, for some use cases it's the only container usable :P
[17:59] <Na_Klar> yeah, for flv videos
[17:59] <JEEB> RTMP(E) streaming
[17:59] <Na_Klar> oO
[17:59] <Na_Klar> that's adobe shit too
[17:59] <JEEB> which doesn't have to be live streaming, it can be VOD too
[17:59] <JEEB> yes, yes it is
[18:00] <JEEB> but it's the only "real" streaming thingamajig we have on the internets in wide use atm
[18:00] <JEEB> HLS is the only thing coming close
[18:00] <JEEB> which is even more of a hack to be honest
[18:00] <Na_Klar> define "real streaming"
[18:01] <JEEB> actually a usable protocol to do live or VOD streaming
[18:01] <JEEB> which also has a nice support ratio
[18:02] <Na_Klar> i don't bash the rtmp protocol. But there are plenty of transport streams. most of them useable.
[18:02] <JEEB> uhh
[18:03] <JEEB> I noted HLS, and that is already a pretty lulzy system
[18:03] <JEEB> what else do we have, that is actually kind of widely supported?
[18:03] <active8> Na_Klar: I thought about that but google didn't suggest it. Which of the 100 tabs that I have open has the page that tells me how to set the rate? ;)
[18:03] <JEEB> -ar
[18:03] <troulouliou_dev> hi does ffmpeg use the track channel info for audio streams in mkvs to init avformat ?
[18:03] <active8> note to self: man ffmpeg
[18:04] <active8> 1st
[18:04] <ChocolateArmpits> Hello, Is it possible to successfully pipe a filter output from a 1st pass encode command line to a 2nd pass encode command line ?
[18:05] <JEEB> Na_Klar, to be honest, I've done "just push MPEG-TS through HTTP" live just fine, but now start counting with your fingers how many things on the web actually _support_ that without specific player software (as in, separate apps)
[18:05] <Na_Klar> you don't "pipe a filter" .. you pipe data through a filter
[18:05] <Na_Klar> ^ ChocolateArmpits
[18:05] <Na_Klar> JEEB, MTS through HTTP .. i like that one
[18:05] <Na_Klar> but indeed ..
[18:06] <JEEB> HLS is the closest to that, but it's a lulzy mess as I said :P
[18:06] <JEEB> the generated playlists, the multiple files...
[18:06] <Na_Klar> MTS though UDP based protocol .. even better ^^
[18:07] <ChocolateArmpits> Na_Klar: Well what I mean is, I want to split a stream through filter, map one end of it to a 1st pass encode, while second would mapped and piped to an input of another command line that would perform a 2nd pass encode
[18:07] <Na_Klar> JEEB, there are some good plans with html5 and transport streams ..
[18:08] <Na_Klar> ChocolateArmpits: you can easily run several instances of ffmpeg (even fork it) and let a imageserver spit out and catch the data.
[18:09] <ChocolateArmpits> Na_Klar: Are you talking about ffserver? I haven't used that yet
[18:10] <ChocolateArmpits> What I want to do is to skip filtering input for two encode proceses to save time
[18:10] <Na_Klar> ChocolateArmpits: you can use this, but it might be overkill for your task. are you familiar with your OS process structure?
[18:11] <ChocolateArmpits> Na_Klar: Figuring that I don't figure what you mean, I may well not be familiar
[18:12] <Na_Klar> ChocolateArmpits: Basically you can run a ffmpeg process wich filters and do first pass, than pipe it to another ffmpeg process wich takes the data and does 2nd pass and writes to disk. BUT: your wished time save might be dissapointing ..
[18:13] <Na_Klar> I doubt you would use a filter using 2passes anyways ...
[18:14] <Na_Klar> And even if, how could you then drop the 2nd pass?
[18:14] <Na_Klar> your plan is not well thought, I'd say ..
[18:15] <active8> Na_Klar, JEEB: I'm only using flv to get this working from supposedly working examples. I'd only use it for real if I have to. I tried mp4 without specifying a codec, formay, whatever I should do and it gave me a blank, grey picture. I'm not sure if I'm supposed to set a sample rate in ffmpeg, or if the error means "screw mike, his sound card is too good for flv even with ffmpeg." and I'm still scrolling through the man page to find something to set the samp
[18:15] <active8> le rate so I can come back here when it doesn't work.
[18:16] <Na_Klar> active8: you should start reading better .. JEEB already gave you "-ar"
[18:17] <Na_Klar> -ar 44100
[18:17] <Na_Klar> you can use flv, btw. no problem with that. we are just nerding around
[18:18] <active8> ok thanks. I'm also scrolling through xchat reading what you guys were saying and missed it
[18:19] <active8> heey. I agree that flv sux to a degree. It's small but there's been talk about it going the way of the dinosaur. If nothing else, adobe flash player is a POS that leaks memory and firefox is a bigger POS that can't contain it with it's container plugin. worse still:
[18:21] <active8> I have a dell 600m with a radeo mobility one day later we pout something better in here and certain sites that embed videos not only eat the memory, but even after shutting down firefox, it's FUBAR. I have to actually power off and pull the battery as if the GPU has a stuck flag bit or word
[18:22] <Na_Klar> the plug-in is not really related to the flv codec. the codec is kind of solid. not very effective, but solid.
[18:55] <smo_> hi
[18:56] <active8> i'm just saying that adobe and mozilla can't dance and that radeon mobility is eh. Never said anything about the codec. I got -ar 41000 and -ar:1 41000 to do the trick Na_Klar and JEEB. Thanks. I'll be back after lunch to pester you all when I try this grabbing the sound from a playing video. Actually, that looks like it will work so I'll find something else ;) Thanks
[18:57] <smo_> i use ffmpeg to make live transcoding thru html video for the client side  it works right on desktop/my app/some android phones  but won t play in damn iphone can anyone help me to understand why ? command line is
[18:57] <smo_> ffmpeg -i rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=ld -f matroska -movflags +faststart -sn -c:v h264 -preset fast -profile:v high -b:v 256k -c:a libvo_aacenc -s 480x320 -b:a 96k -threads 0 -
[18:58] <smo_> it fails with Error while decoding stream #0:3: Invalid data found when processing input
[18:58] <smo_> or many channel element x.x is not allocated
[18:58] <smo_> same coman,d line works always in another device Oo no invalid data
[18:59] <Na_Klar> please do not paste into channel. use e.g. pastebin and post the whole input/output.
[19:02] <renihs_> hmm ok, i am still trying to capture audio AND video, it seems however that i can only capture audio ...on low video resolutions, e.g the following does _not_work:
[19:03] <renihs_> ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 30 -s 1680x1050 -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 bla.mkv
[19:03] <renihs_> while if i capture with 1280x1024 audio gets captured
[19:03] <renihs_> this is starting to become confusing :(
[19:03] <renihs_> any reasons for that, or is that some limitation of x264 or ...something?
[19:20] <BtbN> How do i tell ffmpeg to only deinterlace a stream if it actualy is interlaced?
[19:30] <Na_Klar> there is no problem with deinterlacing a progressiv stream. just deinterlace every time, when you expect sometimes it could be needed.
[19:34] <smo_> sorry Na_Klar... it makes me crazy i m trying many differents command line can t get one working
[19:34] <Mista_D> How can I stop "-ac 2" from lowering the volume?
[19:37] <Na_Klar> smo_ please paste the whole output somewhere. e.g. pastebin
[19:37] <Na_Klar> Mista_D: you are converting from what? mono?
[19:38] <Mista_D> 5.1 to 2, volume drops ~20-30%.
[19:38] <Na_Klar> lol
[19:39] <smo_> i will Na_Klar , what s the best -f container to use for a libx264/aac encoding?
[19:40] <Na_Klar> it drops 20-30%?  ... downmixing is a difficult thing. if you would just combine all 6 channels you would peak the audio everywhere. be satisfied with 20% and normalize the stereo sound afterwards
[19:40] <BtbN> Na_Klar, doesn't deinterlacing a progressive stream waste cpu time and degrade quality?
[19:40] <Na_Klar> also, be sure that you are acutally downmixing and not just copying the FL and FR channels
[19:41] <Na_Klar> BtbN, I don't think so. A good deinterlace algo would come to the conclusion to have nothing do deinterlace when it gets progressive material.
[19:41] <Mista_D> Na_Klar: the values that fed into pan filter are also off, using pinknoise source, all pan values are ignored and sox reports constant dB irrelevant of pan values (possibly a bug, will post sample file and command in trac).
[19:41] <BtbN> nope, if you enable it via cli, it'll allways run
[19:41] <BtbN> at least that's what my cpu usage tells me
[19:42] <Mista_D> Na_Klar: "-ac 2" is actually downmixing, no?
[19:43] <Na_Klar> Mista_D, report it. But I don't know what you expect from a downmixing algo. How do you think it would downmix to 0db? I think a lesser value is expectable to gain headroom. expecially with cinema sound.
[19:44] <Na_Klar> Mista_D, I personally prefer a manual mixdown. Think of LFE and stuff. I don't want an algo to decide that for me.
[19:46] <Mista_D> Na_Klar: Is there a known volume reduction in ac and pan filters? Maybe point me to the source file? Thanks for the assist anyways.
[19:46] <Na_Klar> BtbN: What do you mean? ffmpeg runs. It costs cpu. How can you tell the difference if it deinterlaced or not on your cpu status monitor?
[19:47] <BtbN> because it needs way more to deinterlace?
[19:47] <Na_Klar> well .. but does that decrease the speed?
[19:48] <Na_Klar> Mista_D: Pan is made for channle-wise volume reduction. But I cannot point any source files, sorry. I don't develop ffmpeg.
[19:48] <BtbN> it's nearly 100% on all cores with it, and totaly useless on progressive streams
[19:48] <BtbN> also it does degrade the quality
[19:50] <Na_Klar> BtbN: that sounds strange. But if so, I cannot help you, since I don't know of any way how ffmpeg could differ the input or has somelike a IF-condition parameter. You probably have to solve this with a script-wrapper. Like a ruby script which decides which command line will be executed.
[19:50] <BtbN> i have no way to know if a channel is interlaced
[19:50] <Na_Klar> a channel?
[19:51] <smo_> Na_Klar, http://pastebin.com/PrAavN3A
[19:51] <BtbN> yes.
[19:51] <Na_Klar> what channel? you mean an input?
[19:51] <BtbN> a tv channel
[19:52] <Na_Klar> that is probably not hard to differ.
[19:52] <Na_Klar> can you script a language like ruby?
[19:52] <BtbN> not without analyzing the video stream
[19:53] <BtbN> which would take way too long
[19:53] <Na_Klar> ?
[19:54] <Na_Klar> that does not make any sense. You can analyse if the stream is interlaced or not and then deinterlace or not. I just think ffmpeg cannot do that on its own.
[19:55] <BtbN> Analyzing it involved opening it a second time, which doesn't work.
[19:56] <BtbN> also, it takes quite a long time to tune a channel, which would cause a timeout
[19:56] <Na_Klar> smo_, is it normal that the http server sends several audio data within the stream?
[19:56] <BtbN> it has to be possible to tell ffmpeg to deinterlace only interlaced material...
[19:56] <smo_> yes it s tv from my isp
[19:56] <smo_> web tv
[19:56] <Na_Klar> what are that different audio-streams? different languages?
[19:57] <smo_> yep
[19:57] <smo_> sometimes no always the same thing for all channels
[19:57] <smo_> not*
[19:58] <smo_> i disable the subtitles with -sn and don t care of other languages
[19:58] <BtbN> Na_Klar, also, it's not simple to tell if a stream is interlaced at all. Even in some script.
[19:58] <Na_Klar> smo_, did you also deactivated the sound for debuggin purpose?
[19:59] <smo_> yep i tried -na
[19:59] <smo_> still fail
[19:59] <Na_Klar> BtbN: if it is not easy, how you think ffmpeg can easily? And furthermore, I don't think ffmpeg has any IF-condition you could setup in your command-line..
[19:59] <Na_Klar> smo_, you mean -an
[19:59] <BtbN> because ffmpeg has to decode the material anyway, and so has to know anyway?!
[20:00] <smo_> yep sorry
[20:00] <BtbN> you need to actualy decode a frame to know
[20:01] <BtbN> not even ffprobe is able to tell me that without -show_frames, which is a problem because it never stops, because it waits for the "end of file" of the livestream.
[20:01] <Na_Klar> BtbN: maybe the headers contain information. Framerate, standard or the like.
[20:01] <smo_> Na_Klar, with no audio http://pastebin.com/qyTzMt4d
[20:02] <BtbN> no, the headers don't contain any information about this. It's only in the h264 bitstream.
[20:02] <BtbN> or whatever codec it is
[20:02] <BtbN> And ffmpeg DOES know it internaly after decoding, it would be trivial do check for that in the deinterlacer...
[20:03] <Na_Klar> BtbN: Have you look if within 'filter_complex' are maybe more usable deinterlacing methods?
[20:04] <Na_Klar> smo_ I don't see with which error ffmpeg exits. It seems like you aborted the operation.
[20:04] <BtbN> there is nothing like a "usable deinterlacer" for progressive content...
[20:05] <smo_> Na_Klar, if i retry i have grep stderr: [h264 @ 0xb336d20] concealing 1002 DC, 1002 AC, 1002 MV errors in P frame
[20:05] <smo_> error while decoding MB 37 14, bytestream (5374)
[20:06] <Cloudstrike> Hey i have a question i have my own stream server with nginx, all files get converted with ffmpeg, if i try to watch the stream with my iphone / ipad and try to skip then the video get freezed but the sound continues, after i updated ffmpeg new files werent effected but on many old files the problem still exists. I can provide more Information if needed :)
[20:07] <Fusl> Cloudstrike: skip -> seek
[20:08] <Na_Klar> BtbN: filter_complex is the last hint I could give you. I've no other idea how you could achieve that.
[20:08] <BtbN> There is no documentation on how to find out if the stream is interlaced.
[20:08] <Na_Klar> then maybe ffmpeg cannot
[20:10] <Na_Klar> Cloudstrike: you should provide a question. that would be needed.
[20:10] <BtbN> ffmpeg can, the information is in every single frame it passes around...
[20:11] <Na_Klar> just that there is an information does not neccessarily mean a program will use it for something you think would be nice.
[20:11] <Cloudstrike> the question is jow can i fix it? xD i want to re-encode all files who have this problem
[20:11] <Na_Klar> then just re-encode them, if you want to do that.
[20:13] <Fusl> Na_Klar: the problem is, we already re-encoed them but the problem still persists on the re-encoded files
[20:13] <Na_Klar> so re-encoding was no solution. why do you claim it would be a solution then?
[20:13] <BtbN> Na_Klar, it is absolutely stupid to deinterlace progressiv material. It wastes a hell lot of CPU cycles, and looks bad.
[20:13] <Na_Klar> BtbN: then don't. Who do you want to blame for that?
[20:14] <BtbN> Well, not deinterlacing interlaced material is also bad.
[20:14] <BtbN> and i have no way to know that in advance.
[20:15] <Na_Klar> you have plenty of ways, but you don't want to get into it. listen: if IF ffmpeg could differ between interlaced and progressive, ffmpeg does (most probably) NOT contain any way to make if-conditions on the fly.
[20:15] <Fusl> Na_Klar: we're looking for options which fix this bug... i think there's something wrong with the zerolatency tuner but i'm not sure... how can i find out if the files have been converted with zerolatency?
[20:16] <Na_Klar> s/if/even/
[20:16] <BtbN> Na_Klar, well, what way to i have?! I can't even create a huge list of channels and map them, because some of them use diffrent formats from time to time.
[20:17] <BtbN> All i could do is create a second script and let the user decide, which is unaceptable.
[20:17] <Na_Klar> BtbN: I just can give you the concept. Wrap the transcoding in a script which pre-decides if the input should be deinterlaced or not. I guarantee this is technically possible.
[20:18] <BtbN> And HOW do i pre-decide if it should de-interlace?!
[20:18] <BtbN> not even ffprobe helps me there
[20:18] <Na_Klar> BtbN: Can you even script a language? (that I know if further information will help you at all)
[20:18] <BtbN> ...
[20:19] <BtbN> I have even developed some stuff for ffmpeg, which is why i know that it has that information easily available...
[20:19] <BtbN> It just HAS to be possible to only deinterlace interlaced material. Everything else is absolutely stupid.
[20:20] <BtbN> And i won't create an entire new application just to determine if a stream is interlaced.
[20:20] <BtbN> Specialy because this won't help if it changes at runtime.
[20:20] <BtbN> which it does sometimes
[20:20] <flarunt> what if only some parts of the source are interlaced?
[20:20] <brontosaurusrex> BtbN, so the channels have some sort of metadata for interlaced flag?
[20:20] <BtbN> brontosaurusrex, no, the data for that is in the h264 bitstream.
[20:21] <BtbN> which means it needs to decode at least one frame to know.
[20:21] <brontosaurusrex> so why not parse the first few frames then?
[20:21] <BtbN> yeah, because just decoding and parsind h264 or mpeg2 or vc1 is that simple
[20:22] <brontosaurusrex> right ...
[20:22] <flarunt> wouldn't a "smart" deinterlacer leave progressive material alone and only alter interlaced sections? obviously with some cpu overhead...
[20:22] <BtbN> flarunt, yes, but ffmpeg doesn't care, if you tell it to deinterlace, it just does, no matter if it makes any sense
[20:23] <brontosaurusrex> no, smart deinterlacer should deinterlace dinamicaly
[20:23] <brontosaurusrex> but yes, it would  be "active" all the time
[20:23] <BtbN> checking if the interlaced flag is set each frame should cause no noticable cpu load
[20:24] <BtbN> but it nearly doubles the cpu usage
[20:24] <Na_Klar> BtbN: then go ahead and rewrite ffmpeg that it supports deinterlace/passthru on the fly
[20:24] <flarunt> i believe yadif has options to operate like that
[20:24] <BtbN> yeah, yadif does
[20:25] <BtbN> but yadif is a little bit too much for my cpu
[20:25] <BtbN> specialy with 1080i
[20:25] <flarunt> i dont trust that interlaced flags are correct
[20:26] <BtbN> they are
[20:27] <flarunt> maybe you have better tv stations / bluray studios than i do :)
[20:27] <Na_Klar> lol, somebody expects ffmpeg would change deinterlacing on the fly, while ffmpeg even does not support frame-property change on the fly ^^
[20:27] <BtbN> even a changes resolution works fine
[20:28] <BtbN> *d
[20:28] <Na_Klar> wut?
[20:28] <Na_Klar> even a change of the colorspace does not work on the fly? wtf are talking about?
[20:28] <BtbN> i have a station that changes to a 4:3 resolution each time it goes into comercials. Works as expected
[20:29] <Na_Klar> Maybe with anamorph data .. but impossible with actual resolution
[20:29] <BtbN> it does change the actual resolution
[20:29] <Na_Klar> i don't believe you
[20:30] <BtbN> ffmpeg stretches the video to the pre-configured output res, but it works
[20:30] <Na_Klar> sounds like anamorph to me .. ffmpeg does definitely not support chaning frame properties on the fly.
[20:30] <Na_Klar> *changing
[20:31] <BtbN> No, the resolution actualy changes its width
[20:31] <Na_Klar> whatever you tell me. I got so much trouble with that issue, that I hardly will believe you.
[20:31] <BtbN> Does w3fdif use more or less cpu than yadif?
[20:33] <llogan> Mista_D: are you using pan? note there is a difference between = and < in pan
[20:35] <llogan> Fusl, Cloudstrike: you'll need to provide samples of the videos that do work, and samples of the videos that do not work, and the complete ffmpeg command and ffmpeg console output for each.
[20:36] <llogan> also list the exact devices that it does not work
[20:36] <Fusl> llogan: we're currently trying to find a video but as it seems we can't find one atm... maybe it was a bug from iOS and they fixed it already? who knows? i dunno, it's very weird :/
[20:37] <llogan> show your command and console output anyway for a typical video
[20:37] <Na_Klar> BtbN: You are talking rubbish anyways, look here: http://www.100fps.com/video_resolution_vs_fluidity.htm .. the quality loss of deinterlacing progressive material is slight
[20:38] <BtbN> deinterlacing one progressive frame into two other progressive frames is a horrible mess
[20:46] <Na_Klar> gosh, there is even interlaced parts in progressive frames .. tv is a mess. deinterlace it all and that's it.
[20:48] <flarunt> but then you lose fluidity of motion
[20:50] <Na_Klar> meh bollocks, one could call that 'micro-optimization'. if you render your own material then you are right, you have to keep maximum quality. but this is tv. f*ck it
[20:51] <BtbN> Na_Klar, deinterlacing it all is not an option, it realy does look horrible, Specialy because it doubles the framerate, which results in 100fps material for the normal 50 fps progressive channels.
[20:51] <flarunt> any sport that airs interlaced at 50 fields and is deinterlaced to an output of 25fps looks horrible
[20:51] <BtbN> which halves the available bandwidth
[20:51] Action: Na_Klar *sighs*
[20:52] <BtbN> making 100 fps out of 50 fps is not an option at all, seriously.
[20:53] <BtbN> the bandwidth is already limited, but this halves it
[20:53] <Na_Klar> you can enforce the output framerate
[20:53] <BtbN> this will deinterlace the
[20:53] <BtbN> the 50 fps to 100 fps, and then scale that down again
[20:53] <BtbN> also a fixed framerate does not work for non 50fps channels
[20:54] <flarunt> your source is 50fps progressive?
[20:54] <flarunt> or 50 fields, interlaced?
[20:54] <BtbN> yes
[20:54] <Na_Klar> deinterlace all to the smallest common framerate. .. really, you are not seeing the wood for the trees
[20:54] <BtbN> 720p50
[20:55] <BtbN> Na_Klar, it does look absolutely HORRIBLE
[20:55] <BtbN> it's not an option
[20:55] <Na_Klar> then you are doing something wrong. it shouldn't look >horrible< .. maybe less good .. but not horrible
[20:55] <BtbN> flarunt, it results in 720p100 out of 720p50. Even with yadif and if i tell it to only deinterlace interlaced content
[20:57] <flarunt> tell it to output at 50
[20:58] <BtbN> flarunt, that results in problems for 30 or 60 fps channels
[20:58] <flarunt> use a different script / cli for that
[20:58] <BtbN> i have no way to know in advance if a channel is deinterlaced or not.
[20:59] <flarunt> you dont know if a channel will be 30, 50 or 60 fpr prior to encode?
[20:59] <BtbN> ffmpeg propably does, but i don't know it when issuing the ffmpeg command
[20:59] <flarunt> how many channels alter between 30 and 50 fps
[20:59] <Na_Klar> ever heard of the least common denominator? that's your way.
[20:59] <BtbN> i don't know.
[21:00] <BtbN> that would be 10 fps...
[21:00] <flarunt> you have a channel which airs at 10fps?
[21:00] <Na_Klar> no .. that's the least. not the least common
[21:00] <BtbN> so, what is thate that's bigger for 30, 50 and 60 fps?
[21:01] <brontosaurusrex> so how many channels are actually progressive?
[21:01] <flarunt> typically a channel in europe will be 25/50, and usa will be 30/60.. i dont know of any that switch between the two
[21:01] <BtbN> brontosaurusrex, quite a lot
[21:01] <brontosaurusrex> 1080p25 or what?
[21:01] <BtbN> 720p50
[21:01] <brontosaurusrex> right
[21:02] <BtbN> FullHD is either 1080i50 or 1080p24, which is even worse
[21:02] <flarunt> are you sure it is 50 frames and not fields? perhaps the channel is broadcasting 50 fields flagged as interlaced, but actually the fields are from the same point in time and so 25fps?
[21:02] <brontosaurusrex> worse than what?
[21:03] <BtbN> flarunt, no. All the German ÖR hd channels are in 720p50
[21:03] <BtbN> brontosaurusrex, 50 or 30 fps
[21:03] <BtbN> it's not even divieable by 5
[21:04] <flarunt> tell yadif to keep original framerate
[21:05] <BtbN> that would make 1080p25 from 1080i50
[21:05] <Mista_D> llogan: thank you, "=" worked well. Its the "more proper to my ear" downmix now (:
[21:06] <brontosaurusrex> BtbN, so whats the problem with short pre-analisis? at least you could catch framerate
[21:06] <flarunt> no.. it would keep the frame rate the same.. so if your source is 50p your output will be 50. if your source is 50i, it will still be 50.
[21:06] <BtbN> brontosaurusrex, tuning takes ~5-10 seconds
[21:06] <brontosaurusrex> BtbN, you could cache it
[21:06] <llogan> Mista_D: just watch out for clipping.
[21:06] <BtbN> flarunt, unfortunately not. It would create one frame per frame
[21:07] <BtbN> which means 25 frames for 50 fields
[21:07] <BtbN> brontosaurusrex, how should i cache it? It's nothing that never changes
[21:07] <flarunt> i guess it depends what you tell it to do...
[21:08] <BtbN> it only has two modes of operation
[21:08] <flarunt> you could make 50 frames from 50 fields if you wished too
[21:08] <BtbN> mode_frame and mode_field
[21:08] <BtbN> yes, but the i50->p50 mode results in p50->p100
[21:08] <BtbN> even tough i told it not to deinterlace progressive content
[21:09] <BtbN> or is -vf yadif=1:-1:1 wrong?
[21:09] <flarunt> like i said.. i dont think interlaced flags are accurate, or yadif does not read them accurately..
[21:10] <BtbN> the interlaced flags are not present
[21:10] <BtbN> it just does it anyway
[21:12] <flarunt> a long time ago i used the lavf directshow interface for yadif, i remember the "aggressive deinterlacing" option and "treat as progressive".. maybe that would be of use? http://devil-strike.com/kmp/KMplayer.jpg
[21:12] <flarunt> ignore the arrows :)
[21:13] <BtbN> if i'd know in advance what kind of material i have it would be simple to set the correct options
[21:13] <brontosaurusrex> BtbN, so what exactly is ffmeg doing there, transcoding or what?
[21:13] <BtbN> yes
[21:15] <BtbN> it looks like a bug in the yadif deinterlacer.
[21:16] <BtbN> It does correctly check and only deinterlace interlaced frames. But it still doubles the framerate value, without checking if the stream is interlaced or not
[21:18] <brontosaurusrex> no, the questions is how can ffmpeg adapt the filter chain based on xy input changes dinamicaly
[21:18] <brontosaurusrex> if it can at all
[21:19] <brontosaurusrex> what do you get with something like ffmpeg -i input_video -f ffmetadata metadata.txt ?
[21:21] <BtbN> "Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)"
[21:21] <BtbN> the file only contains "title=ZDF HD" after that
[21:21] <BtbN> but it didn't analyse a single frame, even with a -frames option
[21:22] <brontosaurusrex> so thats probably container meta
[21:25] <BtbN> ffprobe correctly tells me that interlaced_frame is 0
[21:25] <BtbN> but aparently you can't tell ffprobe to only analyze one frame
[21:25] <BtbN> so it goes on forever
[21:28] <BtbN> ffmpeg -i http://localhost:9981/stream/channelnumber/2 -frames 1 -c:v copy -map 0:v:0 -f matroska - | ffprobe - -show_frames
[21:28] <BtbN> seems to work...
[21:39] <brontosaurusrex> -analyzeduration maybe
[21:39] <brontosaurusrex> in miliseconds
[21:39] <brontosaurusrex> ^ for ffprobe
[21:41] <brontosaurusrex> ffprobe -analyzeduration 1 http://url < seems to work here
[21:44] <brontosaurusrex> later~ž
[21:47] <renihs_> hmm how can i display what encoding options a vcodec has?
[21:51] <Na_Klar> renihs_, you can always set all options. the question is, if they make sense. Read the codec documentary for further information.
[21:51] <renihs_> Na_Klar, i am unaware about what options exist, can i display those with ffmpeg somehow?
[21:52] <renihs_> trying to avoid looking up dozens diffrent documentation
[21:52] <renihs_> which most i seem unable to find
[21:52] <Na_Klar> trying to avoid to rtfm, aye?
[21:52] <renihs_> um no?
[21:52] <renihs_> are there man pages on the codecs?
[21:53] <Na_Klar> no, mostly not
[21:53] <renihs_> i am trying to _find_/display optins/docs
[21:53] <renihs_> google is not really helpfull
[21:53] <renihs_> bits and pieces of nonsense everywhere :(
[21:53] <Na_Klar> what codec are we talking about?
[21:54] <renihs_> well,i wanted to test around abit, but i guess thats too time costly, will try betwen vpx? vp9? and h264 now i guess
[21:54] <JEEB> libvpx's vp9 encoding is _slow_
[21:55] <JEEB> it's not multithreaded
[21:55] <JEEB> libx264's H.264 encoding on the other hand is quite optimized
[21:55] <Na_Klar> renihs_, if you don't find a h264 parameter list in the interwebs, you are not allowed to be here ..
[21:55] <JEEB> and as much as I might hate MCW's x265, that is just ~10 times slower than --preset placebo
[21:55] <JEEB> (of x264)
[21:55] <renihs_> well, so far vp9 has screenrecorded nicely hmm h264 i am trying to get to reasonable sizes
[21:55] <JEEB> I'm pretty sure you're doing vp8
[21:56] <renihs_> ah
[21:56] <JEEB> if you got realtime speeds
[21:56] <renihs_> ya
[21:56] <renihs_> did this afternoon, cant recall, too much vp/x/9/8 something
[21:56] <JEEB> x264 is both going to compress better and most probably be able to go faster at that
[21:56] <JEEB> you would have remembered libvpx's vp9 encoding :P
[21:56] <renihs_> well, atm it only produces gigantic files
[21:56] <JEEB> as in, you would've not gotten anything done
[21:57] <renihs_> and i dont even know what audio codec i could use, trying to get "easy viewability"
[21:57] <renihs_> thats why webm is still abit favored
[21:57] <JEEB> well, capture is supposed to be big because you're trying to create a file with the least possible loss
[21:57] <JEEB> and then you re-encode that taking your time for consumption
[21:57] <renihs_> well, i would prefer realtime encoding
[21:57] <JEEB> only exception being live streaming
[21:58] <renihs_> the vp8? stuff i did all realtime on a notebook with small endfiles
[21:58] <renihs_> but so far, 20min 1280x720 produces like 4gb
[21:59] <renihs_> instead like 200m
[21:59] <Na_Klar> maybe you should get familiar with presets and profiles
[21:59] <renihs_> presets i am
[21:59] <renihs_> bitrates i try to figure out now
[22:00] <renihs_> and for someone not into audio/video. this is all very confusing, or at least for me
[22:00] <renihs_> brb
[22:04] <ubitux> < JEEB> you would have remembered libvpx's vp9 encoding :P // :D
[22:19] <renihs_> i dont even know yet, those things will have differernt length and content and hmm
[22:19] <renihs_> something between 1m and 1.5m i guess
[22:19] <BtbN> that seems quite low
[22:20] <renihs_> its screencast stuff so hmm doesnt need to be too crazy
[22:20] <renihs_> 1280x720
[22:21] <renihs_> uff, too much load, my poor lappy will never survive that :p
[22:21] <BtbN> does it happen to have a nvidia kepler gpu?
[22:33] <renihs_> hmm regarding audio, what codec "should" one use with h264? i am confused, i currently use libvorbis/ogg but i doubt thats very compatible
[22:33] <BtbN> i'd use aac
[22:34] <renihs_> ah it brabled about experimental, hmm lemme recheck
[22:34] <BtbN> the normal aac encoder is expermiental, yes
[22:34] <BtbN> libfaac shouldn't be
[22:34] <renihs_> ah Alternatively use the non experimental encoder 'libvo_aacenc'
[22:34] <JEEB> if you're going to be using an encoder you have to compile yourself, use fdk-aac
[22:34] <JEEB> renihs, no
[22:35] <JEEB> that is NOT better than the internal one
[22:35] <JEEB> :|
[22:35] <renihs_> oh hmm
[22:35] <renihs_> ffmpeg says that :)
[22:35] <JEEB> well, it's not tagged 'experimental', that's the only difference :/
[22:35] <BtbN> is fdk better than libfaac?
[22:35] <JEEB> yes
[22:35] <JEEB> so either use the internal, or build fdk-aac
[22:35] <JEEB> (you'll have to rebuild ffmpeg, too)
[22:35] <BtbN> i'm currently using libfaac, maybe i should switch
[22:36] <JEEB> yes, you should :)
[22:36] <BtbN> is it realy that much better? oO
[22:36] <JEEB> yes :)
[22:36] <renihs_> awesome, why dont i have libfaac but i have ... libvo_aacenc "Android VisualOn AAC"
[22:36] <renihs_> what the heck :)
[22:36] <BtbN> you built your ffmpeg without it
[22:36] <JEEB> yes, you can't distribute builds of faac or fdk-aac
[22:37] <JEEB> because faac used non-GPL-compatible stuff (reference code) in it
[22:37] <JEEB> and fdk-aac's license is a bit derpy, but at least it was properly open sourced
[22:37] <renihs_> recompiling
[22:37] <JEEB> https://github.com/mstorsjo/fdk-aac
[22:37] <JEEB> fdk :)
[22:37] <JEEB> after google noticed that vo-aacenc sucks, they bought and licensed and open sourced fdk-aac
[22:38] <JEEB> fraunhofer's encoder :)
[22:38] <BtbN> i never noticed that faac is bad
[22:39] <JEEB> well, it isn't as bad as the libavcodec one or vo-aacenc, but it's most definitely not on the level of fdk-aac
[22:39] <JEEB> also fdk-aac supports HE-AAC v1 and v2
[22:39] <llogan> renihs_: "ffmpeg -h encoder=libx264" for example
[22:40] <renihs_> llogan, um nice..thanks
[22:41] <renihs_> feeling dumber already, these help features are not that easy to spot...
[22:41] <renihs_> ok, with faac and fdk
[22:41] <JEEB> just fdk is enough
[22:41] <JEEB> there's nothing that faac does better
[22:41] <JEEB> :)
[22:42] <renihs_> i believe you but for "having it purposes" i fetch it hmm
[22:43] <renihs_> should have added openal as well
[22:44] <renihs_> Fraunhofer FDK AAC (codec aac)
[22:44] <renihs_> better :)
[22:45] <JEEB> make sure the afterburner option is enabled when you use it, btw :) not sure if it's enabled by default nowadays
[22:45] <JEEB> -afterburner 1
[22:45] <JEEB> it makes the encoder a bit slower, but on normal PCs it doesn't really matter
[22:45] <JEEB> quality goes up nicely
[22:46] <renihs_> sounds great, applying without question :)
[22:46] <llogan> i think it is default, but i can't remember
[22:46] <JEEB> it's probably not enabled by default in fdk-aac because it was made for ARM originally
[22:46] <JEEB> yeah, it could be on by default nowadays
[22:47] <renihs_> Afterburner (improved quality) (from 0 to 1) hmm
[22:47] <renihs_> well sounds nice :)
[22:48] <llogan> Afterburner (improved quality) (from 0 to 1) (default 1)
[22:48] <JEEB> :)
[22:48] <llogan> according to my build and a quick test with md5
[22:49] <llogan> md5 muxer
[22:52] <renihs_> hey, mine doesnt say which is default
[22:53] <llogan> is your ffmpeg or fdk-aac old?
[22:55] <renihs_> 0.1.3 for fdk-aac, probably
[22:56] <renihs_> na, seems to be latest hmm
[23:24] <BtbN> Why does ffmpeg use 26GB virtual memory? oO
[23:24] <BtbN> while only using 220M real mem
[00:00] --- Thu Feb 20 2014


More information about the Ffmpeg-devel-irc mailing list