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

burek burek021 at gmail.com
Thu Jan 19 02:05:01 CET 2012


[00:07] <YellowOnion> is there anyway to get the hq denoiser to not look like 'airbrushed crayola(tm)'
[02:38] <piece3> Hi all
[02:39] <piece3> Does anybody have experience creating an mkv with 2 or 3 channels(views/angles) with ffmpeg?
[02:43] <newl> 3D?
[02:45] <piece3> Yeah, well kind of, we're wanting to put 3 channels together, this worked with mkvtoolnix in post processing, when playing back all 3 channels play in sync, but haven't been able to replicate this with ffmpeg
[02:47] Action: newl has his 3D glasses on waiting to watch
[02:50] <freeminds> can I force ffmpeg to use one particular time pattern? Sometimes its like: time=3.29 other times it is like this: 00:00:03.29
[02:54] <piece3> This is what I'm currently trying:
[02:54] <piece3> "ffmpeg -i rtsp://192.168.1.60:554/udpstream_ch1_stream1  -i rtsp://192.168.1.61:554/udpstream_ch1_stream1 -an -vcodec copy -metadata stereo_mode=left_right -t 10 test_020.mkv"
[03:07] <piece3> Does anybody know a good place to find tutorials on ffmpeg and matroska?
[03:09] <newl> you got a shell, an editor and can do loops ? who needs a tutorial
[03:09] <newl> start with man ffmpeg
[03:10] <newl> post here when it is buzzing with challangeable knowledge
[03:10] <piece3> Went through it, the matroska section specs that stero_mode should yield 2 channels, however the output doesn't
[03:11] <piece3> Ok, cheers
[03:11] <newl> -ac 2 ??
[03:11] <newl> i thought i always get stereo ..
[03:12] <piece3> Stereo video
[03:12] <piece3> or multi channel video
[03:12] <newl> oh yea sorry
[03:15] <piece3> np, what time is it most active in here
[03:16] <newl> use to be when the bars in berlin let out but ....
[03:17] <piece3> Great, I'm on the outher side of the world, so guess it will be midinight for me
[06:54] <theperfectpunk> Hey
[06:54] <theperfectpunk> Guys
[06:55] <theperfectpunk> Anybody?
[06:56] <theperfectpunk> Blister
[07:02] <arbin> how do I set the profile to baseline using x264opts?
[07:52] <dies_irae> hei
[07:52] <dies_irae> ei
[07:53] <dies_irae> ppl awokened at this time of the date?
[07:54] <sacarasc> arbin: profile=baseline I think.
[07:54] <dies_irae> ok
[07:54] <arbin> that didn't work
[07:55] <dies_irae> how to  fix 240p youtube vids?? I mean up-scale them to better rez.
[07:55] <arbin> i ended up doing -profile baseline and it worked somehow
[07:55] <dies_irae> 240p quality is absolutely attrocious
[07:55] <arbin> dies_irae, yes, do -s 9000x9000
[07:55] <arbin> but don't expect better quality
[07:55] <sacarasc> dies_irae: You won't gain quality by upscaling, in fact, you'll probably lose some.
[07:56] <dies_irae> no algorithm exist to fix them? like the up-scaling algos on emulators for 8-bit and 16-bit.
[08:23] Last message repeated 1 time(s).
[08:23] <dies_irae> was this message delivered?? ^^^
[08:34] <dies_irae> best command for tegra mp4 for maximum quality and minimum size at the same time??
[08:35] <dies_irae> and for ipad2?
[09:02] <piece3> Can anybody assist on muxing Subtitles?
[10:33] <rfx> Hello
[10:49] <rfx> Pardon me, what is the proper way to adjust the quality when using x264 for an mp4? I though using "qscale" but it gives me same result for values 1 or 31 ... am I completely wrong? Using current ffmpeg git head.
[10:50] <JEEB> crf is closest to 'constant quality'
[10:50] <JEEB> (for libx264)
[10:51] <JEEB> start from around 24 or so, and proceed downwards if it looks bad, and upwards if it looks good
[10:51] <JEEB> the idea is to pick the highest number that still looks good for you
[10:51] <rfx> JEEB: ok, thank you. So qscale is actually not applicable when using x264 .. now I looked about crf and I see it in the help output, mentionig x264 and vp8 .. interesting.
[10:52] <JEEB> ffmpeg -i input -vcodec libx264 -preset derp -tune herp -crf wee -acodec whatever output.mp4
[10:53] <JEEB> replace derp with the slowest preset you can take from libx264, herp with possible tuning that matches your source, and crf with the highest value that still looks good for you
[10:53] <JEEB> http://mewiki.project357.com/wiki/X264_Settings#preset <- list of libx264 presets
[10:54] <JEEB> (everything but the borderline presets should be more or less OK to use, placebo and ultrafast are generally for your benchmarks)
[10:54] <rfx> Ok .. thanks for the help. I was on this page but I wasn't able to connect the pieces together, how much from x264 is applicable when using ffmpeg command line .. I see now. So the "-tune" is actually not from ffmpeg but libx264 ?
[10:55] <JEEB> most commonly used settings such as crf, preset, tune, profile can be used in ffmpeg easily with their own setting in ffmpeg
[10:56] <JEEB> basically, a ffmpeg setting that maps to a libx264 setting
[10:56] <rfx> Ah ...
[10:56] <JEEB> then there's the setting for setting specific libx264 flags, too
[10:57] <rfx> Ah .. ok, I think I understand now. On http://ffmpeg.org/ffmpeg.html#Options-4 I see "x264opts" ..
[10:57] <JEEB> yeah
[10:57] <JEEB> x264opts is separate
[10:58] <JEEB> and you usually don't need it
[10:58] <JEEB> I only needed it to set certain settings for a certain hardware device that had extra limitations on top of the usual limitations of profiles and levels
[10:58] <rfx> The think is, I googled a lot and saw a lot of examples and by reading ffmpeg documentation I would have definitly assumed qscale would influence the quality for x264; weird.
[10:58] <rfx> s/think/thing
[10:59] <JEEB> -qscale seems to be used in other internal ffmpeg codecs, but I have no idea of it and how it maps with libx264
[10:59] <JEEB> now that ffmpeg has a -crf options, I don't see any reason to use -qscale
[10:59] <JEEB> .-.
[10:59] <JEEB> *option
[10:59] <rfx> thanks, noted :)
[11:00] <JEEB> if you are encoding for PC playback, you can just let loose with settings, no need to set level/profile. if you are encoding for hardware, then you might want to set profile and level (profile = limits features, level = limits the amount of memory the decoder has to have available) accordingly
[11:01] <JEEB> then there's special stuff such as blu-ray compatibility which has its own switch :)
[11:02] <JEEB> (this is only needed if you are encoding a raw H.264 stream for muxing into a commercial blu-ray)
[11:03] <rfx> actually .. I'm encoding for the internetz; like iphone/ipad/android .. the usual non-exiting stuff
[11:03] <JEEB> well, in that case you will need to set level and profile matching to the lowest feature set you want to support
[11:04] <JEEB> if you want to support android phones that came in during early 2009 f.ex.
[11:04] <rfx> I've already gathered some examples and also got things properly playing back on even iPhone3G (by adjusting the profile/level); but I'm far from properly understand all these examples where people through rediculious command lines at your without explaining a single thing :p
[11:04] <JEEB> you'd need to set -profile baseline and -level 3
[11:04] <JEEB> yeah, up to 3G it's profile baseline and level 3
[11:05] <JEEB> 3GS has a much better ASIC and can handle high profile (default, doesn't have to be set) and level 4/4.1
[11:05] <JEEB> :)
[11:05] <rfx> I dug out my ./to_mp4_iphone script and I have this in there: "-vprofile baseline -level 13". hmm
[11:05] <JEEB> level 1.3 .-.
[11:05] <JEEB> sure is limited
[11:05] <JEEB> but if you really need that, sure
[11:06] <JEEB> I know for a fact that my old phones supported level 3
[11:06] <rfx> jesus. no, I've actually two (!) -level arguments, one to 30 and one 13 .. definitly not intentional.
[11:06] <JEEB> hah
[11:06] <rfx> a topic copy/paste/concatenate thing .. argh
[11:06] <rfx> s/topic/typical/
[11:06] <JEEB> also, if you're using faac or any other aac encoder you'll probably want to use -profile:v and thus specify that you're setting the setting only for the video encoder
[11:07] <JEEB> because aac encoders tend to eat the -profile setting as well, and then end up erroring out
[11:07] <JEEB> because there is no 'baseline' or 'main' profile in aac
[11:07] <JEEB> lol
[11:08] <rfx> Thanks, I was about to ask about the "-vprofile", because .. it's all so complex it seems, when I look at http://ffmpeg.org/ffmpeg.html or http://mewiki.project357.com/wiki/X264_Settings there is no "vprofile" at all anywhere. Is this old, for compatibility?
[11:08] <JEEB> vprofile is the old name for profile
[11:08] <JEEB> and still kept around
[11:08] <JEEB> like vpre for preset
[11:08] <JEEB> and yes, it's ffmpeg specific so it's not in libx264 naturally
[11:09] <JEEB> anyways, the older devices you'll try to support the less compression you get, but at least with H.264 there's usually no black magic involved :)
[11:10] <JEEB> mpeg-4 part 2 on the other thand... there's a reason why I will never go back into encoding stuff with it even for random plastic boxes :D
[11:10] <rfx> I wish there would be a page provider "default" examples for all the common devices out there and explaining what to tweak in case one wants to tweak something.
[11:12] <rfx> About the "vprofile" example: it's not documented on one of the both URLs currently; but "profile" is documented on both pages. How do I know which one I'm using? I guess using -profile:v is just ffmpeg specific, but -profile seems ambiguous to me. How can I better see the distinction?
[11:16] <JEEB> eh
[11:16] <JEEB> I don't get the "How do I know which one I'm using"
[11:16] <JEEB> since currently vprofile is just a legacy name for profile .-.
[11:16] <JEEB> and -profile is just sets the "profile" setting for whatever for a given encoder/decoder
[11:16] <JEEB> libx264 being one of them
[11:17] <JEEB> and what exactly the "profile" setting does is encoder/decoder specific (format-specific)
[11:18] <JEEB> so in a way -profile is ffmpeg-specific as it maps to different things in different codecs, but if you are using libx264 it maps to its --profile setting
[11:18] <JEEB> I don't see what exactly is hard in that .-.
[11:18] <JEEB> -profile:v just specifies that you only want to set the setting to the video encoder/decoder (if you set it before the -i it's for the decoder, otherwise it's for the encoder)
[11:20] <JEEB> also, "for all the common devices" in most cases is just a matter of setting the lowest point you support
[11:20] <JEEB> and then encoding for it
[11:20] <JEEB> since the amount of devices with VeryWeirdASICs is rather small
[11:22] <JEEB> you can pretty much assume that a relatively low-res baseline/level 3 encode will work on most devices you will pretty much ever meet that support H.264
[11:22] <rfx> Thanks, that helps understanding. Well, I assume you've worked quite a lot with ffmpeg and know it, I wasn't aware of those though I tried to carefully read its documentation. See, when I get slammed those examples found on the internet, I try to lookup every parameter to understand it. 'crf' example: when I look at the web page, I see it's documented only for libvpx and says "    VPX_CQ, VP8E_SET_CQ_LEVEL
[11:23] <rfx> ", but when I look the command line I see another documention (which is more helpful, btw). Maybe my approach is wrong, I don't know.
[11:24] <rfx> OTOH, no one said the video encoding topic is a simple one :)
[11:25] <JEEB> I've more worked with x264 than ffmpeg :D
[11:25] <JEEB> I used to think that I'll never use libx264 with ffmpeg
[11:26] <rfx> Yeah, lol, that's also an interesting thing: having done some ffmpeg example the past week, I just realized that libx264 has it's own binary and capable of doing the encoding itself .. didn't knew that.
[11:26] <JEEB> now that ffmpeg actually has sane switches that make using libx264 easier, it's usable
[11:27] <JEEB> (-profile/-preset/-crf/-tune)
[11:28] <JEEB> the reason why people wanted to f.ex. implement video filtering and audio encoding into x264cli (the 'x264' tool that you use from command line) was exactly because using libx264 via ffmpeg used to be a mess
[11:28] <rfx> oh
[11:44] <rfx> JEEB: well, many many thanks for your time! need to move on; nice channel so far :)
[11:45] <JEEB> no problem
[12:25] <niro_> Hi, can anyone tell me how to set the compression ratio when saving to a jpeg from a usb cam...
[12:40] <solexious> Hello, is there a way to pipe the information from cropdetect back into ffmpeg to crop the video to that value?
[13:01] <LedM> Hello: i have a simple 7MB binary of ffmpeg that runs on absolutel every linux distribution, and want to know about a problem to sinchronize with the ffplay (Staic)
[13:01] <LedM> (Static)
[13:06] <ikonia> you shouldn't have a single binary for every linux distro
[13:06] <ikonia> you should have a binariy built for (and probably by) your distribtion
[13:08] <ikonia> ooh, he's gone
[13:33] <rfx> zeranoe: are you here?
[14:23] <rfx> JEEB: I just made a test using profile baseline and no specific level given and plays fine on iphone 3g
[14:24] <JEEB> well yeah, libx264 nowadays calculates the level from what the preset sets + profile's limitations + resolution + frame rate
[14:24] <JEEB> you should see it in libx264's output that's shown in the terminal
[14:25] <JEEB> with small resolution/frame rate etc. you probably don't need to worry about it too much
[14:25] <JEEB> but it's still nice to set the maximum level you want, as that will make sure that libx264 will not go over it
[14:25] <JEEB> in any case (unless you specifically set options by hand)
[14:30] <Xedecimal> I've got a series of avi files with 2 audio streams in them, I was using ffmpeg to -map 0:0 -map 0:2 (skipping 0:1) to another file, when using both -acodec copy and -vcodec copy, it'll still change the audio and screw it all up (as in it's just random noise), these are xvid avis
[14:30] <Xedecimal> what I mean by change the audio is that it's coming from 128k, but in vlc opening the result video file and looking at codec information it suddenly says it's a 98kbit audio
[14:31] <rfx> JEEB: I also noted: such an mp4 can play on android but only works directly streamed over HTTP if I use "MP4Box -hint" to add some hinting to it. Given that, I was able to create an .mp4 I can play from ios/ipad over android even in ie9 ...
[14:31] <Xedecimal> if I run -vn and export the audio out to an mp3 file, it comes out flawlessly
[14:33] <JEEB> Xedecimal, could be a lulzy avi file. VBR audio in avi to begin with is a hack
[14:33] <JEEB> (as in, you have to mux it in as a video track as audio IIRC is CBR only in AVI)
[14:33] <Xedecimal> should I just re-encode the audio ?
[14:33] <JEEB> nah, if you can first extract the audio and that's fine, just do that first
[14:34] <JEEB> and then remux to matroska or something capable of taking in VBR audio (mp4/mkv/flv come to mind)
[14:34] <Xedecimal> ahhhhh! pull the mp3, then do the video without audio and theeeeen put them back together, duh
[14:34] <JEEB> well, you can set multiple inputs after all :)
[14:34] <JEEB> as far as I know
[14:35] <JEEB> so you can mux the video and audio together in one step
[14:35] <JEEB> although it could also of course be a bug / not a supported "feature" in ffmpeg, so you might check out the ffmpeg bug tracker
[14:35] <JEEB> and submit it there to be checked, with a sample file
[14:36] <JEEB> oh, and make sure it still happens with ffmpeg's HEAD
[14:36] <JEEB> as in, current revision
[14:36] <JEEB> rfx, you should be able to play it in all of those via HTTP if you add the index atom into the beginning of the file... I don't really get what you're trying to say tbqh
[14:36] <Xedecimal> is N-36890-g67f5650 the latest ?
[14:36] <Xedecimal> (windows binary that is too)
[14:37] <JEEB> e191f1f
[14:37] <JEEB> is the current commit
[14:37] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=commit;h=e191f1f4141aec6b40d12af4835844deca134a1e
[14:37] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=shortlog
[14:56] <dies_irae> best command for ipad2 mp4 (h264) for maximum quality and minimum size at the same time??
[14:57] <rfx> JEEB: I was tryint to say: the .mp4 created with ffmpeg/x264 in this case did not play in one of two cases on Android (2.2 in my case): first case) download mp4, play, works ; second case) do not "download" but rather stream directly -> does not work without using the MP4Box application.
[14:58] <cbreak-work> maximal quality and minimal size are conflicting requirements
[14:58] <dies_irae> my Android tablet plays mp4 files without any modification though.
[14:58] <cbreak-work> you will NEVER get both
[14:58] <JEEB> dies_irae, -vcodec libx264 -preset placebo -crf <highest crf that still looks good for you>
[14:58] <rfx> dies_irae: likely that tables also have newer android versions ...
[14:58] <cbreak-work> dies_irae: that's not entirely it
[14:59] <cbreak-work> dies_irae: considering mp4 is a container format which can contain weird stuff
[14:59] <JEEB> rfx, to load straight up you don't need hinting, you need the index atom to be in the beginning of the file for playback to begin right away :P
[14:59] <dies_irae> JEEB: lemme try that one
[14:59] <cbreak-work> and considering that x264 can create h.264 with unrealistically high numbers of consecutive reference and b frames
[14:59] <JEEB> qt-faststart
[14:59] <JEEB> dies_irae, I think the ipad 2 has a rather good ASIC, but if it doesn't work, try adding -level 41
[15:00] <JEEB> that should limit the amount of memory needed for decoding
[15:00] <rfx> JEEB: so x264 or mpg does not put the index atom at the beginning? Or, rephrased: how would I add it?
[15:01] <rfx> sorry, that should read "x264 or ffmpeg"
[15:01] <JEEB> rfx, you must know the whole contents of the file to make an index
[15:01] <JEEB> and it's mp4 we're talking about
[15:01] <JEEB> so basically ffmpeg writes the data and then the index to the end
[15:01] <rfx> ah....
[15:01] <JEEB> use qt-faststart (included with ffmpeg's sources) for automation of putting the index into the beginning
[15:01] <rfx> O_O
[15:03] <ubitux> about qt-faststart, i wonder if it couldn't be a muxing option in the mov
[15:04] <rfx> hmm, it's not included in the windows binaries and it seems it's not automatically built when compiling ffmpeg? I used this configure line, but qt-faststart isn't compiled to a binary: --enable-static --enable-libvpx --enable-libvorbis --enable-libx264 --enable-gpl --enable-libvo-aacenc --enable-version3 --enable-libtheora
[15:04] <Tjoppen> ubitux: such an option already exists
[15:04] <JEEB> oh?
[15:04] <JEEB> already implemented?
[15:04] <ubitux> Tjoppen: oh?
[15:04] <Tjoppen> there's an option for reserving space. lemme see..
[15:05] <Tjoppen> -moov_size
[15:05] Action: JEEB scratches head
[15:05] <Tjoppen> -moov_size 100000 or so
[15:05] <JEEB> doesn't sound like anything stable
[15:06] <JEEB> I'd rather have ffmpeg go through the file once again
[15:06] <Tjoppen> it's hard to figure out in advance, though not impossible
[15:06] <Tjoppen> at work I've experimented with calculating the size based on which streams are CBR and VBR etc., but it's highly shitty
[15:07] <JEEB> rfx, no it doesn't get built by default with normal ffmpeg compilation
[15:07] <Tjoppen> FFmbc does something similar. the biggest problem is figuring out the number of packets in each stream in advance
[15:07] <JEEB> rfx, there's also a python script for it https://github.com/danielgtaylor/qtfaststart
[15:07] <dies_irae> trying to get a balance
[15:07] <rfx> JEEB: ok, thx; it self contained and 'gcc -o qt-selfstart qt-selfstart.c' did it
[15:07] <dies_irae> I am getting this [NULL @ 0x1d63e40] [Eval @ 0x7fff71fa7c70] Undefined constant or missing '(' in 'tevas.mp4'
[15:08] <dies_irae> 'tevas.mp4' is the output
[15:08] <dies_irae> :/
[15:08] <JEEB> dies_irae, command line and all that, pastebin, please
[15:09] <dies_irae> -crf needs an option??
[15:09] <JEEB> so you didn't set any -crf value?
[15:09] <dies_irae> JEEB: exactly what you gave me
[15:09] <dies_irae> no
[15:09] <JEEB> anyways
[15:09] <JEEB> just freaking pastebin it all
[15:09] <JEEB> please
[15:10] <JEEB> easier than trying to esper what exactly you tried to do
[15:10] <JEEB> unfortunately I am not exactly good at ESP
[15:10] <rfx> JEEB: awesome, you were absolutely right (of course); after qt-fasttrack it also works on my Android !
[15:10] <dies_irae> ffmpeg -i jean.mp4  -vcodec libx264 -vpre placebo -crf  tevas.mp4
[15:11] <JEEB> also I only posted the video-related stuff
[15:11] <JEEB> and yes
[15:11] <JEEB> you didn't set any crf value .-.
[15:11] <dies_irae> I got a tegra2 tablet.
[15:11] <JEEB> uhh
[15:11] <JEEB> you just said ipad 2
[15:11] <JEEB> tegra 2 is well known to have a crappy ASIC
[15:11] <JEEB> (read: doesn't support more than baseline)
[15:12] <dies_irae> yes, the command is for ipad2
[15:12] <JEEB> ok
[15:12] <dies_irae> JEEB: which -crf value would be good??
[15:12] <JEEB> highest that looks good for you
[15:12] <JEEB> start from 24
[15:12] <JEEB> go down if it looks bad
[15:12] <JEEB> go up if it looks good
[15:13] <JEEB> also you lack the audio settings y'know
[15:13] <JEEB> just letting you know
[15:14] <dies_irae> I think the same as original is just fine. youtube don't be having best quality anyways.
[15:14] <dies_irae> I just need to compress the image a lil bit.
[15:14] <JEEB> uhh, youtube is already all crapped onto it .-.
[15:14] <JEEB> and original audio is -acodec copy
[15:15] <dies_irae> JEEB: excellent, working now.
[15:16] <dies_irae> mm... anyone here with an AMD x8 bulldozer??
[15:16] <dies_irae> phenom x4 not to fast doing ffmpeg stuff.
[15:16] <dies_irae> does ffmpeg have GPU accel?
[15:17] <JEEB> sir
[15:17] <JEEB> you asked for maximum compression
[15:17] <JEEB> I gave you -preset placebo
[15:17] <JEEB> if you need speed, you will most probably want to lower that
[15:17] <JEEB> :P
[15:17] <JEEB> http://mewiki.project357.com/wiki/X264_Settings#preset
[15:17] <JEEB> ^ list of libx264 presets
[15:18] <JEEB> in other words, find the slowest preset that you can take
[15:18] <dies_irae> JEEB: this is a different question, I want maximum quality at minimum time.
[15:18] Action: dies_irae guesses everyone's wants that.
[15:19] <JEEB> well, quality is more or less controlled by crf
[15:19] <JEEB> different algorithms count the crf values a bit differently, but it more or less should keep similar
[15:19] <JEEB> so what preset controls is mostly just compression
[15:21] <JEEB> (and the amount of time taken by the algorithms)
[15:21] <JEEB> slower presets generally compress more and use more features
[15:21] <JEEB> faster presets generally end up compressing less and using less features
[15:22] <dies_irae> so x8 bulldozer be cool?
[15:22] <JEEB> XOP is nice, but I'd still put my money onto intel
[15:22] <JEEB> intel is generally faster for libx264
[15:38] <dies_irae> JEEB: what about GPU accel??
[15:40] <JEEB> nope
[15:42] <dies_irae> guess youtube's optimizing code didn't do a good job, still shaved 3MB.
[15:43] <dies_irae> I could take his job, with JEEB on irc helping though.
[15:43] <JEEB> youtube is set up for a quick job
[15:44] <JEEB> that's all they care about
[15:44] <JEEB> set bitrate, 2pass, quick settings
[15:44] <JEEB> youtube was never about quality
[16:37] <dies_irae> on the hood, rumors has it that youtube uses ffmpeg.
[16:37] <JEEB> it uses libavcodec, that's for sure
[16:39] <Tjoppen> see mike's youtube experiments somewhere on http://multimedia.cx/eggs/
[16:39] <Tjoppen> they use their own fork of ffmpeg based on what game formats etc. they support
[16:41] <dies_irae> DAAYUUM!!! --> "pushed development forward at a blinding pace."
[16:42] Action: dies_irae tries to picture coding at 'blinding pace'
[16:48] <rfx> Last week I found some example how to make mp4 "compatible for the web"; back the I had no idea what it means, it looked scary like this: "-codec:v libx264 -crf 22 -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me_method hex -me_range 16 -subq 6 -g 250 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1" ; I still don't know what most of it means and why it's there. I just know, I use "-f mp4
[16:48] <rfx> -c:v libx264 -profile:v baseline" and still get something which plays everywhere. I wonder *why* such examples are out there. Because,afaics, no one cared to explain why these options are there.
[16:49] <dies_irae> rfx: wtf that means?? 'mp4 compatible with the web'
[16:51] <rfx> dies_irae: it was meant as a metapher; so many example call them compatible but fail to explain what they actually do until the point you start thinking maybe they even don't know what they were doing and just copied it from somewhere else ...
[16:53] <JEEB> rfx, oh boy -- command lines like that were the reason why I didn't want to use ffmpeg for libx264 encoding up until lately
[16:53] <JEEB> it's probably a bit over 1.5y ago that it got better
[16:53] <JEEB> before that it was lolblackmagic
[16:54] <JEEB> and most of those people don't even know what they set .-.
[16:54] <rfx> That's what I started to think .. and it seems many examples are just old/obsolete/etc. and it's hard to find insightful reliable information
[16:54] <JEEB> well, at least now you can more or less leave it to libx264 because ffmpeg 'lets you push the right buttons'
[16:55] <rfx> ;)
[16:57] <JEEB> preset: speed/compression -- sets defaults that will get limited by profile/level, profile: limits features, level: limits the amount of memory needed to decode the stream
[16:57] <JEEB> that's the basics that you need to know today :)
[16:58] <JEEB> I think the most quirky thing I have is the PSP, and H.264-wise http://x264.fushizen.eu/random/psp_encoding.txt is all it needs :)
[17:13] <Bombo> hmm how do i do "ffmpeg -i foo.mp4 -vcodec copy -i foo.mp3 -acodec copy muxed.mp4" in new ffmpeg? i get an error now: "Unknown decoder 'copy'"
[17:14] <JEEB> ffmpeg -i foo.mp4 -i foo.mp3 -vcodec copy -acodec copy muxed.mp4
[17:14] <JEEB> I would guess something like this
[17:14] <JEEB> because if you set a vcodec before -i
[17:14] <JEEB> it sets it for the decoder
[17:16] <Bombo> ok that worked, thx JEEB
[17:16] <JEEB> yeah, -vcodec copy is an 'encoder'
[17:16] <JEEB> so you have to put it after the -i
[17:17] <Bombo> ok, so someone changed that, as it worked like this -i -vcodec -i -acodec with the old version (last year)
[17:18] <Bombo> i get a red "Truncating packet of size 1024 to 1" how bad is that? resulting muxed.mp4 looks ok ...
[17:19] <JEEB> if it sounds and looks OK
[17:19] <JEEB> I'd guess it's OK
[17:19] <Bombo> yeah but why is it red ;)
[17:19] <Bombo> red is bad
[17:19] <JEEB> "could be problematic in some cases"
[17:20] <Bombo> i'll check if its synched
[17:22] <Bombo> hmm its ok, so *ignore*
[19:56] <comm2k-n> according to mediainfo these are the details: http://pastebin.com/ZRhvCmar
[19:57] <comm2k-n> how can I set ID and gop (M/N)? (ignore the NTSC things that is definately wrong)
[19:58] <Mavrik> comm2k-n, you set GOP with -g
[19:58] <Mavrik> why would you want to set ID?
[19:59] <comm2k-n> I'm not sure if I want to - basically these are supposed to become 'HDV-compliant' so that my editing software will take them without reencoding.. I'm trying to approximate as closely as possible (God knows what trips it off)
[20:00] <Mavrik> output of which tool is this?
[20:01] <comm2k-n> adobe premiere 2
[20:01] <Mavrik> comm2k-n, btw, 0xE0 is an ID of a MPEG-1 or MPEG-2 video stream, so I strongly recommend against trying to change that ;)
[20:04] <Mavrik> it seems you also need to use -vtag HDV5 to mark the video as HDV
[20:22] <comm2k-n> arghh.. I think it is lost battle.. file1, created by premiere is ok, send this file through ffmpeg (using a/v copy) and the file is not accepted anymore. even though media info output is identical
[20:23] <Mavrik> comm2k-n, did you use the vtag parameter?
[20:23] <comm2k-n> yes didn't make much difference
[20:25] <Mavrik> and why exactly doesn't it accept your video?
[20:26] <comm2k-n> that is good question, basically it does accept them but wants to reencode them - this is the problem...
[21:42] <rhizmoe> hi all
[21:42] <rhizmoe> is ffserver really as janky as the docs would make it appear?
[21:43] <Mavrik> yeah
[21:43] <rhizmoe> sorry to drop a turd my first minute in-channel
[21:43] <rhizmoe> just researching the build options
[21:45] <Mavrik> basically, ffserver is very very obsolete :)
[21:46] <j-b-r> >janky
[21:46] <j-b-r> That might be the first time I've ever read this word
[21:51] <rhizmoe> Mavrik: that's the confirmation i was looking for :)
[21:51] <rhizmoe> j-b-r: it's a good one :)
[21:51] <rhizmoe> actually, i should confirm that it doesn't have an offensive etymology
[21:52] <j-b-r> If used in the right way, it sounds like the kind of word where you could trick people into ASSUMING that it was offensive
[21:52] <rhizmoe> niggardly
[21:52] <j-b-r> Yes, quite like that
[21:53] <rhizmoe> :) ok, i'm out
[21:54] <EOF-sensei> ‡‡‡‡‡‡?
[22:43] <creaux_> hi, is there a option for ffmpeg to keep reading a input file that is open and growing?
[23:05] <linuxis> Anyone here?
[23:10] <linuxis> I downloaded a bashscript which allows streaming shoutcast. Now by default it has radiotray as player and mplayer as alternate but I want to stream with FFMPEG
[23:10] <linuxis> But I'm not sure how to edit the script
[23:11] <linuxis> to use ffmpeg to stream shoutcast
[23:14] <linuxis> Why is this room so dead?
[23:14] <linuxis> ??
[23:16] <linuxis> Where is everyone?
[23:18] Action: linuxis1 hates disconnecting
[23:24] <linuxis1> How do I stream shoutcast from the commandline using FFMPEG?
[23:24] <linuxis1> Or even Icecast
[23:26] <Mavrik> do you want to stream AS shout/icecast or TO shout/icecast server?
[23:28] <linuxis1> Ummm no I want to play the radio stations from terminal
[23:28] <linuxis1> Wait I didn't understand,
[23:29] <linuxis1> I want to stream the Shout/Icecast from command line
[23:29] <linuxis1> I don't want to broadcast
[23:30] <Mavrik> stream to who?
[23:30] <linuxis1> Well, to a player? Or can FFMPEG play the streams?
[23:31] <linuxis1> I'll put things into context.
[23:31] <Mavrik> so you want to use ffmpeg to receive shoutcast stream and play it?
[23:31] <linuxis1> yes
[23:31] <linuxis1> I have a script that can search shoutcast radio directories
[23:32] <linuxis1> But I want to forward the searches to FFPEG to play the stations
[23:34] <Mavrik> I see
[23:34] <Mavrik> you do "ffplay -i <http url of station>"
[23:34] <Mavrik> to play the station
[23:34] <Mavrik> or ffmpeg -i <http url of stream> ... to convert it
[23:34] <linuxis1> convert it to what?
[23:34] <Mavrik> to whatever you want :P
[23:35] <Mavrik> ffmpeg is just a media encoder
[23:35] <linuxis1> So I can convert an mp3 ac3 stream to Ogg in realtime?
[23:35] <Mavrik> yeah
[23:35] <Mavrik> ffmpeg -i <your station> -codec:a vorbis -b:a 128k station_recording.ogg
[23:35] <linuxis1> Ok, so I should add ffplay to the script
[23:36] <Mavrik> and it'll start encoding the station to ogg and dumping it to file
[23:36] <linuxis1> Though how can I forward the script's choices to ffplay?
[23:36] <Mavrik> "forward script choices?"
[23:38] <linuxis1> Ok, I didn't write the script
[23:38] <linuxis1> By default it uses Radiotray and Mplayer but I don't want to use them
[23:38] <linuxis1> So via the script if I search a station, how can I pipe the station to ffmpeg?
[23:40] <Mavrik> um
[23:40] <Mavrik> if you pass "pipe:" to -i it'll read from pipe
[23:40] <linuxis1> It'll be so much easier if you could just see the script, it's freely available from crunchbang's forums
[23:41] <linuxis1> Then you could just give me better advice
[23:41] <linuxis1> http://crunchbanglinux.org/forums/post/150615/
[23:46] <linuxis1> I'm wondering if ffplay() would work
[23:46] <linuxis1> I'm still learning so I'm not really sure
[00:00] --- Thu Jan 19 2012


More information about the Ffmpeg-devel-irc mailing list