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

burek burek021 at gmail.com
Mon Jun 5 03:05:01 EEST 2017

[00:04:39 CEST] <johnjay> hey furq someone just told they did apt-get install ffmpeg on their debian machine and it worked fine
[00:04:56 CEST] <johnjay> did you say something like, it's months out of date?
[00:06:24 CEST] <furq> https://packages.debian.org/search?keywords=ffmpeg&searchon=names&suite=all&section=all
[00:10:01 CEST] <johnjay> it's all things like libswresample-ffmpeg-dev
[00:10:15 CEST] <johnjay> or like php5-ffmpeg
[00:10:32 CEST] <furq> what
[00:10:50 CEST] <johnjay> wasn't your point that ffmpeg isn't available as a package?
[00:11:04 CEST] <johnjay> or like it's oudated?
[00:11:09 CEST] <furq> it's not available as a package in jessie
[00:11:25 CEST] <johnjay> oh it says jessie-backports
[00:11:30 CEST] <furq> yes
[00:11:42 CEST] <furq> and the backport apparently breaks every package that depends on ffmpeg that isn't in backports
[00:11:55 CEST] <furq> which is another reason you should never run stable
[00:21:17 CEST] <johnjay> ah ok he's running backports yes
[00:32:58 CEST] <johnjay> he also called mmal "some broadcom thing" used by the rpi fork of chromium
[00:37:59 CEST] <furq> well yes it's the broadcom thing that lets you use hwdec on an rpi
[00:47:58 CEST] <johnjay> ah so many terms for hardware stuff. vaapi, vdpau, mmal, dri
[00:48:37 CEST] <johnjay> by the way i'm trying to get a book on image processing to learn more about it
[00:48:50 CEST] <johnjay> do you recommend the one by gonzalez?
[00:56:56 CEST] <fallensnow> Hello. Is there a way to output an encoding into another encoding within one instance of ffmpeg? Perhaps via -filter_complex?
[00:57:35 CEST] <BtbN> what?
[01:01:58 CEST] <furq> what a nice young man
[01:17:24 CEST] <kerio> yo dawg i heard u like encodings so we output an encoding into an encoding
[01:47:48 CEST] <johnjay> i'm trying to tell if MATE is very popular or not
[01:48:06 CEST] <johnjay> i guess any GTK gui will work in both Mate and Gnome3 though?
[01:56:52 CEST] <tezogmix> Hi all, what does this message mean and anything to avoid it: "[asf @ 000000000047a620] too long payload" my command was : "ffmpeg -i input.wmv -preset veryfast -crf 15 -c:a aac output.wmv" mediainfo says: "1 video stream = wmv2" + "1 audio steam = wma" - it seems to be converting but that asf payload message keeps appearing nonstop, using latest static build
[01:58:55 CEST] <tezogmix> showing ^^ "last message received 150-200 times"
[02:18:15 CEST] <fallensnow> BtbN: I'm trying to create screenshots of the output as it encodes.
[02:18:59 CEST] <fallensnow> Without having to finish the encode and put it back through another instance of ffmpeg to create screenshots.
[04:00:55 CEST] <M6HZ> Hello, I try to use the function "print()" in the "volume" expression
[04:03:00 CEST] <M6HZ> This one: ffmpeg -stream_loop -1 -i path/file -af volume=volume='print(10)' -c:a libopus -f ogg -
[04:03:06 CEST] <M6HZ> Seems to work fine
[04:04:59 CEST] <M6HZ> But this one:  ffmpeg -stream_loop -1 -i path/file -af volume=volume='print(10, 8)' -c:a libopus -f ogg -   doesn't
[04:05:30 CEST] <M6HZ> according to the man page:
[04:05:48 CEST] <M6HZ> print(t, l) Prints t with loglevel l
[04:06:55 CEST] <M6HZ> loglevel is a string or a number containing one of the following values: [...] fatal, 8 [...]
[04:07:26 CEST] <M6HZ> I have tried with both values: 8 and fatal
[04:08:17 CEST] <M6HZ> But I got those messages:
[04:08:45 CEST] <M6HZ> Press [q] to stop, [?] for help
[04:08:45 CEST] <M6HZ> [Parsed_volume_0 @ 0x55c76224f900] [Eval @ 0x7fffa7929690] Missing ')' or too many args in 'print(10'
[04:08:45 CEST] <M6HZ> [Parsed_volume_0 @ 0x55c76224f900] Error when evaluating the volume expression 'print(10'
[04:08:45 CEST] <M6HZ> [AVFilterGraph @ 0x55c762250140] Error initializing filter 'volume' with args 'volume=print(10'
[04:08:45 CEST] <M6HZ> Error reinitializing filters!
[04:08:46 CEST] <M6HZ> Failed to inject frame into filter network: Invalid argument
[04:08:48 CEST] <M6HZ> Error while processing the decoded data for stream #0:0
[04:08:50 CEST] <M6HZ> Conversion failed!
[04:09:07 CEST] <M6HZ> Do you know why ?
[04:09:14 CEST] <furq> firstly, don't paste that many lines into irc
[04:09:21 CEST] <furq> secondly, replace , with \,
[04:15:27 CEST] <M6HZ> furq, Thanks you ! )
[04:17:17 CEST] <M6HZ> furq, do I have to escape the , because of my shell ?
[04:19:28 CEST] <M6HZ> or is the reason is intrinsically linked with the operation of ffmpeg?
[04:36:51 CEST] <M6HZ> furq, ok I found the response in the man
[04:37:17 CEST] <M6HZ> > Notes on filtergraph escaping
[04:37:52 CEST] <M6HZ> "(note that in addition to the "\'" escaping special characters, also "," needs to be escaped)."
[06:12:22 CEST] <johnjay> hey furq when you said i could install debian directly on the pi
[06:12:38 CEST] <johnjay> you mean they release armhf images, or I need to generate the image myself once the new stable is released?
[06:40:48 CEST] <furq> didn't i already link the script
[09:42:34 CEST] <johnjay> oh yeah you did
[09:45:09 CEST] <johnjay> ah it's in the other browser
[09:45:16 CEST] <johnjay> i switched to epiphany since it's less of a memory hog
[09:47:09 CEST] <johnjay> is emdebian officially part of debian?
[09:48:36 CEST] <johnjay> although wait i can just add testing repo to my sources.list right?
[09:48:43 CEST] <johnjay> wouldn't that be faster?
[09:48:50 CEST] <johnjay> i guess it would still be raspbian though
[10:15:48 CEST] <johnjay> furq: i can't install the cross compile toolchain
[10:15:59 CEST] <johnjay> crossbuild-essential-armhf : Depends: g++-arm-linux-gnueabihf (>= 4.9.1-1) but it is not going to be installed
[11:59:51 CEST] <hendry> when I use ffmpeg on a MP4, to process it for the Web, I noticed massive space savings: https://natalian.org/2017/06/04/Ninety_percent_space_savings/
[12:00:13 CEST] <hendry> is it compression that provides the space savings ?
[12:00:57 CEST] <hendry> Or is it the codec? Or is it the drop in bit rate? tbh I can't really tell difference between original and transcoded
[12:01:06 CEST] <hendry> but i am keen to better understand what is happening
[12:02:12 CEST] <BtbN> your camera just uses an incredibly high bitrate, that's all.
[12:02:51 CEST] <hendry> going from a high to low bitrate... what is happening there? just throwing out crap? or some sort of compression?
[12:03:13 CEST] <BtbN> I'd guess the camera just has some crappy hardware encoder
[12:03:21 CEST] <BtbN> and to make it feasible, they throw bitrate at it
[12:04:52 CEST] <hendry> BtbN: ok, so in the process (what is this called?) it just sorts out the bitrate for what it should be without loss ?
[12:05:14 CEST] <BtbN> every re-encoding inevitably reduces the quality
[12:05:35 CEST] <BtbN> unless you do a lossless encode, but that's not going to happen with 3Mbps
[12:05:35 CEST] <hendry> ok, so always lossy, but tbh i can't see the difference at playback with my eyes
[12:06:02 CEST] <BtbN> 3Mbps is quite small for 1080p, you usually aim for 5-10
[12:06:08 CEST] <hendry> ok so the process is called "re-encoding" ... just want to get that out the way
[12:06:44 CEST] <hendry> ok 3037 kb/s is 3Mbps right
[12:07:06 CEST] <hendry> why didn't re-encode to 5-10 by default ?
[12:07:12 CEST] <BtbN> Because you told it to?
[12:08:37 CEST] <hendry> where did i say that? https://s.natalian.org/2017-06-04/htmlvideo.log
[12:08:46 CEST] <hendry> ffmpeg -y -i MVI_4827.MP4 -movflags +faststart -pix_fmt yuv420p -c:v libx264 -vprofile high444 -acodec aac -strict experimental 2017-06-03/MVI_4827.mp4
[12:09:01 CEST] <hendry> +faststart iiuc is to get Web video working i think
[12:11:05 CEST] <BtbN> it moved the moov atom to the front of the file, so it can be played faster, hence the name
[12:11:20 CEST] <BtbN> And you're not specifying a bitrate or quality, so the bad defaults will be used, you should change that.
[12:11:28 CEST] <BtbN> Also, high444 is not supported by a lot of browsers
[12:11:38 CEST] <BtbN> And -strict experimental is entirely unneccesary
[12:11:49 CEST] <BtbN> Unless you are using a very ancient version of ffmpeg.
[12:11:53 CEST] <BtbN> Which you should fix
[12:12:25 CEST] <dmko> this is more a shell question I guess, but I have a bunch of processing that ends up with a single line ffmpeg command. when I echo it out and enter it manually, it works.. but when I run it as is, it fails
[12:12:33 CEST] <dmko> any tips?
[12:15:44 CEST] <dmko> ok nm threw it all in an eval and now it works :D
[12:16:26 CEST] <hendry> BtbN: so what are good defaults? -b:v 5000k ?
[12:16:37 CEST] <hendry> BtbN: why does ffmpeg have bad defaults?
[12:18:10 CEST] <hendry> high444 seems to work on my iPhone & on my desktop Chrome nicely. What's a better default? high ?
[12:29:52 CEST] <furq> you're specifying -pix_fmt yuv420p and -profile high444
[12:30:08 CEST] <furq> idk which of those overrides which, but i assume you're getting 4:2:0
[12:30:45 CEST] <furq> maybe with an incorrect profile flag, but that probably doesn't really matter
[12:33:02 CEST] <hendry> oh that profile dictates pix_fmt?? i'd happily remove pix_fmt switch from my script to make things easier ..
[12:34:11 CEST] <furq> just remove the profile switch
[12:34:14 CEST] <furq> it's autodetected anyway
[12:36:27 CEST] <hendry> furq: auto-detected? surely you want your output to be a high profile from the camera source?
[12:42:43 CEST] <hendry> what's a good bitrate for 4k h264 video incidentally? 5-10 was mentioned for 1080p by BtbN
[12:43:02 CEST] <BtbN> 35-50
[12:43:11 CEST] <BtbN> depends on the content obviously
[12:43:17 CEST] <Baumfaust> hi
[12:43:24 CEST] <BtbN> if possible, you should set a constant quality, and not a constant bitrate
[12:44:28 CEST] <hendry> BtbN: yes, I understand variable bit rate is what happens right, depending on the scene etc etc
[12:44:33 CEST] <Baumfaust> i want to extrat every minute  a frame from a video, starting at minute 19:52
[12:44:35 CEST] <Baumfaust> ffmpeg -i dragon.mp4 -ss '00:19:52' -vf fps=1/60 img%03d.jpg
[12:44:39 CEST] <Baumfaust> why does this not work?
[12:44:53 CEST] <BtbN> well, if you set a constant bitrate, that's what x264 will do
[12:46:06 CEST] <hendry> Baumfaust: i use something like ffmpeg -ss 00:01:00 -i /tmp/scrubbar.mp4 -vsync vfr -vf fps=1/60 -s ${thWidth}x${thHeight} -f image2 -an -y "/tmp/%04d.jpg"
[12:47:04 CEST] <hendry> BtbN: how do express a "constant quality" ?
[12:47:24 CEST] <Baumfaust> hendry, ah -ss must be at front, it works now
[12:47:30 CEST] <hendry> BtbN: is it true what furq was saying, I don't need to specify a profile? I thought that was an important part of re-encoding
[12:47:30 CEST] <Baumfaust> but its veeeeery slow
[12:48:06 CEST] <hendry> Baumfaust: my scrubbar.mp4 is downscaled to make the process quicker iirc
[12:48:30 CEST] <Baumfaust> i will try
[12:49:09 CEST] <ChocolateArmpits> hendry, using -crf
[12:49:23 CEST] <BtbN> -qp
[12:49:32 CEST] <DHE> constant bitrate is more for streaming over the internet where there are bitrate constraints
[12:50:14 CEST] <furq> qp isn't constant quality
[12:53:14 CEST] <BtbN> it is, in theory even stricter than crf. But for real world crf is usually more convenient. But it's x264 specific
[12:54:49 CEST] <DHE> crf tries to aim for constant visual quality. you give a qp-like number, but high motion scenes tend to nudge it up.
[12:54:52 CEST] <furq> i mean i guess it is in practice
[12:55:08 CEST] <furq> but crf is specifically supposed to be constant perceived quality
[12:55:24 CEST] <BtbN> The visual quality of -crf 18 and -qp 18 should be roughly the same
[12:55:34 CEST] <furq> yeah, but one will be much bigger
[12:55:36 CEST] <BtbN> but the bitrate of crf might be lower
[12:55:55 CEST] <hendry> DHE: i don't quite understand that since no transfer is like a reliable 50 kb/s. Surely in practice you always want a video with a variable bitrate, to increase the chances of scenes looking decent,
[12:56:06 CEST] <furq> yes
[12:56:09 CEST] <furq> that's what both crf and qp do
[12:56:45 CEST] <furq> x264 doesn't even have a true cbr mode
[12:56:52 CEST] <furq> on account of it's basically useless
[12:57:27 CEST] <furq> i'm not sure i could even name a lossy codec that has a true cbr mode
[12:57:34 CEST] <furq> even cbr mp3s have the bit reservoir
[12:57:56 CEST] <BtbN> aac I guess
[12:58:06 CEST] <BtbN> pretty sure libfdk is strict cbr
[13:00:44 CEST] <hendry> i don't like the idea of twiddling the bit rate, when i just want good quality in fast scenese as well as fairly static scenes in videos.
[13:00:53 CEST] <furq> well then don't
[13:01:01 CEST] <furq> i didn't see anyone recommend doing that
[13:01:36 CEST] <hendry> furq: oops, might have got confused between cbr and crf
[13:02:32 CEST] <furq> just use -crf 20 -tune film -preset veryslow
[13:02:42 CEST] <furq> that's what i use for more or less everything
[13:05:01 CEST] <hendry> back to profile... i needn't set it for an output? really?
[13:05:07 CEST] <furq> no
[13:05:27 CEST] <BtbN> isn't the film tune for old film grain or something?
[13:05:29 CEST] <furq> unless your device doesn't support higher profiles
[13:05:45 CEST] <furq> profile is only really useful if you want to automatically disable features
[13:06:03 CEST] <furq> otherwise it'll just use whatever's required by your other encoding settings
[13:06:14 CEST] <hendry> furq: i thought of setting a higher profile as enabling cool features
[13:06:16 CEST] <furq> BtbN: it biases towards fine detail retention
[13:06:28 CEST] <furq> -tune grain does the same thing but more
[13:06:35 CEST] <hendry> furq: my devices seem to support high444 and i only care about my devices ;)
[13:06:45 CEST] <BtbN> you don't have a 444 input...
[13:07:07 CEST] <furq> well yeah that'll be autoselected if you use -pix_fmt yuv444p, and that will be autoselected if your input is yuv444p
[13:07:19 CEST] <furq> so again, it's best to just leave that alone unless you need to set it lower
[13:07:27 CEST] <hendry> BtbN: i see, so it's only useful for dropping down ? i.e. " disable features"?
[13:07:35 CEST] <furq> yeah
[13:08:10 CEST] <hendry> furq: i'm hoping to omit `-pix_fmt yuv420p` ... is that safe to do? https://github.com/kaihendry/recordmydesktop2.0/blob/master/htmlvideo#L38
[13:08:15 CEST] <furq> yeah
[13:08:19 CEST] <furq> like i said it'll just pick whatever your input is
[13:08:29 CEST] <furq> or yuv444p if your input is rgb, which it isn't
[13:09:20 CEST] <hendry> ok, updated https://github.com/kaihendry/recordmydesktop2.0/blob/master/htmlvideo#L36 ... hopefully this is all I need for my camera -> video re-encoding to the Web job
[13:09:37 CEST] <furq> if you do care about web compatibility then -pix_fmt yuv420p is probably a good idea
[13:09:45 CEST] <furq> not many browsers support anything else
[13:09:57 CEST] <furq> i'm not sure if any do for h264
[13:09:58 CEST] <DHE> or hardware players for that matter. like some DLNA players
[13:10:05 CEST] <furq> yeah and phones
[13:10:16 CEST] <furq> hardware decoding generally doesn't work for anything other than 4:2:0
[13:10:23 CEST] <furq> 8-bit 4:2:0, even
[13:11:03 CEST] <furq> if "record my desktop" means desktop capture then you'll want to make that configurable really
[13:11:19 CEST] <furq> things like small coloured text will turn to shit at 4:2:0
[13:15:39 CEST] <hendry> furq: been using -pix_fmt yuv420p for years without issue ...
[13:16:06 CEST] <hendry> ok, going to put -pix_fmt yuv420p back since I care primarily about the Web
[13:24:51 CEST] <furq> http://i.imgur.com/JebYP15.png
[13:24:57 CEST] <furq> that's 4:2:0 on the right, obviously
[16:34:12 CEST] <DHE> I opened a ticket for a (possible) bug, http://trac.ffmpeg.org/ticket/6426 , but wanted to confirm I am not misinterpreting the purpose of av_interleaved_write_frame (as opposed to av_write_frame)
[20:42:42 CEST] <Soni> how do I convert raw CDs into FLAC or something?
[20:49:55 CEST] <DHE> usually you use something else to rip it to wav or raw PCM first. then ffmpeg
[20:51:35 CEST] <kazuma_> your better off using other tools tbh soni
[20:51:51 CEST] <kazuma_> eac, with flac.exe as the external encoder
[20:52:40 CEST] <kazuma_> it will go out and get all the correct meta data for you and can fill in vorbis tags ect...
[20:58:03 CEST] <Soni> I'm on linux, and I have the raw PCMs
[20:58:21 CEST] <atomnuker> Soni: if you need to rip and encode you can use this I wrote: https://github.com/atomnuker/cyanrip
[22:02:09 CEST] <CptnOblivious> Hello. I'm trying to make gifs with a size less than 8mb. I'm using these lines in ffmpeg but I'm having trouble with the final size of the gifs. Changing the bitrate only changed the final gif size by ~200kb. Can anyone take a look and see what I'm missing. I have a feeling it's in the last line, perhaps I need to set bitrate there? https://pastebin.com/NiajcN42
[22:03:41 CEST] <furq> you might want to use a dedicated gif optimiser like gifsicle
[22:09:08 CEST] <CptnOblivious> Thanks furq I'll look into that. I'll see if I can find what gifscicle uses to optimize the gif
[22:09:13 CEST] <johnjay> furq: i have ffmpeg 3.2.4-1 now after upgrading to testing. plus mpv is accelerated
[22:22:03 CEST] <CptnOblivious> Hmm, after testing the final file is the same size as the original. If anyone else has any suggestions I'd appreciate it
[22:27:18 CEST] <kazuma_> out of curiosity, why did you call your ffmpeg variable %FFMPEG_EXE% instead of just %ffmpeg% ?
[22:34:54 CEST] <CptnOblivious> oh that's how the line was written. I found those lines in a tutorial.
[22:36:53 CEST] <johnjay> ^ this answers a lot of questions about why someone does something
[22:39:34 CEST] <CptnOblivious> Yeah I'm a computer noob, especially when it comes to things like this. From what I understand to achieve 8mb I have to change the bitrate but like I said the final size is only changing by 200kb. From about 9.6mb to 9.4mb. I'm also trying to get the fps higher to about 24 since 15 stutters alot on playback
[22:40:28 CEST] <BtbN> I don't think you can change the bitrate of a gif, other than via lowering the resolution
[22:40:42 CEST] <MrZeus> or the colour palette
[22:41:47 CEST] <CptnOblivious> Oh interesting. I was assuming it was pulling the same bitrate from the .mkv during conversion. I guess I can mess around with resolution to see how much that changes the size
[22:45:03 CEST] <CptnOblivious> That makes sense now. I thought I was missing something in the third line calling for a bitrate. Lowering the fps from 24 to 15 had a better change in side but I'd rather keep higher frames with hopefully a small reduction in resolution. Thanks for the info everyone
[22:45:15 CEST] <CptnOblivious> size*
[23:47:03 CEST] <kazuma_> hmm
[23:47:12 CEST] <kazuma_> ffmpeg has frozen during an encode
[23:47:25 CEST] <kazuma_> but in task manager it's still usin 80% cpu
[23:47:45 CEST] <kazuma_> any chance it will start running again, or should i restart it?
[23:47:53 CEST] <kazuma_> 40ish mins into a 3hour encode :Z
[00:00:00 CEST] --- Mon Jun  5 2017

More information about the Ffmpeg-devel-irc mailing list