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

burek burek021 at gmail.com
Sat Nov 22 02:05:01 CET 2014


[00:36] <bakers> If I do "ffmpeg -i test.avi /tmp/out.mp4" What audio/video bandwidth settings will ffmpeg use?
[00:37] <danomite> bakers, ffmpeg will tell you
[00:38] <c_14> To a certain degree, anyways.
[00:39] <c_14> If you really care, read the source code.
[00:42] <bakers> I see it tell me AFTER the file is done. But I don't see it output any targets before it starts
[00:43] <c_14> When ffmpeg starts encoding it'll output a line: "Output #*, mp4, to '/tmp/out.mp4':
[00:43] <bakers> I have an avi that I want to convert to mp4 and I want it to keep the quality roughly the same
[00:43] <c_14> Everything from there to 'Stream mapping:'
[00:43] <c_14> Just use -c copy
[00:44] <c_14> (assuming mpeg4/h264 and aac)
[00:44] <bakers> right now I HAVE to specify an -ab/-vb
[00:44] <bakers> They're OLD divx files I want as MP4
[00:44] <bakers> Here is my output
[00:44] <bakers> http://www.fpaste.org/152648/14165270/
[00:45] <c_14> mp4 is a format, divx is a codec
[00:45] <c_14> You can put divx into mp4 just fine.
[00:45] <bakers> I meant I want h.264 sorry
[00:45] <bakers> If I look at line #27 I don't see it specifying a video bandwidth
[00:46] <bakers> the input is 1246Kb/s
[00:46] <bakers> no mention of what it's trying to do for the output
[00:46] <c_14> ye, x264 defaults to crf
[00:46] <c_14> somewhere around 23 or so iirc
[00:47] <bakers> Ah ok...
[00:47] <bakers> Where can I get an explanation of what each CRF level is?
[00:47] <c_14> https://trac.ffmpeg.org/wiki/Encode/H.264
[00:48] <bakers> c_14: Perfect thanks. I didn't even know about CRF
[00:48] <c_14> Also, you can add -c:a copy
[00:48] <c_14> mp4 supports mp3 audio
[00:48] <bakers> Unrelated question
[00:49] <bakers> Wasn't "MP2 Audio" = MP3
[00:49] <bakers> and h.264 audio = AAC
[00:49] <bakers> what does h.265 use?
[00:49] <c_14> There's no such thing as H.264 audio
[00:49] <danomite> is there an article that discusses the -g option ? I'm having trouble understanding it
[00:49] <bakers> AAC is largely associated with h.264 as the defacto standard
[00:50] <c_14> MP3 is MPEG-2 Layer III
[00:50] <c_14> AAC is often used together with H.264 video, but there is no reason for taht.
[00:50] <c_14> *that
[00:50] <c_14> Other than that both are popular codecs.
[00:51] <c_14> Correlation does not imply causation.
[00:51] <bakers> is aac still the newest audio algorithm from the MPEG guys?
[00:51] <bakers> or did they develop something new alongside h.265
[00:52] <c_14> As far as I'm aware, AAC is the newest audio codec from MPEG, yes.
[00:53] <bakers> That's about what I thought. Thanks
[00:53] <c_14> Though there might be some obscure other codecs.
[00:55] <c_14> danomite: just what the option does or about the gop in general?
[00:56] <danomite> in general
[00:58] <c_14> Tried the wikipedia page? Last I checked it was rather concise and easy to understand.
[00:59] <danomite> Thanks, I didn't think there was article
[01:06] <danomite> is the ffmpeg option -g in seconds and does it imply that there will be one keyframe only?
[01:06] <danomite> err i see now its in frams
[01:40] <llogan> danomite: the latest AAC thing is probably MPEG-4 AAC ELP.
[01:41] <danomite> thanks but I think someone else was asking about aac
[01:41] <llogan> oh, duh. you're right.
[01:41] <llogan> that was for bakers
[01:48] <danomite> if i set -crf 0 and -maxrate 192k will ffmpeg deal with such conflicting values?
[01:55] <c_14> I think it should.
[02:09] <ParkerR> What better way to momitor the routers than via a laptop webcam over LAN cord sent via raw udp stream https://cdn.mediacru.sh/KKiTakmvmDb6.jpg
[02:09] <ParkerR> <3 ffmpeg
[02:10] <sacarasc> Maybe you could get your mother to watch... Proper momitoring.
[02:10] <ParkerR> :P
[03:36] <bobdobbs> prolly a silly question, but... on ubuntu, if I use ffmpeg, am I actually using something that isn't ffmpeg?
[03:36] <c_14> yes
[03:37] <bobdobbs> hai c_14!
[03:37] <bobdobbs> thanks
[03:39] <bobdobbs> c_14: ultimately, I'd like to do some conversions. I've got an m4v file that I want in ogg and webm as well. Do you think I should stick with ubuntu's libav/avconv? Or rip them out and install proper ffmpeg?
[03:40] <bobdobbs> oh gawd. reading that SO post. There's some convoluted history, right there.
[03:40] <bobdobbs> oh, software.
[03:41] <c_14> avconv/libav should probably work, but if you need help with libav/avconv you'll have to ask in #libav
[03:41] <bobdobbs> gotcha.
[03:41] <bobdobbs> thanks again :)
[03:53] <dublee> I can run ffmpeg for hours even days right?
[03:53] <c_14> You can run ffmpeg for as long as you like.
[03:54] <c_14> As long as you don't find a bug, that is.
[03:54] <c_14> Or the input dies.
[03:54] <c_14> etc
[03:54] <dublee> trying to do rstmp to mjpeg which it works
[03:55] <dublee> at least for about 30 minutes
[03:56] <dublee> live ip camera stream to .jpg
[03:57] <c_14> Does it error out?
[03:57] <dublee> no just stops
[03:58] <dublee> or "freezes"
[03:58] <c_14> What version are you running?
[03:59] <c_14> Can you pastebin commandline and console output?
[03:59] <dublee> ffmpeg -i rtsp://streamurl -s 640x480 -y -f image2 -update 1 -r 1 C:\xampp\htdocs\public_html\stream.jpg
[03:59] <dublee> yeah
[04:00] <dublee> latest version, i got it last night
[04:01] <dublee> windows 7 environment
[04:01] <c_14> Is it always about 30min?
[04:02] <dublee> random
[04:02] <relaxed> maybe "-frames:v 1" would help
[04:05] <dublee> trying to copy output
[04:09] <dublee> c_14: http://pastebin.com/vvQpqeXC
[04:10] <dublee> it's my brothers IP camera, he baught some weird brand and so far I can not really do much with the settings.
[07:41] <owonoko> how do i look at a h264 file to see what the keyframe layout looks like
[07:41] <owonoko> i need to dump a h264 file into another format so it's easy to scrub in this editor at 1/4 of a second or so res
[07:42] <owonoko> doesn't need to be properly playable or have sound either
[08:34] <owonoko> ahh yep go tit
[10:44] <hefest> using this while transcoding flv to webm "-b:v 128k -bufsize 128k"
[10:45] <hefest> and resulting video has bitrate: 210 kb/s
[10:47] <BtbN> that's a _very_ low bitrate for a video
[10:48] <hefest> 320x240 video
[10:48] <BtbN> even then
[10:49] <BtbN> Encoders propably just can't follow a that low restriction
[10:49] <hefest> that on the side, why isn't it enforcing bitrate correctly
[10:49] <hefest> BtbN: are you familiar with zencoder ?
[10:50] <hefest> i have video transcoded by someone else with 107 kb/s , the same video, and it's quality is ok
[10:50] <BtbN> bitrate allways fluctuates a bit, even in cbr mode.
[10:50] <hefest> trying to match that but ffmpeg is not enforcing limits
[10:50] <__jack___> bah, I already made 720p files (audio + video) at 1k bps
[10:50] <BtbN> Did you even put it in cbr mode?
[10:51] <__jack___> (but not with webm hihi)
[10:51] <BtbN> for h264 that's still somewhat ok, depending on how much motion there is
[10:56] <hefest> BtbN: no, let me see how to do it
[10:58] <hefest> BtbN: how do i use cbr mode?
[10:58] <hefest> BtbN: btw, why it can't dynamically cap it to say 128k max?
[10:59] <BtbN> What should it do if it needs more bitrate than that? Just gray out the frame or what?
[11:00] <hefest> no idea, i just see the same video transcoded with 107kb/s bitrate and it's fine
[11:01] <hefest> there is no visible difference in quality between the 107kb/s and 210kb/s encoded ones but the size difference is significant
[11:02] <__jack___> hefest: you may try a min & max bitrate, and, of course, a 2-pass encoding
[11:03] <BtbN> Does webm/vp8 even support that?
[11:03] <BtbN> Also, 2pass is not cbr. 2pass is constant output filesize
[11:03] <BtbN> but variable bitrate
[11:03] <__jack___> a 107k bps video does not mean that the whole file is at 107k all the time, it's an average
[11:04] <hefest> __jack___: that's ok, just need to reduce the size
[11:05] <__jack___> do you need some limitation on the bitrate ? some equipement cannot handle high -or low- bitrate
[11:05] <__jack___> if you're only concerns about size & quality, use constant quality
[11:06] <hefest> __jack___: not sure, im just trying to match the output of the transcoding of the same video from flv to webm by another service
[11:06] <hefest> __jack___: how do i do that?
[11:08] <__jack___> use crf (like there: https://trac.ffmpeg.org/wiki/Encode/VP8)
[11:09] <hefest> __jack___: great, thanks
[11:13] <md_5> ffmpeg -i in.mp3 -i image.jpg -map 0:0 -map 1:0 -metadata:s:a title="Killer Queen (Remastered 2011)" -metadata:s:a artist="Queen" -metadata:s:a album="The Platinum Collection (2011 Remaster)" -metadata:s:a track="11" new.mp3\
[11:13] <md_5> any idea why none of the meta is being saved to the mp3 file
[11:14] <md_5> I've tried every combination of that / removing album art / etc and it wont work
[11:14] <md_5> the meta is even printed in the ffmpeg pre-mux synopsis
[11:14] <hefest> __jack___: with lowest crf possible i've managed to match the size of the file but the quality of the video is disasterous
[11:15] <__jack___> I've an idea: are you using the same codec ?
[11:16] <hefest> __jack___: http://pastebin.com/XtjUqiz8
[11:16] <hefest> __jack___: first one is the one im trying to match
[11:17] <md_5> even opened it with a hex editor and cant see the meta
[11:17] <__jack___> another idea: are you using the same source file than him ?
[11:18] <hefest> __jack___: yes, the exact one
[11:19] <__jack___> ok, then I guess it's about encoding option (more than bitrate stuff)
[11:19] <__jack___> did you trying presets ?
[11:20] <hefest> no
[11:20] <hefest> not sure what that is :)
[11:22] <hefest> __jack___: ok, so it's reading configuration from file. are there default preset options for each encoder?
[11:22] <__jack___> dunno, I'm not familiar with vpx
[11:25] <__jack___> found that: http://ubuntuforums.org/showthread.php?t=1522381&p=9539218#post9539218, I'm looking for the preset files; you can try theses option, it will work with some luck :D
[11:25] <md_5> nevermind, got it
[11:27] <hefest> __jack___: i tried playing with -crf transcoding the same flv to mp4 and it works good. when i match the size of the other transcoder the quality is good
[11:28] <hefest> __jack___: yeah, i stumbled upon the same thread :)
[11:30] <hefest> __jack___: hmm, that's producing 3 times the size of the competing webm
[11:41] <hannes2> ubitux: i think it was you who i wanted to send files to in april (yeah...) http://lists.ffmpeg.org/pipermail/ffmpeg-devel-irc/2014-April/002026.html username12565 was me
[11:41] <hannes2> just wanted to say, the bug is gone now. at least i could not reproduce it
[11:41] <hannes2> my mail account is weird atm so no mail
[11:42] <ubitux> ok ok
[11:42] <ubitux> no worry
[11:42] <hannes2> :)
[11:42] <hannes2> just went through old mail that was marked TODO
[11:46] <hefest> __jack___: i got more info from the "good" webm transcoding, http://pastebin.com/Uu0N5Fds
[12:00] <hefest> __jack___: ok, i managed to get the same quality with: ffmpeg -y -i ET2GYGBFW4.flv -vf scale=320:240 -q:v 0 -r 25 -strict -2 -c:v libvpx -qmin 20 -qmax 50 -crf 25 RN8N5WT37RO.web
[12:04] <hefest> __jack___: thanks!
[12:58] <gregor1255> hi, what's the command line to convert a bunch of PNG-images to a movie with a fixed framerate?
[13:01] <gregor1255> even if I use -vf "fps=120" or -r 120, ffmpeg always "detects" the input video stream (which is a bunch of png files..) as having 25fps
[13:02] <BtbN> because the default for image files input is 25, and you are settings the output framerate
[13:02] <BtbN> So it would take the 25 fps and try to "resample" it to 120 fps
[13:03] <BtbN> ffmpeg options allways affect the input/output they are in front of
[13:04] <gregor1255> ok, how to change the default input framerate for images?
[13:06] <BtbN> put the option in front of the input
[13:07] <gregor1255> ffmpeg -i input.wav -i %05d.png -c:v libx264 -vf "fps=120" out.mp4
[13:08] <gregor1255> is my line. Where to put the "-r 120" ?
[13:08] <gregor1255> (I already tried various permutations)
[13:08] <BtbN> in front of your png input
[13:08] <BtbN> but after the audio input
[13:08] <BtbN> And it's not a video filter of course
[13:09] <BtbN> -r should just do it
[13:09] <gregor1255> so "-r 120" right after input.wav ?
[13:09] <gregor1255> ffmpeg still "detects" the video input stream as having 25fps
[13:10] <BtbN> like i said, options allways affect the input/output which they are imediately in front of.
[13:12] <gregor1255> I'm sorry, your suggestion doesn't seem to work.
[13:12] <BtbN> You're doing it wrong then.
[13:12] <gregor1255> could you edit the above command so I can try it?
[13:13] <gregor1255> as I said, I already tried various permutations before even asking here
[13:16] <b_jonas> gregor1255: try to put -r 120 before the -i %05d.png
[13:16] <b_jonas> gregor1255: if that fails, try also to put -framerate 120 before the -i %05d.png
[13:17] <gregor1255> aha, -framerate works
[13:18] <gregor1255> what's the difference between -framerate and -r ?
[13:19] <gregor1255> sounds like they do the same thing. (And I can't find "-framerate" in ffmpeg's help page. I don't have the man-page installed, though)
[13:24] <gregor1255> anyway, thx jonas.
[13:29] <b_jonas> gregor1255: -framerate is an option for the image2 demuxer, that demuxer reads a series of image files as a video (or reads just a single image if you wish),
[13:30] <b_jonas> wheras -r is a global option, as an input option (before an input file) it asks to ignore the timestamps from the input and generate new timestamps with that framerate, or as an output option (after the last input file) it asks to resample the video to a new framerate, throwing away or duplicating frames.
[13:31] <gregor1255> thx, very informative :)
[13:31] <b_jonas> see http://ffmpeg.org/ffmpeg-all.html#image2-1
[13:32] <b_jonas> actually, -framerate also goes both ways, because as an output option it can be a setting for the image2 muxer
[13:32] <b_jonas> hmm no
[13:32] <b_jonas> it can't
[13:32] <b_jonas> sorry, ignore that
[13:32] <b_jonas> it's input only
[17:04] <kaotiko> hi
[17:13] <LanDi> I'm using this command to record my webcam:
[17:13] <LanDi> ffmpeg  -f video4linux2 -s 1280x960 -i /dev/video0 out.mkv
[17:13] <LanDi> how can I record the video in 30 fps ?
[17:14] <LanDi> because the actual is too low
[17:45] <c_14> -framerate 30
[18:56] <Hfuy> Hello.
[18:57] <Hfuy> Is there a way of determining the bit depth of MPEG-2 video in an MXF file? I've tried ffmpeg -i myfile.mxf and it produces useful information, but doesn't include the bit depth of the video: Here's what I get http://pastebin.com/zxd27e4K
[18:57] <JEEBcz> yuv422p(tv, bt709)
[18:57] <JEEBcz> 4:2:2, 8bit
[18:58] <JEEBcz> yuv422p10 would be 10bit
[18:58] <Hfuy> I see.
[18:58] <Hfuy> This camera is a ripoff :(
[18:59] <Hfuy> Slightly surprised that it doesn't recognise the audio as stereo.
[19:02] <JEEBcz> Hfuy, it's two separate mono streams, I have no idea how ffmpeg would know them to be separate sides of a stereo stream
[19:05] <JEEBcz> Hfuy, also it seems like the lavc mpeg2 decoder doesn't even support >8bit
[19:05] <JEEBcz> if that is even standardized
[19:06] <JEEBcz> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/mpeg12dec.c;h=78888c7309f69fa561c897d76d9dda87f4dd47a8;hb=HEAD#l1217
[19:14] <Hfuy> JEEBcz: I'm not a software engineer.
[19:14] <JEEBcz> if the 4:2:2 colorspace list only has the 8bit one there that kind of says something :P
[19:14] <Hfuy> I assume, however, that I can rely on ffmpeg's identification of the file as 8-bit, at least inasmuch as it definitely isn't 10-bit?
[19:15] <JEEBcz> and the output colorspace is the only thing that will tell you what bit depth it is
[19:15] <uex1fi> greetings
[19:15] <uex1fi> earthlings
[19:15] <uex1fi> as i am an alien from a distant planet, i do not fully understand ffmpeg
[19:16] <JEEBcz> in other words, either it is 8bit (if there are no artifacts on the screen when you play it) or you don't know because lavc only supports 8bit MPEG-2 :P
[19:16] <uex1fi> especially yadif and scale
[19:16] <Hfuy> I don't fully understand ffmpeg, and I'm from London
[19:16] <Hfuy> It plays fine in VLC. But I'm not sure what they're doing.
[19:16] <JEEBcz> my condolences
[19:16] <JEEBcz> I'm pretty sure it's 8bit then
[19:16] <JEEBcz> I'm pretty sure libmpeg2 doesn't support >8bit :P
[19:16] <uex1fi> Hfuy: London?  What strange word is this?
[19:17] <uex1fi> My command line is: ffmpeg.exe -v verbose -i "F:\ARCHIVES\Video\JP 55.avi" -t 5 -vf "yadif=1:1,mcdeint=0:1:10,scale=iw*sar:ih,unsharp=3:3:2.03" -codec:v libx265 -preset ultrafast -x265-params crf=28 -codec:a libfdk_aac -y "JP 55.mp4"
[19:18] <uex1fi> So I'm converting a DV-AVI to a x265 MP4.
[19:18] <JEEBcz> you are doing extremely unefficient compression with libx265, yes
[19:18] <uex1fi> The only purpose of the -vf is to deinterlace the video.  I think it's too complicated right now.  How can I simplify it?
[19:19] <uex1fi> JEEBcz: It is slow
[19:19] <JEEBcz> yes
[19:19] <JEEBcz> so use libx264
[19:19] <JEEBcz> which is not slow and you will get getter performance
[19:19] <JEEBcz> more bang for the same buck
[19:19] <JEEBcz> and then you should just use yadif if you only want to use yadif
[19:19] <uex1fi> I was going to see how tiny I could get these video files
[19:19] <JEEBcz> getting something tiny is not an issue
[19:19] <JEEBcz> the issue is how well it compresses
[19:20] <JEEBcz> as in, the quality on that size
[19:20] <uex1fi> But at low bitrates... isn't x265 smaller file size at same quality
[19:20] <uex1fi> ?
[19:20] <JEEBcz> yes, but only at the slowest settings
[19:20] <JEEBcz> I mean, the shit that drags my machine to 0.5fps
[19:20] <uex1fi> hmm, well i was also going to maybe try x264 10-bit
[19:20] <JEEBcz> the machine being a 4790K
[19:20] <uex1fi> yessss... super slow
[19:21] <uex1fi> okay okay... so first of all, the yadif
[19:21] <uex1fi> I'm not sure if this is a bug, or if I don't understand it wel
[19:21] <uex1fi> but if I don't have yadif, the x265 file has no video in vlc.
[19:22] <uex1fi> and if I use a different yadif setting, it doesn't either
[19:22] <uex1fi> somehow THIS works.  but why?
[19:22] <JEEBcz> http://ffmpeg.org/ffmpeg-all.html#yadif-1
[19:22] <Hfuy> I assume ffmpeg wouldn't actually be able tod ecode 10-bit mpeg-2, then
[19:22] <JEEBcz> Hfuy, yes - I presume it would output yuv422p even with 10bit
[19:22] <JEEBcz> that said, if VLC could play it the probability is extremely high that it isn't 10bit
[19:23] <Hfuy> But would that actually be a proper picture?
[19:23] <Hfuy> Would it be a corrupted mess?
[19:23] <JEEBcz> it would be incorrectly decoded
[19:23] <Hfuy> ffmpeg -i myfile.mxf test%03d.jpg works
[19:23] <JEEB> yup, so it is 8bit
[19:23] <uex1fi> oh -- i think if i even removed everything past the yadif, it wouldn't show video ("yadif=1:1,mcdeint=0:1:10,scale=iw*sar:ih,unsharp=3:3:2.03")
[19:24] <JEEB> also I have no idea how freaking old lavc decoder is in your VLC re: HEVC decoding :P
[19:24] <uex1fi> And i'm wondering why i need all this fancy stuff just to see video in vlc
[19:24] <JEEB> in any case, just "yadif" should work
[19:24] <JEEB> the default would be one frame per two fields, and "auto" field parity
[19:25] <JEEB> and all input will be deinterlaced
[19:25] <JEEB> as is noted on the documentation page I linked :P
[19:25] <uex1fi> okay
[19:25] <iive> i've never heard of 10bit mpeg-2, is that a new standard extension?
[19:25] <JEEB> iive, I was expecting that
[19:25] <Hfuy> I've no idea.
[19:26] <JEEB> because this person just expected 10bit and I had no idea if MPEG-2 Video even had it :P
[19:26] <Hfuy> I'm not expecting ten bit particularly.
[19:26] <Hfuy> Just wanted to ensure it wasn't.
[19:26] <JEEB> so I just noted that the lavc decoder doesn't even have such a thing
[19:26] <Hfuy> Hm.
[19:26] <Hfuy> IEC 13818 Part 8 was a 10-bit extension.
[19:26] <Hfuy> "withdrawn due to lack of interest"
[19:27] <Hfuy> So, no. There isn't.
[19:27] <uex1fi> okay, so "yadif=1:1" produces no video.  if i have the other vf stuff after it, it does
[19:27] <uex1fi> ?
[19:27] <JEEB> post full command line and terminal output in a pastebin
[19:27] <JEEB> and link here
[19:28] <uex1fi> okay
[19:28] <JEEB> also as I said already, I have no idea what your VLC contains and what bugs it might have
[19:28] <uex1fi> right
[19:28] <JEEB> I recommend using latest lavf/lavc and mpv for testing myself
[19:28] <uex1fi> would that be in the vlc nightly?
[19:28] <JEEB> the fuck I know
[19:29] <JEEB> if you're on windows then just grab lachs0r's mpv nightlies
[19:29] <JEEB> http://mpv.srsfckn.biz/
[19:29] <uex1fi> interesting, never used this before
[19:30] <JEEB> the least retarded of the mplayer forks
[19:30] <uex1fi> then i will see if it plays correctly with this
[19:32] <uex1fi> mpv.exe will not run.  i wonder why
[19:34] <JEEB> it's a terminal application. you either run it from the command line, or you drag and drop a file on it :P
[19:35] <uex1fi> duh ok
[19:35] <JEEB> also as I already said even yadif by itself should be OK, so make sure you actually need those options you are giving it
[19:35] <JEEB> you are setting mode and parity to 1
[19:35] <JEEB> (the first and second parameter)
[19:36] <JEEB> see the documentation that I linked to you way earlier in case you were just blindly copying or following something
[19:36] <uex1fi> all right
[19:37] <uex1fi> first of all, using only the "yadif=1:1" part DOES produce a video in mpv.  so vlc was the problem
[19:37] <JEEB> unsurprising
[19:37] <uex1fi> now i will see if i did yadif the right way
[19:37] <uex1fi> yup, i'll have to keep that in mind for the future
[19:38] <uex1fi> okay now -- perhaps mediainfo isn't to be relied upon, but it says that the mp4 i produced with ffmpeg has 59.940 frames, not 29.97?!?
[19:38] <uex1fi> any insight?
[19:38] <JEEB> so yes, you had no idea what parameters you were giving to yadif
[19:38] <JEEB> congratulations
[19:38] <uex1fi> thank you
[19:38] <uex1fi> you are right
[19:38] <JEEB> see what value 1 does for the first option of yadif
[19:39] <uex1fi> i shall
[19:39] <JEEB> I have linked the documentation, and surprisingly it actually tells you what it does in English :)
[19:39] <uex1fi> ooooh nice
[19:39] <JEEB> and what the default value is
[19:40] <uex1fi> okay.  if i do "yadif=0:1:0"...
[19:40] <uex1fi> i would think this is the correct settin
[19:40] <uex1fi> i think dvavi is bff
[19:41] <uex1fi> yes.  i will try this
[19:41] <JEEB> also I recommend you drop libx265 if you need to use such a fast preset. just getting something small has not been a problem  with encoders ever since libx264 happened
[19:42] <JEEB> you can encode 1440x1080 at 30fps with 128kbps bit rate, if you really want
[19:42] <uex1fi> okay, i will consider it BUT ... the preset is just so i can get the other settins right
[19:42] <JEEB> do note that to get good results from libx265 you will want to pretty much go placebo
[19:43] <JEEB> there is no other way
[19:43] <uex1fi> okay, not even veryslow
[19:43] <JEEB> you should not take libx264's presets as your base in any way or form
[19:43] <JEEB> it's a completely different thing
[19:44] <uex1fi> hmm okay, but i think i read the presets have the same names?
[19:44] <JEEB> yes, because libx265 copied the naming
[19:44] <uex1fi> ahh
[19:44] <uex1fi> and i know crf is different
[19:44] <JEEB> do note that x265 is developed by chinese and indian developers for the company MCW, and they just licensed the rights for the name
[19:45] <JEEB> so it's something completely different to x264
[19:45] <uex1fi> oh really?  i thought there were actually two x265s technically, but one was much more obscure
[19:46] <uex1fi> well anyway, i do appreciate the help
[19:46] <uex1fi> this is working
[19:46] <uex1fi> and x265 can do 10-bit and 12-bit?
[19:47] <uex1fi> which would be smaller sizes?
[19:47] <JEEB> it can do 10bit
[19:47] <JEEB> HEVC is the same as AVC specification-wise I think
[19:47] <JEEB> so up until 14bit as far as the specification goes
[19:48] <uex1fi> i know i can google around, and i will, but does file size get smaller as the bit depth gets greater?
[19:48] <JEEB> depends on the format
[19:48] <uex1fi> x264 and x265
[19:48] <JEEB> those are encoders
[19:48] <JEEB> not formats
[19:48] <JEEB> x264 encodes AVC/H.264 and x265 encodes HEVC/H.265
[19:49] <uex1fi> right?
[19:49] <JEEB> with AVC adding bits also added bits to the in-the-middle data
[19:49] <uex1fi> okay...
[19:49] <JEEB> I forgot the proper english word :P
[19:49] <uex1fi> and what's a "format" technically?
[19:49] <JEEB> a video format
[19:50] <uex1fi> what do you mean?  a wrapper, like a .mp4 file?
[19:50] <JEEB> x264 encodes videos in the AVC video format (also known as H.264)
[19:50] <JEEB> x265 encodes videos in the HEVC video format (also known as H.265)
[19:50] <uex1fi> ohhh ok
[19:50] <JEEB> no, I would call those containers
[19:51] <JEEB> also if I had to use the word "format" I would call containers "file format"
[19:51] <JEEB> not "video format"
[19:51] <uex1fi> so technically, x264 is an *encoder* which encodes into the AVC video *format*
[19:51] <JEEB> yes
[19:51] <JEEB> it follows the AVC specification
[19:51] <JEEB> and creates videos that AVC decoders can decode
[19:52] <uex1fi> yes, it makes sense now
[19:52] <uex1fi> "x265 supports the Main, Main 10 and Main Still Picture profiles of HEVC, utilizing a bit depth of either 8-bits or 10-bits per sample YCbCr with 4:2:0, 4:2:2 or 4:4:4 chroma subsampling."
[19:52] <JEEB> the AVC and HEVC names are the original ones from ISO/IEC, and H.264 and H.265 names are given to them by the ITU-T when ITU takes them into usage
[19:53] <uex1fi> ok, i will have to read about that.  i was wondering what the naming difference meant
[19:53] <uex1fi> now this says 8-bit and 10-bit
[19:53] <JEEB> yes, that's what I knew x265 supported out of the HEVC specification
[19:54] <uex1fi> but you said up to 14-bit?  or maybe i missed something
[19:54] <JEEB> see the wording I picked
[19:55] <JEEB> "supported _out of_ the HEVC specification", at least as far as I remember nuance-wise this means that the specification has more
[19:55] <JEEB> which is most often the case
[19:55] <uex1fi> hmm okay
[19:55] <JEEB> the specification has more things than what encoders or decoders support
[19:55] <JEEB> each implementation picks what they support out of a specification
[19:55] <JEEB> that is why you have profiles
[19:56] <JEEB> main profile is 4:2:0, 8bit only
[19:56] <JEEB> main 10 is 4:2:0, 8-10bit only
[19:56] <JEEB> basically feature sets
[19:56] <uex1fi> i see.  sooo although the spec may allow 14-bit, the x265 encoder doesn't necessarily support it
[19:56] <JEEB> yes
[19:56] <uex1fi> which means i can't go above 10-bit
[19:56] <uex1fi> that i know of
[19:57] <JEEB> yes, x265 doesn't support >10bit as far as I know
[19:57] <uex1fi> okiedokie
[19:57] <uex1fi> i get it.  thanks
[19:57] <JEEB> also I wouldn't be surprised if you actually don't get as much compression gain from >8bit with HEVC compared to AVC
[19:58] <JEEB> IIRC parts of the reasons why higher bit depths helped as much with AVC were fixed in HEVC
[19:58] <uex1fi> yeah
[19:58] <JEEB> basically, they made the inbetween values somewhere in the middle of encoding have more bits
[19:58] <JEEB> while with AVC it depended on the bit depth
[19:59] <uex1fi> ok
[19:59] <JEEB> so with 8bit encoding in AVC the in-the-middle value would be reduced back to 8 bits somewhere in the middle of encoding, while HEVC just defines that value to be higher to begin with
[19:59] <JEEB> (which hardware manufacturers then proceeded to cry a river about)
[20:00] <uex1fi> ok
[20:00] <uex1fi> lots of complexities
[20:00] <uex1fi> but i think i understand what i need to know now
[20:00] <uex1fi> i'm going to go play around with it
[20:00] <JEEB> anyways, feel free to test things out but just remember that by using a better format you don't necessarily get better results
[20:01] <uex1fi> and why, in a nutshell?
[20:01] <JEEB> because implementations
[20:01] <JEEB> the specifications for video formats don't specify how good of a job you must make compressing
[20:02] <JEEB> just that your bunch of bits has to be compliant with the decoding flow
[20:02] <uex1fi> so for example, x264 has been around much longer and has been refined, so in some ways, it may still be superior to x265
[20:03] <uex1fi> yeah, so there isn't one way to make an encoder; the end result just has to fit into the specification
[20:03] <uex1fi> hence some encoders are better than others, though they all use the same spec
[20:04] <JEEB> yupå
[20:04] <uex1fi> okay!
[20:04] <uex1fi> i've got to go now
[20:05] <uex1fi> thanks a bunch.  extremely educational
[20:05] <uex1fi> see you
[21:34] <rflmota> hey everyone
[21:58] <owonoko> hey guys, what's up with the fps column in this output when the input stream from the camera is 30 fps https://gist.github.com/jotham/9409e595eaf13bb82a74
[22:35] <danomite> owonoko, best guess is that its the count of input frames
[22:38] <c_14> It's the encoding framerate, ie how many frames per second it's encoding.
[22:53] <compstomp> Hi guys, I'm having some trouble statically compiling x265 to use with ffmpeg.  I can see that CMAKE_C_CREATE_STATIC_LIBRARY unfortunately isn't in CMakeLists.txt so I tried making x265-static (which appears in CMakeLists).  Do any of you have a proven method of compiling x265 statically on a UNIX-based system?  Here is the console input / output:
[22:53] <compstomp> http://pastebin.com/RLNEhTY7  Thanks!
[22:54] <owonoko> c_14: right but it's a 30fps stream and it's not i/o or cpu bound at the moment at any level
[22:58] <compstomp> Never mind, problem was some odd permissions error in my target directory :D  Thanks anyways!
[23:16] <bakers> Is libvo_aacenc still a low quality AAC encoder?
[23:16] <bakers> I downloaded a static build of ffmpeg and it wants to use that AAC encoder
[23:17] <compstomp> when you say "wants to use" do you mean that it is the only aac encoder included?
[23:19] <bakers> compstomp: when I do ffmpeg foo.avi /tmp/out.mp4 it defaults to that aac encoder. How do I see if other encoders are installed
[23:19] <compstomp> ffmpeg -encoders | grep aac
[23:19] <compstomp> will show you your aac encoders
[23:20] <bakers> I see libvo_aacenc and aac_latm
[23:20] <bakers> Reading this: https://trac.ffmpeg.org/wiki/Encode/AAC#libvo_aacenc
[23:21] <bakers> "but is a rather poor encoder compared to libfdk_aac and even the native FFmpeg AAC encoder"
[23:21] <compstomp> I am not one of the devs here so I don't consider myself nearly an expert on the topic. But most of the people around strongly prefer libfdk_aac
[23:21] <bakers> I don't know if that's current though
[23:21] <bakers> Do you know if I can get a static build with that encoder in it?
[23:23] <compstomp> Currently, fdk_aac is the preferred aac encoder.  To find a good static, you'll just have to google around searching for something like "ffmpeg static YOUR_OPERATING_SYSTEM libfdk_aac libfdk-aac" (annoyingly, the convention on when to use - and _ isn't bulletproof
[00:00] --- Sat Nov 22 2014


More information about the Ffmpeg-devel-irc mailing list