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

burek burek021 at gmail.com
Fri Jan 3 02:05:01 CET 2014


[12:51] <kurkale6ka> Hi, I have a bunch of .mp4 videos and lots of them are rotated. Tried mediainfo with grep Rotation... nothing, exiftool always reports Rotation 0 and with ffmpeg -i there is no Rotation info in the metadata. Do I have any remaining options to test this?
[12:51] <kurkale6ka> I wanna correct the rotation in batch so I need to know first which one are to be rotated
[13:13] <kurkale6ka> Ok, maybe I can play with the width:height. Is there a simpler way of getting them than ffmpeg -i ... | grep '#0:0' | awk ...
[13:15] <zap0> there are several formats data can be extruded too.  plain text may not be the most reliable
[13:17] <kurkale6ka> So what do you suggest
[13:42] <zap0> depends on the parsing tools you have
[13:44] <kurkale6ka> I am on linux
[13:52] <zap0> my condolensenses
[14:19] <viric> kurkale6ka: check ffprobe, and the different output mechanisms it has
[14:19] <viric> for example: ffprobe -of default FILE
[14:19] <viric> | grep whatever
[14:22] <kurkale6ka> thanks viric. That's what I get (same output as ffmpeg -i) and there is nothing related to rotation: http://bpaste.net/show/163875/
[14:22] <viric> I've no idea about rotation flags. I never saw one.
[14:22] <viric> I'm not sure they exist.
[14:23] <kurkale6ka> apparently they do in some cases
[14:40] <kurkale6ka> I did the following to rotate my video: ffmpeg -i video-2013-10-19-17-17-30.mp4 -c:a copy -vf 'transpose=1' out.mp4 but I got a bit rate of 216 where it is 750 in the original so I added -b:v 752k. Is this the correct way to proceed?
[14:48] <viric> if it were a flag, you could -c:v copy. no?
[14:50] <kurkale6ka> viric: I tried this but the transposing is then not done
[14:53] <kurkale6ka> Hmm I tried with a bit rate much higher than the original and I got better quality. How is that possible
[14:56] <kurkale6ka> Also Duration: 00:00:48.64, start: 0.000000, bitrate: 772 kb/s but in Stream #0:0 it reads 752 kb/s. Why the difference?
[14:57] <viric> better quality than the original?
[14:57] <viric> it can be either bad perception or a failure of matrix
[14:58] <kurkale6ka> Yes, there was less pixelation (actually none visible)
[15:03] <DelphiWorld> hi people
[15:03] <DelphiWorld> anyone know rtp streaming well?
[15:04] <DelphiWorld> ffmpeg -re -f flv -i rtmp://X.X.X.X:1935/live/livestream -acodec copy -vcodec copy -f mp4 -f rtp rtp://239.100.100.1:1234
[15:04] <DelphiWorld> this is not working...
[15:05] <DelphiWorld> i want to stream it to RTP, but change the format to mpeg4
[17:00] <kurkale6ka> This command rotates my video and encodes it from mpeg4 part 2 to h264: ffmpeg -i video-2013-10-19-17-17-30.mp4 -c:a copy -vf 'transpose=1' out.mp4. Result is a file which is 1.5M in size as opposed to 4.5M. This is normal I suppose since the compression is stronger and I shouldn't be woried about loss of quality (which I can't detect visually)
[17:05] <wald0> where i can found the "best" options for compress videos generically? (movies or camera videos which are huge, to have the smallest size possible with a perfectly-viewable quality)
[17:05] <wald0> i assume that i should use h265 + mp3 for that (ogg is better, but i think that is not so compatible with players)
[17:06] <wald0> i forgot to say: with a standarized compatibility so that will perfectly work in any player"
[17:09] <JEEB> first of all there's still no "usable" H.265/HEVC encoders
[17:10] <JEEB> as in such that give better quality within a sane time period and have a sane API
[17:10] <JEEB> thus you probably meant H.264/AVC
[17:11] <wald0> bad typed, sorry
[17:12] <JEEB> anyways, in general it's just libx264 + crf rate control + the slowest preset you can take
[17:12] <JEEB> crf default is 23, preset default is medium
[17:12] Action: DelphiWorld is back
[17:12] <JEEB> http://mewiki.project357.com/wiki/X264_Settings#preset
[17:12] <JEEB> ^ listing of the presets
[17:12] <JEEB> anything but ultrafast and placebo should be usable
[17:12] <DelphiWorld> hny 2014 JEEB
[17:12] <JEEB> with crf you find the highest value that still looks good
[17:12] <JEEB> aand, that's pretty much it
[17:13] <JEEB> as for audio, if your source has compressed lossy audio already, you might just want to copy that instead of re-encoding
[17:13] <JEEB> also I think nowadays AAC is more supported than MP3 in most containers and use cases
[17:13] <JEEB> if you need to re-encode
[17:13] <JEEB> DelphiWorld, yes, happy new year to you, too
[17:14] <DelphiWorld> thank JEEB
[17:14] <DelphiWorld> JEEB: ffmpegfull new year:)
[17:14] <wald0> but aac has teh same "enough" quality as mp3 ? and... it has also a small size like mp3 ? i noticed that a good amount of the video size is eated by the audio tracks
[17:15] <JEEB> AAC is newer than MP3, and good AAC encoders do make a better result at the same bit rate than MP3 encoders
[17:15] <sacarasc> Depending on the encoder, AAC is usually equal or better than MP3 at the same bitrate.
[17:15] <DelphiWorld> i hate mp3
[17:15] <sacarasc> Why?
[17:16] <DelphiWorld> sacarasc: aac is better in 64kbit/s you get better thant a 128kbit/s mp3
[17:16] <sacarasc> Who would use 128kbps MP3, though? :p
[17:17] <DelphiWorld> sacarasc: you? :)
[17:17] <sacarasc> Nope.
[17:17] <sacarasc> I tend to go for, on the rare occasions I need MP3, V0.
[17:17] <DelphiWorld> JEEB: if i ffprobe a file or a stream, how should i know if the AAC is LC or He-AAC?
[17:17] <JEEB> depends on if the information you can get from ffprobe contains the profile :P
[17:18] <JEEB> it's a profile, after all
[17:18] <DelphiWorld> JEEB: no, i dont see profile evean if its encoded by ff
[17:18] <JEEB> no, I mean if you can output that variable by poking at the settings. if not, then you're out of luck
[17:18] <DelphiWorld> lol...
[17:19] <JEEB> but I would be surprised if you couldn't output at least some of the decoder info :P
[17:19] <JEEB> but as you can guess, I have never needed that part of it and thus I just don't know
[17:19] <DelphiWorld> :)
[17:22] <wald0> DelphiWorld: i noticed some lossy of quality in mp3, but when used ogg i have not see them at all (same size/bitrate,e tc)
[17:22] <DelphiWorld> yeah ogg is good, but not device wide like aac/mp3
[17:23] <JEEB> the vorbis encoders are good, esp. the aotuv one
[17:23] <JEEB> and mp3 is _pretty_old_ by now
[17:23] <DelphiWorld> JEEB: can you help me with something:)
[17:24] <sacarasc> It's only in its 19th year, JEEB. :p
[17:24] <wald0> yeah, unfortunately is not widely compatible, thats teh only reason that i dont use it for my videos :/
[17:24] <wald0> ok so... how i can know which AAC encoder I have to see if is enough good in quality/size ?
[17:24] <wald0> debian wheezy here
[17:25] <DelphiWorld> JEEB: i have a rtmp stream. i want to capture it & output it to a rtp stream. any clue please?
[17:25] <JEEB> you'll need to compile ffmpeg with fdk-aac
[17:25] <JEEB> because one cannot distribute the binaries
[17:25] <JEEB> because of fdk-aac's license
[17:25] <DelphiWorld> JEEB: lol dont have any issue with ffmpeg build
[17:25] <JEEB> DelphiWorld, I was talking to wald0 there :P
[17:25] <DelphiWorld> JEEB: here's the stream: rtmp://5.9.151.112:1935/live/livestream
[17:25] <wald0> JEEB: then i have a double problem, i want to distribute the tool that im going to write :/
[17:26] <DelphiWorld> lol JEEB
[17:26] <JEEB> you can distro the tool just fine, you just have to handle the fdk-aac part separately :P
[17:26] <JEEB> which is unfortunate of course
[17:26] <JEEB> but not much you can do
[17:26] <JEEB> there's the internal aac encoder, which is the best of the LGPL/GPL compatible ones
[17:27] <JEEB> DelphiWorld, I don't know jack about rtp(s) output but I really don't see anything special in the input part because rtmp is supported in ffmpeg itself (thank effing goodness)
[17:27] <wald0> if the gpl ones are not "pretty bad to use" by some quality/size reason, i think that i should better go with these ones for now
[17:28] <JEEB> the libavcodec internal one isn't exactly fabulous
[17:28] <JEEB> there's a patch set on the trac issue tracker being developed to make it better tho
[17:29] <wald0> mmmh, and how i could "easly" integrate the fdk-aac one in the default shipped ffmpeg ?
[17:29] <wald0> or i -really- need to compile ffmpeg with it ?
[17:29] <JEEB> yes, you need to
[17:30] <DelphiWorld> JEEB: rtmp is supported no problem. but i dont know how to output it into mpeg4 stream and then distribute it through rtp.
[17:30] <DelphiWorld> -f rtp rtp://xxxxxxxxxx this is ok. but how to change the format to mpeg4
[17:30] <JEEB> you mean MPEG-4 Part 2? -c:v libxvid or mpeg4?
[17:31] <DelphiWorld> yep
[17:31] Action: DelphiWorld guess wald0 is building a IPTV solution...
[17:31] <JEEB> I mean, you could have looked at -codecs...
[17:31] <DelphiWorld> JEEB: not transcoding...
[17:31] <DelphiWorld> copy audio/video codec but just change transport
[17:31] <JEEB> so you want to stream the mpeg-4 container? that's not Part 2.
[17:32] <JEEB> I'm not sure if you can even do that :P
[17:32] <JEEB> I mean, yes -- you can enable "movie fragments"
[17:32] <DelphiWorld> JEEB: i'm  not expert in rfc's:)
[17:32] <JEEB> but then you have rtp(s)
[17:32] <JEEB> in other words, unless you really need to stay away from weird setups. for your own good
[17:32] <JEEB> I've only heard of rtp(s) and mpeg-ts in rtp(s)
[17:33] <JEEB> and I have no effing idea what ffmpeg supports and doesn't support :P
[17:33] <DelphiWorld> JEEB: my need: rtmp stream is streaming. want to output another stream in rtsp to be able to view it in  other devices like simbian.
[17:33] <JEEB> test yourself and look for information on the internets and in the source code
[17:33] <JEEB> find someone else to poke. I have said enough already :P
[17:33] <wald0> I wonder if will be better to use AAC from gpl or mp3 instead
[17:34] <DelphiWorld> wald0: aac-he is your  brother
[17:34] <JEEB> wald0, generally you want AAC for most things that play video (as it's pretty much the quasi-standard). I've only seen MP3 in some H.264+MP3 in FLV combos
[17:35] <wald0> well, in fact my ffmpeg is from marillat, not debian wheezy, how i can know if has fdk-aac ?
[17:35] <JEEB> -codecs
[17:35] <JEEB> and look for the things there
[17:35] <JEEB> although
[17:35] <JEEB> if they distro ffmpeg with fdk-aac they are distributing an enable-nonfree binary
[17:35] <JEEB> which is not supposed to happen
[17:35] <DelphiWorld> lol
[17:35] <wald0>  DEA.L. aac                  AAC (Advanced Audio Coding) (encoders: aac libfaac libfdk_aac libvo_aacenc libaacplus )
[17:35] <JEEB> as in, you should not distro that
[17:36] <JEEB> heh
[17:36] <wald0> tell that to mr. marillat :þ
[17:36] <JEEB> I don't give a flying fuck unfortunately :)
[17:36] <wald0> i wonder how the marillat guy does for distribute these things then, if is not "legal" ?
[17:36] <DelphiWorld> WTF work!
[17:36] <JEEB> it is not license-matching, but if they release the source code
[17:37] <JEEB> then at least the ffmpeg side doesn't care too much
[17:37] <DelphiWorld> but then cant play it...
[17:37] <JEEB> also as I said, only binary distribution is NG, so if you compiled that thing on your own machine, that's 100% OK as well
[17:37] <JEEB> most people pick the compilation locally way
[17:38] <DelphiWorld> ffmpeg -re -f flv -i rtmp://5.9.151.112:1935/live/livestream -f mpegts rtp://239.100.100.1:1234
[17:38] <DelphiWorld> is that ok JEEB ?
[17:38] <JEEB> I told you already X times, I have no idea :P
[17:39] <wald0> nah, ppl would use the one packaged for debian (or maybe marillat) here
[17:39] <DelphiWorld> JEEB: lollol but what about transport
[17:39] <wald0> so... if i encode it with fdk-aac, it would be playable in a compatible way ? (in windows machines, or linuxes that doesn't has ffmpeg compiled with that fdk)
[17:40] <JEEB> yes, all encoders for a format in theory should output stuff that decodes accordingly to that specification :P
[17:40] <DelphiWorld> :)
[17:40] <JEEB> there are some examples where some encoder borked something, but in general specifications "work"
[17:40] <JEEB> wald0, well I'm talking about people who specifically want to use fdk-aac and don't want to use anything grey
[17:41] <JEEB> for those people it's generally the simplest way to just compile fdk-aac and ffmpeg with it :P
[17:41] <DelphiWorld> can guys someone help me please...:(
[17:41] <DelphiWorld> i want to take my loved tv with me
[17:42] <wald0> what should be the fallback codecs to use if there's not fdk ?
[17:42] <wald0>  DEA.L. aac                  AAC (Advanced Audio Coding) (encoders: aac libfaac libfdk_aac libvo_aacenc libaacplus )
[17:42] <wald0> just "aac" or "libfaac" ? mmh..
[17:42] <JEEB> quality wise you should basically do: fdk-aac -> libfaac -> aac
[17:42] <wald0> ok thx
[17:43] <JEEB> funny enough distributing a binary with faac and aacplus is even worse than distributing one with fdk-aac if I recall correctly :P
[17:43] <JEEB> since those use the reference code, which the creator of the project surely didn't license
[17:44] <DelphiWorld> lol
[17:44] <JEEB> fdk-aac is an official thing and you just have to comply to the license
[17:44] <JEEB> which by default at least is incompatible with (L)GPL
[17:44] <JEEB> vo-aacenc is apachev2 and thus v3 compatible for (L)GPL, it just sucks
[17:49] <wald0> ok so... now im thinking on the features that i need, it should generically convert (compress) videos in a simple and basic interface
[17:50] <wald0> i have noted options for select quality and for change resolution, what other things can be useful for a simple app ?
[17:50] <wald0> handy* app, is the word :)
[17:56] <DelphiWorld> JEEB: its pocible to open a full duplex session bethwan 2 ffmpeg's?
[18:07] <wald0> i assume that a video compressor doesn't need features/options at all ? :)
[18:13] <calcifea> i'm trying to convert a video to vp8 with that command line "-c:v libvpx -crf 10", still crf is not used.. any idea?
[18:13] <DelphiWorld> mmmmmmmmmm, no one that use rtp streaming here at all?
[18:59] <DelphiWorld> wb saste
[20:47] <ddsss> how to convert .swf to .wav?
[20:47] <ddsss> ffmpeg -i file.swf -acodec copy out/file.wav -> creates empty wavs
[20:52] <viric> why you use acodec copy?
[20:53] <viric> maybe a wav cannot store the codec in swf
[20:53] <viric> (is swf a video?)
[20:54] <ddsss> viric, swf is audio afaik
[20:55] <ddsss> viric, when I do ffmpeg -i file.swf it says:   Duration: N/A, bitrate: N/A   Stream #0.0: Audio: pcm_s16le, 5512 Hz, 1 channels, s16, 88 kb/s
[20:55] <viric> No idea.
[20:55] <viric> ah, pcms16le.
[20:55] <viric> no idea what happens
[20:57] <rcombs> SWF is a Flash file
[20:57] <rcombs> it's neither video nor audio; it's more like a program
[20:57] <rcombs> I wouldn't expect ffmpeg to handle it at all
[20:57] <viric> I imagined that, first
[20:57] <viric> maybe ffmpeg takes it as raw audio?
[20:57] <rcombs> possibly
[20:58] <rcombs> either way, you may be able to extract the actual audio files using an SWF decompiler
[20:58] <viric> ffprobe on a text file, tells me:  Stream #0:0: Video: ansi, pal8, 640x400, 25 fps, 25 tbr, 25 tbn, 25 tbc
[20:58] <rcombs> they're probably WAV or MP3 already
[20:58] <viric> :)
[20:58] <rcombs> yeah, those look like defaults
[21:00] <ddsss> k. I'll screw around with them some more:) they do play in audacious btw.
[21:46] <wald0> what means profile high? for h264
[21:48] <JEEB> a feature set
[21:49] <JEEB> profiles mean available features used by the stream, levels are related to the memory usage on the decoder side
[21:52] <llogan> wald0: generally you don't need to explicitly set a profile unless your device requires it
[21:52] <llogan> just let the encoder choose
[22:20] <wald0> i see
[22:27] <wald0> ah, just got a feautre in mind to include in that compressor tool :) --> normalize audio!
[22:27] <wald0> pretty wanted thing
[22:37] <average> uhm hello ?
[22:37] <average> trying to do avi => webm
[22:37] <average> I'm losing a lot of video quality over the conversion
[22:37] <average> I don't know what switches to use to adjust quality
[22:39] <average> I could use pastebin, but it's just 1 line that I need to show
[22:39] <average> ffmpeg -i output.avi -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 345k -s 1366x768 -crf 20 -minrate 700k  output.webm
[22:40] <average> http://pastebin.com/y685C0s0
[22:40] <average> I don't get an error
[22:40] <average> but the problem is I'm losing video quality
[22:40] <average> I tried using -minrate and -crf to get better quality
[22:40] <average> minrate helped a bit but not much
[22:40] <llogan> the complete console output is missing
[22:41] <llogan> the console output is important. you don't have to encode the whole thing. you can add -t 10 or something.
[22:43] <average> http://pastebin.com/eJdYbi5j
[22:43] <average> llogan: added console output
[22:43] <average> I don't understand most of those numbers
[22:43] <llogan> you're not using ffmpeg from FFmpeg.
[22:43] <llogan> so you'll have to get help at libav or use ffmpeg from FFmpeg
[22:43] <llogan> http://trac.ffmpeg.org/wiki/UbuntuCompilationGuide
[22:44] <llogan> or
[22:44] <average> I have a version of ffmpeg compiled manually by the guide you wrote about above
[22:44] <llogan> your console output indicates that you're using a Libav product
[22:44] <llogan> try #libav
[22:45] <llogan> if you want to continue using it
[22:45] <average> I don't want to use it
[22:45] <average> I'll use a static build of FFmpeg
[22:45] <llogan> is ffmpeg in ~/bin?
[22:46] <average> downloading static build
[22:46] <llogan> but you said you already compiled ffmpeg from FFmpeg
[22:47] <average> no, F my compiled ffmpeg
[22:47] <average> I'll use what you gave me above
[22:48] <llogan> ok. now that you're (probably) using the correct stuff you can refer to http://trac.ffmpeg.org/wiki/vpxEncodingGuide
[22:48] <average> http://pastebin.com/LB31zAA4
[22:49] <average> this is the output I get using the static build of FFmpeg
[22:49] <average> llogan: there's no avi mentioned in the vpxEncodingGuide
[22:49] <average> I was looking for avi because I have an avi.. maybe I'm wrong
[22:50] <average> llogan: I tried what you gave me, works great
[22:51] <llogan> you can use avi, or any other supported format, as input.
[22:51] <average> actually it doesn't work great, it's fantastic !
[22:51] <llogan> the .mp4 in the guide are just examples
[22:51] <average> that's some awesome stuff
[22:51] <average> llogan: is the static FFmpeg compiled with x11grab too ?
[22:51] <llogan> no, you'll have to compile for that
[22:52] <llogan> what command did you end up using for the webm output?
[22:52] <average> ffmpeg -i input.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis output.webm
[22:52] <average> in the guide you gave me
[22:52] <average> changed input.mp4 to output.avi
[22:52] <average> and it worked fine
[22:53] <wald0> with CRF we can set the quality, right? but how we can set it in a way that "will not be bigger than the original video" ? (which is totally useless)
[22:53] <llogan> average: might want to try out using -qmin and -qmax as shown in the guide too
[22:54] <JEEB> wald0, you are not dealing with the original video, you are dealing with raw video. You just set the highest crf value that still looks good to you, that's all
[22:54] <llogan> wald0: i assume you mean -crf for libx264.
[22:55] <matham> I was wondering what align in e.g. av_image_alloc does? does it affect the total size of the buffer for each plane, or e.g. linesize as well to make to it larger than width? If the latter, why doesn't av_image_fill_linesizes have an align param?
[22:55] <average> llogan: those guys who made the static builds of FFmpeg... do they have their build scripts somewhere ? I could use them..
[22:55] <average> llogan: I suppose it won't be trivial to add x11grab to the static build... I've had troubles in the past with static builds...
[22:55] <JEEB> wald0, I mean, if it ends up being bigger than your original then that's life :P A slower preset might help there, of course.
[22:55] <llogan> average: you can ask them. burek is here sometimes. relaxed is here now, but i don't know if he is afk
[22:56] <average> relaxed: you afk ?
[22:56] <wald0> mmmh, for my old command to recode (compress) videos i got sometimes the size bigger, so the compressing is useless there then
[22:56] <wald0> from*
[22:56] <JEEB> if that is really the highest crf value that still looks good
[22:56] <JEEB> and if you're already on the slower preset
[22:56] <JEEB> then guess what
[22:56] <wald0> it is not possible to know/set a limit of quality that will be set "equal" to the original one ?
[22:56] <JEEB> no
[22:56] <JEEB> we don't have thousands of chinese children in our basements yet
[22:57] <JEEB> CRF is the closest thing we have to "constant quality", basically (constant rate factor)
[22:58] <ChocolateArmpits> can anyone give an explanation to -bufersize tag and how it works along with -maxrate?
[22:58] <llogan> maybe you should ask yourself why you want to re-encode in the first place
[22:58] <JEEB> so you really have to find the highest value that still looks for you (the value doesn't keep static between presets because slower presets make the encoder "see" more things and thus same CRF with a slower preset might actually end up bigger)
[22:58] <wald0> mmmh, and knowing CRF and the AAC parameters, do we can know an aprox. size of the resulting video?
[22:58] <JEEB> no
[22:58] <JEEB> the idea of CRF is to be free of any bit rate constraints and just run an ABR rate control over the whole clip that more or less kind of feels like "constant quality level"
[22:59] <wald0> not easy to do an "automagic" tool for compress videos then :/
[23:00] <JEEB> esp. since not everyone's eyes are the same, too :P
[23:00] <JEEB> *are not the same
[23:00] <wald0> from camera's is easy since they are extremely bloated in size, but for other videos... sometimes they are well compressed (very rare) and sometimes their quality is just real crap (see pron)
[23:01] <JEEB> yes, and you can't do jack about that. If it's already well compressed or crap (thus already very small), then you really can't do much 'bout it
[23:01] <wald0> so compressing these 2 last ones can result in a bigger file
[23:01] <JEEB> since if someone is encoding, there's usually a reason for that (the original file can't be used for thing X or whatever)
[23:01] <JEEB> otherwise person shouldn't just be re-encoding
[23:02] <JEEB> wald0, I recommend you just stop trying to make a "will make the input smaller always" kind of thing :P
[23:03] <JEEB> will make your life much easier, and will keep you away from thinking derpy things
[23:03] <JEEB> it's much more useful to actually keep your output within some frames of compatibility or whatever
[23:03] <JEEB> if you are going to be making an app for the random luser to encode video for a device or whatever
[23:03] <JEEB> ChocolateArmpits, -bufsize sets the amount of buffer the client will be buffering, and maxrate sets the maximum average bit rate within this buffer. So if you have maxrate of 2000 and bufsize of 3000, you'd have a 1.5 second buffer with the minimum transfer rate needed to watch the stream being maxrate (+ audio bit rate + some container overhead)
[23:03] <average> llogan: so thank you very much sir, basically now I have a solution to make webm screencasts. Unfortunately it involves using two ffmpegs, one that comes with Ubuntu, and a static one to make avi => webm , buuut, I am ok with that. I don't mind
[23:04] <average> as long as it works, it works
[23:04] <wald0> JEEB: but i can tell you that my old compressor script (using almost static parameters) always saved me a ton of space on lots of videos (specially movies), let's say 3-4 times smaller
[23:04] <wald0> average
[23:04] <JEEB> well, I'm still pretty sure you didn't poke the CRF value
[23:04] <average> I'm sure I could rebuild ffmpeg with x11grab but I am not open to the hassle entailed by that (because I know it'll take more than one try, and each try would cost me around 5-10minutes)
[23:05] <JEEB> and actually tried to find the highest that still looks good for you
[23:05] <wald0> mmh, let me see
[23:05] <JEEB> and if you actually did, then the shit that 'saved you space' actually WAS NOT UP TO THAT QUALITY
[23:05] <JEEB> it's simple business, either you do 2pass and set an overall bit rate, or you do single-pass CRF and care about the quality
[23:05] <JEEB> both have as good compression ratio
[23:06] <ChocolateArmpits> JEEB, that sounds quite strange. I've seen the highest suggested bufsize for dvd compliant video to be 1792kilobits, but for actual video most often 8000kilobits
[23:06] <JEEB> just the difference in what is more important
[23:06] <wald0> well, actually was made with mencoder and "qp" parameter
[23:06] <ChocolateArmpits> Is there something I'm missing?
[23:06] <JEEB> wald0, "gg constant quantizer" -- even worse than CRF :P
[23:06] <wald0> mencoder  -ovc x264 -x264encopts me=umh:subq=9:nr=100:threads=auto:crf=26  -oac mp3lame -lameopts abr:br=80:vol=0:mode=1:aq=0 -sid 42
[23:06] <JEEB> uhh, no -- that has crf
[23:06] <wald0> more exactly, good parameters, the minimal amount to see "good" a video
[23:06] <JEEB> and crf 26 at that
[23:07] <JEEB> anyways, set the highest crf that still looks good and use the slowest preset you can take
[23:07] <wald0> oh wait, true... i was reading a comment which said "qp" instead of "crf" :)
[23:07] <JEEB> I'm pretty sure I linked it to you
[23:07] <JEEB> wald0, NEVER USE QP INSTEAD OF CRF
[23:07] <JEEB> seriously
[23:07] <JEEB> super fucking seriously, unless you're a developer
[23:07] <wald0> why comments doesn't make apps to fail compilation ? lol
[23:08] <JEEB> of course this only applies to x264, pretty much everything older only has average bit rate or qp modes
[23:08] <wald0> JEEB: i used it in the past but switched to crf let's say 1-2 years ago
[23:08] <JEEB> so qp was the "closest" you had to something that didn't limit the bit rate
[23:08] <wald0> thats why my comment where it said that is outdated
[23:08] <llogan> average: compiling isn't that bad and there are some issues with the libav x11grab
[23:08] <JEEB> ChocolateArmpits, as far as I remember the bufsize on DVDs indeed is small like that, and the maxrate much bigger
[23:09] <JEEB> welcome to 1990s
[23:09] <JEEB> memory was Expensive
[23:09] <wald0> btw, what is exactly the -intra parameter? i noted that in a comment too, waiting for a newer version of ffmpeg, seems like this option is needed for NLE ?
[23:09] <JEEB> no idea what that is you're talking about, I know of no such parameter in either x264 or ffmpeg
[23:09] <JEEB> that said, if you need all-intra you just set a keyint of 1 :P
[23:10] <JEEB> (-g in ffmpeg)
[23:10] <average> llogan: well well.. I think it's totally doable, but you have to agree it's not trivial
[23:10] <ChocolateArmpits> well yeah, but then how is the relationship explained then? dvd buffer works at higher rate than one per second?
[23:10] <wald0> and what this does exactly? sorry i didnt understand what is intra for
[23:10] <average> especially when you put the word "static" in the mix
[23:10] <JEEB> ChocolateArmpits, yes -- there's less than one second's worth of video in the buffer (if maxrate is kept)
[23:11] <JEEB> wald0, intra = within, inter = between.
[23:11] <llogan> average: copy 'n paste seems fairly trivial to me
[23:11] <JEEB> in other words, intra compression is within one picture only, no other pictures needed
[23:11] <llogan> average: ...but of course i don't know many details of what you're trying to achieve
[23:11] <JEEB> inter compression is basing a picture on previous coded pictures, for example
[23:11] <JEEB> in general intra-only is not something you want :P
[23:11] <ChocolateArmpits> intra-only is good for editing purposes
[23:12] <wald0> i see
[23:12] <wald0> that makes sense for NLE, where replay the video frame-to-frame is very needed
[23:12] <JEEB> ChocolateArmpits, basically you could enjoy more data transmission speeds back then than having a big buffer. That is also why DVDs suck quality-wise in the end :P
[23:12] <wald0> or playing in reverse mode
[23:15] <ChocolateArmpits> thanks for the info, JEEB, maybe you'll also know minimum GOP suggested for dvd titles/menus ? I know intra only is not supported, having no B-frames is also ill advised, so that should make IBP the minimum GOP for playback ?
[23:15] <ChocolateArmpits> that is a 3-frame gop
[23:15] <JEEB> no idea, I don't have the DVD specs
[23:17] <ChocolateArmpits> well anyways, thanks for the info
[23:17] <JEEB> I think blu-ray was the first digital media where you could actually get good quality within the limits of the format
[23:18] <JEEB> DVD was made in a completely different world, and it shows by now :)
[23:21] <Zeranoe> Can FFmpeg be used to normalize audio? Doing some research pointed to no, but they were all pretty old posts
[23:22] <viric> Zeranoe: do you mean setting the gain flag?
[23:22] <viric> or guessing the gain?
[23:23] <Zeranoe> viric: Guessing
[23:23] <viric> you can use the volumedetect filter
[23:23] <viric> that will give you an idea of the gain
[23:29] <Zeranoe> viric: So if mean is -34.7 and max is 7.3, i can gain by 7.3. There seems to be a huge gap though, between -34.7 and -7.3, which means it will probably still be quite...
[23:29] <Zeranoe> quiet
[23:29] <viric> you get stats about how many frames get out, by different proposed gains
[23:30] <Zeranoe> hmm
[23:30] <viric> well, you maybe not. I do. I don't know what version do you use
[23:31] <Zeranoe> viric: So 'histogram_10db: 280' means 280 samples will be clipped if i gain by 10?
[23:31] <viric> right
[23:32] <viric> not samples; frames, I think
[23:32] <viric> ah no. Samples, right.
[23:33] <Zeranoe> i wish i knew if that was a lot lol. im not archiving this, but i also dont want to gain by too much so its unplayable
[23:34] <Zeranoe> there isnt any sort of way to boost the low samples and keep the loud ones where they are?
[23:39] <FunkyELF> Handbrake produces m4v files but I want mp4.... is there an actual difference in container?  I know m4a and mp4 are exactly the same and you can just rename the file.
[23:40] <FunkyELF> I'm using ffmpeg -i some_file.m4v -c copy some_file.mp4
[23:40] <sacarasc> mv blah.m4v blah.mp4
[23:41] <FunkyELF> sacarasc: okay.... wasn't sure if it was actually a different container
[23:42] <FunkyELF> sacarasc: the result is different file sizes when I run it through ffmpeg again.  Does that make sense if I used -c a?
[23:42] <sacarasc> Very different? Or just slightly?
[23:43] <FunkyELF> 3440192 vs. 3440932
[23:43] <sacarasc> If you ran it through 10 more times, you'd probably get 10 different sizes.
[23:44] <FunkyELF> sacarasc: even on the same version of ffmpeg?
[23:44] <sacarasc> Yes.
[23:44] <FunkyELF> how is that?  is it not deterministic?  isn't the audio and video streams exactly the same when you use -c copy
[00:00] --- Fri Jan  3 2014


More information about the Ffmpeg-devel-irc mailing list