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

burek burek021 at gmail.com
Wed Sep 27 03:05:01 EEST 2017

[00:00:04 CEST] Action: relaxed whispers xeon
[00:00:49 CEST] <furq> !filter crossfeed @thebombzen
[00:00:50 CEST] <nfobot> thebombzen: http://ffmpeg.org/ffmpeg-filters.html#crossfeed
[00:00:53 CEST] <furq> that got added recently
[00:01:14 CEST] <relaxed> a new bot!
[00:01:18 CEST] <furq> idk whether it's better than the others but i use it in mpv and it sounds better than nothing
[00:01:27 CEST] <furq> oh hey someone else did it
[00:01:44 CEST] <furq> could do with the windows/osx builds as well though
[00:02:26 CEST] <relaxed> who is fflogger's master?
[00:02:36 CEST] <furq> no idea
[00:02:44 CEST] <furq> nfobot is mine if it wasn't obvious from the fact that nobody else ever uses it
[00:04:24 CEST] <BytesBacon> If I go say with a pair of Intel Xeons, is there a way to limit the threads to one CPU and then another instance of ffmpeg on the 2nd CPU.
[00:04:54 CEST] <relaxed> BytesBacon: you probably only need one- https://www.intel.com/content/www/us/en/products/processors/xeon/e7-processors.html
[00:05:41 CEST] <BytesBacon> LOL I was thinking about going on ebay, but maybe I'll look at the newer ones.
[00:05:42 CEST] <furq> i would have thought those would be more expensive than a last-gen dual socket system
[00:05:45 CEST] <furq> yeah
[00:05:59 CEST] <furq> 2-3 generation old dual socket boards are usually quite cheap on ebay
[00:06:22 CEST] <furq> it really depends on your use case though
[00:11:15 CEST] <Johnjay> generation meaning intel gen?
[00:11:48 CEST] <Johnjay> nfobot: how do I add silence to an audio stream?
[01:41:47 CEST] <rjp421> anyone with a pi and pi-cam, and updated packages+kernel+ffmpeg-git:  can you please test piping raspivid to ffprobe or ffmpeg?  confirm whether or not ffmpeg crashes
[02:02:31 CEST] <blap> ultima ftw
[02:09:59 CEST] <Ultima> hmm?
[02:15:29 CEST] <blap> the games
[02:15:39 CEST] <thebombzen> furq: I use nfobot occasionally
[02:15:41 CEST] <blap> broke new ground
[02:15:49 CEST] <thebombzen> although I ususally call it furqbot
[02:17:46 CEST] <furq> please respect my brand
[04:21:55 CEST] <stunts513> im a bit lost. i just transcoded a live stream to an mp4 and apparently there were some hiccups along the way as i have a 2.3gb mp4 thats a little over 3 min long.
[04:22:14 CEST] <stunts513> it keeps trying to seek past that but has issues. any ideas?
[05:35:50 CEST] <koyglreg> Which produces better quality - mpeg2video vs x262?
[05:36:17 CEST] <koyglreg> I want a DVD-compatible MPEG file.
[06:29:26 CEST] <dystopia_> goto mpeg2 for dvd's koyglreg
[06:35:05 CEST] <linoobx> Has anyone here compiled FFmpeg for Windows before? I am new to Linux and trying to make a modified version of ffplay, but before I start making any changes to the code, I first want to see if I can just compile the default, unmodified code to build a working ffplay.exe.
[06:35:37 CEST] <linoobx> I have of course looked at:  https://trac.ffmpeg.org/wiki/CompilationGuide/CrossCompilingForWindows
[06:37:34 CEST] <linoobx> When googling, almost all "How-to's" are circa 2010, and out-dated instructions (e.g. using SDL-1.2, etc.)
[06:41:54 CEST] <linoobx> Even the aforementioned website was written in 2013.  I am trying to make a 64-bit build, and have run:  apt-get install libsdl2-dev  and  apt=get install mingw-w64
[06:43:34 CEST] <linoobx> Based off the aforementioned website, and  https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu   I set:    PATH="/home/jeff/code/bin:$PATH" PKG_CONFIG_PATH="/home/jeff/code/ffmpeg_build/lib/pkgconfig"
[06:43:54 CEST] <linoobx> then  used:      ./configure prefix="/home/jeff/code/ffmpeg_build" --disable-d3d11va --disable-dxva2 --arch=x86_64 --enable-shared --disable-static --enable-cross-compile --disable-network --disable-postproc --enable-asm --disable-encoders --disable-libopenjpeg --disable-iconv --disable-zlib --disable-bzlib --disable-doc --disable-ffprobe --disable-ffmpeg --disable-ffserver --pkg-config=pkg-config --pkg-config-flags="--static" --extra-cflags="-I/
[06:43:57 CEST] <linoobx> home/jeff/code/ffmpeg_build/include" --extra-ldflags="-L/home/jeff/code/ffmpeg_build/lib" --bindir="/home/jeff/code/bin" --target-os=mingw64
[06:46:00 CEST] <linoobx> However, when looking at the ./configure output, it does not show sdl2 under "outdevs:", and therefore, also does not show ffplay under "programs:"
[06:48:07 CEST] <linoobx> apt-mark showinstall gcc-mingw-w64-x86-64  shows that it is installed, but when I add  --cc=gcc-mingw-w64-x86-64  to ./configure, it fails.
[06:54:33 CEST] <linoobx> Anyone know how to get this to work, or what I am missing?
[07:00:26 CEST] <linuxnoob> Also, could anyone explain why something more recent like this:    https://kimathir.wordpress.com/2016/10/12/ffmpeg-cross-compile-2016/     is using SDL-1.2 ??
[07:06:56 CEST] <linuxnoob> Is there any benefit to using SDL-2 over SDL-1.2 ?
[07:11:16 CEST] <c3r1c3-Win> linuxnoob: 1. Have you tried asking Kimathir?
[07:11:28 CEST] <c3r1c3-Win> 2. Have you looked at the SDL docs?
[07:16:43 CEST] <linoobx> 1. No I have not.  Who is Kimathir? How do I get in touch with them?
[07:17:46 CEST] <linoobx> 2. Only at the SDL2 docs (I had made a simple image viewer with SDL2 to experiment with it.).
[07:22:49 CEST] <linoobx> Does anyone know how to execute a "script"? Such as this:  https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=41&t=5036&sid=3433b674825812902695fc52bd47a097         (Second link)
[07:29:36 CEST] <xacktm> it looks like any other bash script
[07:29:52 CEST] <linoobx> ah
[07:31:22 CEST] <linoobx> <--- still doesn't even know what the difference between the "terminal" command prompt and "bash" is. I know it is Bourne-Again-Shell, after the name of the creatore of the first shell
[07:31:42 CEST] <linoobx> But that's about it
[07:31:45 CEST] <tdr> linoobx, explain what you mean between the two
[07:32:05 CEST] <linoobx> which two?
[07:32:20 CEST] <linoobx> Sorry, about the shells? or the scripts?
[07:32:28 CEST] <tdr> linoobx, bash is a shell you can run on a console (text mode) VT or over ssh or on a gui shell that displays a prompt
[07:33:35 CEST] <tdr> linoobx, on a desktop, the "shell windows" are essentially the same as a command line only box shell, except behind the scene, the gui ones are pseudo-terminals (a ptty) vs a true terminal (tty)
[07:34:40 CEST] <tdr> linoobx, pseudo since they are run through X and whatnot, they are not directory on control-alt-f1 c-a-f2 etc
[07:34:52 CEST] <tdr> directly
[07:38:59 CEST] <linoobx> hmm. I feel extreemly ignorant right now.
[07:39:36 CEST] <tdr> linoobx, for most folks, there is very minimal or no differance between if you open a shell on your desktop vs on command line login.
[07:41:37 CEST] <linoobx> ah.. Okay. I was just doing what I saw someone do in a YouTube video of how to setup Debian 9 on VMWare.  (He clicked "Activities" in the topleft and then typed "terminal" into the search box. I've Just been using that).
[07:42:29 CEST] <tdr> linoobx, to run a script, you'd either call it directly ./scriptname   or if it's not marked executable you'd need say to execute it with a shell:  bash ./scriptname
[07:42:58 CEST] <linoobx> I presume then that I've been using a GUI shell.
[07:43:10 CEST] <linoobx> ah ok
[07:43:13 CEST] <tdr> linoobx, ok thats just one specific graphical terminal he's launching on his desktop.  any other terminal would work too
[07:44:05 CEST] <tdr> xterm, konsole, terminator, aterm, eterm, .... there are a billion different "terminals" ... one specific one is called "terminal"
[07:44:19 CEST] <linoobx> ah..
[07:45:19 CEST] <linoobx> Yeah, I noticed that when I typed in terminal, Konsol, Qterminal, Qterminal Drop Down,  also show up. Was wondering what the difference was.
[07:45:31 CEST] <tdr> that search block the video used is just like using the "run" line on windows or using spotlight on mac to locate "terminal"
[07:46:16 CEST] <linoobx> bash ./scriptname is what the person did on this website I was looking at:      https://kimathir.wordpress.com/2016/10/12/cross-compile-ffmpeg-for-windows-ubuntu-16-04/        ( 8th line down in the grey area)
[07:46:20 CEST] <tdr> any shell window would work (well any you likely have)
[07:47:07 CEST] <linoobx> However I was hesitant to execute that b/c on the line above he says you should do:   chmod 755 ./mingw-w64-build-3.6.7
[07:47:13 CEST] <tdr> the correct way to do it would be to make the file executable and at the top of the script, specify which shell it's supposed to run with. (shebang magic ... like #!/bin/bash)
[07:48:09 CEST] <tdr> yes, that would make it executable, then you can run it using your default shell (probably bash) using its path ./scriptname  (./ means "this directory")
[07:48:57 CEST] <linoobx> After typing in:  man chmod    and not really understanding what 755 is, I decided against it.  I mean man chmod does say something about 3 octadecimal digits, but the values only go as high as 4 for the options available.
[07:49:47 CEST] <tdr> basic unix permissions, one per digit.  7 is read/write/execute, 5 is read + execute.    3 digits:  owner, group, world
[07:51:01 CEST] <linoobx> ah...
[07:51:02 CEST] <tdr> octals since they are "base 8" digits vs base 10 where 9+1 = 10 so the 1 rolls over.
[07:51:12 CEST] <linoobx> yeah
[07:51:25 CEST] <linoobx> since you count from 0
[07:51:36 CEST] <tdr> the #s add.  1 = execute, 4 = read, 2 = write.
[07:51:42 CEST] <linoobx> I see, but it was the summation of the codes
[07:51:43 CEST] <tdr> 0 = no permission
[07:52:07 CEST] <tdr> ok, but they add "per place"  ... there is no "roll over to the next column" really
[07:52:25 CEST] <linoobx> yeah
[07:52:25 CEST] <tdr> so first digit 7  is   1+2+4
[07:52:38 CEST] <tdr> 5 = 4+1 for read/execute
[07:52:41 CEST] <linoobx> so 1 + 4 + 2 =7, hence the 7 in "755" that he used.
[07:52:49 CEST] <linoobx> I see.
[07:52:54 CEST] <tdr> for basic permissions yeah thats how it works.
[07:56:00 CEST] <linoobx> I'm still confused as to whether I should even use his instructions though, since the Zeranoe script he says to use is not the latest, one of the links he gives is dead  ( https://github.com/rdp/ffmpeg-windows-build-helpers/blob/master/patches/mingw-w64-build-3.6.7.local )  Although, if you go to https://github.com/rdp/ffmpeg-windows-build-helpers/tree/master/patches  there is  " 	mingw-w64-build-r22.local"  ,    And... he uses SDL-1.2,   even th
[07:56:02 CEST] <linoobx> ough I had read repeatedly on forums people telling others that they were having problems because they were using old instructions and needed to upgrade to SDL-2.
[07:56:58 CEST] <tdr> ok see which sdl version you have and use the script that matches
[07:57:34 CEST] <linoobx> well, from following some other instructions else where I had done,  apt-get install libsdl2-dev
[07:57:53 CEST] <tdr> the sdl version may effect how any gui part looks etc, it shouldnt change how it operates tho
[07:58:22 CEST] <linoobx> oh really?
[07:58:40 CEST] <tdr> yeah its just different versions of the toolkit
[07:59:08 CEST] <linoobx> hmm.. I thought a new version would have been warrented b/c of major changes. I guess there is nothing to worry about there then.
[07:59:20 CEST] <tdr> so if it makes a gui, it may look slightly different and the "guts" may make different calls but those you shouldnt even notice
[08:00:26 CEST] <linoobx> Ah, OK.
[08:01:17 CEST] <tdr> my system i have both, sdl2 is newer but i cant tell you if there were any gaping holes for the old one
[08:03:04 CEST] <linoobx> I know that when I ran    apt-mark showinstall libsdl2-2.0-0   it showed up  (I had removed libsdl2-dev)  and then tried to do ./configure on ffmpeg  and it failed
[08:03:31 CEST] <linoobx> then i put libsdl2-dev back on, and it worked   (but then during  make  something crashed)
[08:03:41 CEST] <tdr> if you're linking against it you'll want the -dev back yeah
[08:04:25 CEST] <linoobx> Or, I should say, something crashed, hence I tried ./configure w/o libsdl2-div.
[08:04:33 CEST] <linoobx> dev*
[08:05:13 CEST] <tdr> if you dont want sdl support, you can prob just disable it with a switch.  ./configure --help
[08:06:38 CEST] <linoobx> Well, my main goal is to build my own version of ffplay (mess around with the keyboard commands to control the video) but to compile ffplay, you need SDL.
[08:07:33 CEST] <dan2wik> Is there a way to read a jsmpeg stream?
[08:08:48 CEST] <tdr> linoobx, the -dev package is going to have the headers that will teach it how to speak or call sdl things
[08:10:57 CEST] <linoobx> Hmm... makes me wonder what the regular (non-dev) package would be for then... just to provide a .sh (or .dll in Windows-speak) ?
[08:11:40 CEST] <tdr> linoobx, the non-dev package is the tools, the -dev package is like the decoder that teaches it the correct way to call the tools
[08:13:43 CEST] <tdr> so the header may tell it the correct # of parameters to use, what order, what types of variables for each etc when it says "draw a line"
[08:14:55 CEST] <linoobx> Ah, I see.
[08:16:37 CEST] <tdr> so you need the headers when you build, it has all the syntax etc
[08:18:29 CEST] <linoobx> Just wondering, but things like zlib or vicon would not be needed to play back video (for ffplay), correct?
[08:20:25 CEST] <tdr> linoobx, if your build system has those and if you're building static, it should bundle everything you need ... how/what/if depends on how thorough the build script is youre using
[08:21:22 CEST] <tdr> otherwise yeah you can use your headers to build but you'd need the runtime libs on the system you execute it on
[08:22:31 CEST] <linoobx> Ah, I had been trying to compile before using MSYS2  using settings such as:  --disable-encoders --disable-libopenjpeg --disable-iconv --disable-zlib --disable-bzlib
[08:23:48 CEST] <tdr> linoobx, if you turn those all off, your end product is going to be pretty limited
[08:26:57 CEST] <linoobux> Connection died...
[08:28:16 CEST] <linoobux> Seems "linoobx" is still registered though.
[08:28:25 CEST] <tdr> it just quit
[08:28:35 CEST] <linoobx> Ah. There we go
[08:29:10 CEST] <linoobx> As I'd been saying, I had been trying to compile before using MSYS2  using settings such as:  --disable-encoders --disable-libopenjpeg --disable-iconv --disable-zlib --disable-bzlib
[08:29:26 CEST] <linoobx> My plan was to continue to use such settings, since my interest is still only in building ffplay.
[08:30:12 CEST] <JEEB> a few weeks ago disable-autodetect was added if that's why you're setting diasable openjpeg etc
[08:30:47 CEST] <linoobx> I assume there shouldn't be any issues with ffplay being built with such settings, correct?
[08:32:12 CEST] <JEEB> also zlib I *think* might have been used for the header compression stuff in matroska?
[08:32:26 CEST] <linoobx> I had set --disable-libopenjpeg since I saw someone else do that.
[08:32:55 CEST] <linoobx> As with the others.
[08:33:18 CEST] <JEEB> it's an external library so if you don't have it installed it doesn't matter. but as I noted, just use disable-autodetect to minimize automatically added deps
[08:33:47 CEST] <JEEB> then you can just set disable-encoders if you want
[08:34:51 CEST] <linoobx> ah... Okay, I hadn't seen that setting
[08:35:15 CEST] <JEEB> of course you then probably have to manually add sdl
[08:35:23 CEST] <JEEB> with enable-sdl
[08:35:44 CEST] <JEEB> but hey, that is explicitly configuring what you want or do not want :p
[08:35:57 CEST] <linoobx> ah yeah, good point
[08:37:24 CEST] <linoobx> I assume ffplay also would not need postproc or network ?
[08:44:58 CEST] <JEEB> postprpc probably not, network is required for network protocols of course
[08:45:21 CEST] <JEEB> of course if you want an actual player I would recommend mpv
[08:45:32 CEST] <JEEB> since ffplay is just a PoC
[08:45:40 CEST] <linoobx> PoC?
[08:45:52 CEST] <JEEB> proof of concept
[08:45:57 CEST] <linoobx> ah
[08:46:36 CEST] <linoobx> Well it was very simplistic, has no interface, making it very similar to a program I had made using Python and pygame (which uses SDL)
[08:47:20 CEST] <linoobx> But my little program sufferes from severe performance issues (at start-up) so I decided to make a C/C++ version
[08:49:03 CEST] <JEEB> mpv and libmpv are an actual minmalistic embeddable player
[08:49:24 CEST] <linoobx> And being able to seek quickly in a video is a "mission-critical" criterion of my program (which was using vlc.dll or some-such, one of FFmpeg's strong points
[08:49:51 CEST] <linoobx> hmm
[08:50:03 CEST] <linoobx> yes, i had tried downloading the source for mpv
[08:50:36 CEST] <JEEB> so if (lib)mpv's license is ok for your use case I would recommend it instead of ffplay
[08:51:27 CEST] <linoobx> but found it just as confusing, and after 2 weeks or more of messing around with MSYS2, I gave up and installed VMWare with Debian 9, and now am trying to learn the-one-and-the-way with Linux.
[08:52:11 CEST] <linoobx> So far it isn't turning out to be as dead simple as I thought it would be.
[08:52:30 CEST] <tdr> linoobx, your end-goal is making windows binaries using linux tho?
[08:52:39 CEST] <linoobx> (The process of compiling the program I mean, not learning Linux)
[08:52:59 CEST] <linoobx> Learning something is always going to take time... usually.
[08:53:06 CEST] <linoobx> Yeah, correct tdr.
[08:54:16 CEST] <linoobx> (Also thinking of applying to a job that has knowing Linux as "a plus")
[08:54:32 CEST] <bencoh> s/a plus/a must/
[08:54:34 CEST] <linoobx> So this endavor is two-fold..
[08:54:48 CEST] <linoobx> s/a?
[08:57:16 CEST] <linoobx> Also teaching myself C/C++ for the past 2 weeks or so.... made the stupid assumption that if I downloaded the FFmpeg-snapshot, unzipped it into a folder then used Code::Blocks to open up  "ffplay.c" and hit F9 to "build and run"  that it would give me my "ffplay.exe"
[08:57:43 CEST] <linoobx> Needless to say.... it did not. :)
[08:59:20 CEST] <linoobx> Nor after messing with the files for several days in both Code::Blocks and MSVC.  Turns out FFmpeg is not as simple a program as that.
[09:14:27 CEST] <JEEB> linoobx: visual studio is the only thing where that is a thing :P (click button, receive build) - but on the other hand the procedure of "Configure" is completely out of scope of that build system
[09:15:50 CEST] <linoobx> Hmm, good point, come to think of it, there is no equivalent to ./configure in  VS.
[09:17:18 CEST] <linoobx> And I couldn't understand why there needed to be a configure script.
[09:17:26 CEST] <Mavrik> ffmpeg should migrate to cmake! ;P
[09:18:56 CEST] <linoobx> But considering it, the precessence/abscence of ./configure sort of underscores the fundamental differences between Unix/Unix-like and Non-Unix-like (MS and Apple)
[09:25:33 CEST] <JEEB> linoobx: well as far as I'm concerned out of mobile space apple uses these same paradigms as well
[09:25:57 CEST] <JEEB> anyways, you can call configure from within an IDE, I've once done it myself with Qt Creator to see how it worked with C code :P
[09:26:03 CEST] <JEEB> (not FFmpeg but a smaller thing)
[09:26:20 CEST] <JEEB> and as long as you can integrate that build system into the IDE's thing the world's your oyster
[09:35:00 CEST] <stunts513> im a bit lost. i just transcoded a live stream to an mp4 and apparently there were some hiccups along the way as i have a 2.3gb mp4 thats a little over 3 min long.
[09:35:08 CEST] <stunts513> it keeps trying to seek past that but has issues. any ideas?
[09:37:08 CEST] <linoobx> <--- never used Apple computers/mobile devices, so I'll have to take your word for it.
[09:40:03 CEST] <linoobx> Hmm.. well, a Windows machine running Code::Blocks with the search directories set to a path with the FFmpeg snapshot unzipped in it certainly does not give you the ability to execute a configure script.
[09:40:23 CEST] <linoobx> I've learned that much.
[11:10:48 CEST] <Nacht> hmmm. i have a feeling my itsoffset options isn't doing anything :/
[11:10:59 CEST] <Nacht> ffmpeg -itsoffset 10.0 -i total.ts -i total.ts -c copy -map 0:1 -map 1:0 -y -hide_banner -f mp4 offset.mp4
[11:11:14 CEST] <Nacht> I put it to an extreme number (10), and it's still the same video
[11:18:24 CEST] <Wodjin> Hello everyone, can someone help me with an ffmpeg filtering question?
[11:22:04 CEST] <Nacht> Wodjin: Just ask away
[11:22:24 CEST] <Wodjin> allrighty :)
[11:23:11 CEST] <Wodjin> So, basically im just trying to fade a text in and out (the text has a background), at the moment, what i have is this:
[11:23:32 CEST] <Wodjin> drawtext=fontfile=HelveticaNeue.ttf:text='Testing': fontcolor=white: fontsize=40: box=1: boxcolor=black at 0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2[subtitles];
[11:23:52 CEST] <Wodjin> -- This draws the text exacly as I want it, inside a complex filter, after this i do this: --
[11:24:08 CEST] <Wodjin> [subtitles][0:v] blend=all_expr='A*(if(between(T,1,2),(T-1),0))+B*(1-(if(between(T,1,2),(T-1),0)))'[out]
[11:24:43 CEST] <Wodjin> this blend expression correcly fades the text and its background, with a fade duration of 1sec that starts on the 1st second of the video and ends on the 2nd second
[11:25:19 CEST] <Wodjin> but now i'm stuck trying to fade the text out, because if I mess with the numbers on that blend expression above the results are not quite what is expected
[11:26:31 CEST] <Wodjin> I've tried adding another copy drawtext and doing a simple fade out on that one but I didn't have any success
[11:37:50 CEST] <Wodjin> I have also tried something a bit more simple on the fade side, with:
[11:37:51 CEST] <Wodjin> [subtitles]fade=t=in:st=2:d=1,fade=t=out:st=3:d=1[out]
[11:38:07 CEST] <Wodjin> but it also doesnt work because this fades the entire video and not only the subtitles part
[13:20:45 CEST] <Wodjin> https://stackoverflow.com/questions/46423715/ffmpeg-fading-text-with-background >> Question about ffmpeg advanced filters if someone wants to have a look and eventually help me out :)
[16:58:40 CEST] <pgorley> hi, since AVIOContext->buffer is freed and malloc'd many times by FFmpeg internally, why does it need to be malloc'd and freed by the user? couldn't FFmpeg take care of that?
[18:44:02 CEST] <chuckleplant_> Hi, here's a question I could not get an answer to in chat or mailing list, I've put up a SO bounty if anyone's interested: https://stackoverflow.com/questions/46358285/pts-not-set-after-decoding-h264-rtsp-stream/
[19:13:34 CEST] <braininabat> hello, I'm trying to get an mp4 file getting video from a webcam and audio from a mic through Jack audio. While running ffmpeg everything seems to go well and I get the output file. When watching the file it seems fine, audio and video synced, but after 30 seconds on avg I get 10-15 seconds of distorted audio and while that happens I get to hear double playback of sound, like echoed. After that audio goes back to normal but then 
[19:13:38 CEST] <braininabat> I have tried several combinations of audio and video codecs, on different containers, but the problem persists. It may be a problem with the input but I can't see anything wrong with it and I can't see any warning message from ffmpeg. Is there anything I am missing or should consider?
[19:40:02 CEST] <thebombzen> trying recording just audio and see what happens
[20:08:17 CEST] <braininabat> thebombzen I had tested only audio and seemed like it didn't happen. I just tested it again several times and now it keeps happening even when having only audio as input and encoding it to mp3.... so I may think that it is an only audio problem?
[20:09:41 CEST] <thebombzen> what happens if you don't encode it lossily and just save it as a flac or something?
[20:10:06 CEST] <thebombzen> also, try playing it back with ffplay
[20:10:12 CEST] <thebombzen> this can help diagnose if it's a mic problem
[20:10:42 CEST] <thebombzen> but first, try saving it as a WAV or a FLAC just to see if it's an issue with the mp3 encoder or with the capture itself
[20:11:13 CEST] <thebombzen> er, never mind, I just read your thing again
[20:12:12 CEST] <thebombzen> try using ffplay though to play it back rather than ffmpeg, and see if the issue exists in realtime
[20:29:07 CEST] <braininabat> thebombzen, it does not happen in realtime, while I am recording I am always hearing my voice through headphones and it is always clear and in good quality.
[20:45:08 CEST] <jnollette> hey guys, anyone have any good ffmpeg scripts???? curious about compressing my entire collection into h265, and wanted to automate some things
[20:45:50 CEST] <jnollette> I've written a recursive script, that basically works, but you still need to flag the output size and quality
[20:46:10 CEST] <dystopia_> you can do it with a for loop
[20:47:17 CEST] <jnollette> im using find, grep, and a loop so far.... just wondering if there any any tips for scaling output size depending on input
[20:47:39 CEST] <jnollette> "if 1920 wide, 300kbp/s"
[20:47:51 CEST] <dystopia_> i never set a bitrate
[20:48:08 CEST] <dystopia_> just leave it to it's deafults
[20:49:58 CEST] <dystopia_> ffmpeg -i in.ext -vf crop=width:height:left:top -vcodec libx265 -acodec copy out.mkv
[20:50:12 CEST] <dystopia_> i don't think force setting a bitrate per resolution is a good idea anyway
[20:50:35 CEST] <dystopia_> it would be better to set it per content type, high motion stuff vs low motion stuff
[20:50:46 CEST] <dystopia_> but probably better to just leave it to it's defaults
[20:51:24 CEST] <redrabbit> compressing my entire collection into h265, >>> how's that remotely worth your time
[20:51:31 CEST] <redrabbit> just get a bigger disk
[20:52:40 CEST] <redrabbit> and id use CRF quality settings
[20:52:44 CEST] <moniker-> hello
[20:52:59 CEST] <kepstin> defaults with libx264 and libx265 are crf, iirc
[20:53:39 CEST] <moniker-> i have somewhat peculiar issue that i just want to get more understanding is it normal, or not, perhaps bug, etc, it's not directly connected to ffmpeg but to gpu
[20:54:56 CEST] <jnollette> redrabbit - im compressing a lot of clips down, like half the size, or sometimes less if I reduce from 1080 > 480 for archive
[20:54:57 CEST] <moniker-> i have amd r7 260x gpu with 1 gb video ram, and i'm wondering dxva accelerated videos (lets say h264) do they have limit in resolution/framerate and is it approximately known?
[20:55:29 CEST] <redrabbit> i dont see the point tbh
[20:55:52 CEST] <jnollette> fair enough
[20:56:18 CEST] <moniker-> what happens is that i play any stream on twitch.tv, 1080p60 and it plays fine at 60 fps, but if i play one more 1080p60 then the most i can get is other stream to play at 15-20 fps, which then leads me to conclude that gpu can't hw decode more than lets say 80-90 fps 1080p resolution?
[20:56:20 CEST] <dystopia_> i would want 1080p for the archive heh
[20:56:24 CEST] <moniker-> is that normal?
[20:56:29 CEST] <redrabbit> dystopia_: same
[20:56:54 CEST] <thebombzen_> moniker-: hardware decoding is fairly slow for H.264
[20:57:02 CEST] <thebombzen_> you should just decode one in software
[20:57:11 CEST] <redrabbit> spending lots of time for inferior quality.. :(
[20:57:25 CEST] <moniker-> so would you say it is normal to only be able to achieve hw accelerated decoding for one video and that's it?
[20:57:29 CEST] <thebombzen_> the only reason you'd want hardware decoding for H.264 is if you're already using your cpu for something really intensive
[20:57:36 CEST] <moniker-> one 1080p60 that is
[20:57:49 CEST] <thebombzen_> yes, 60-80 fps is not a surprise
[20:57:57 CEST] <thebombzen_> hardware decoding isn't usually worth it for H.264
[20:58:12 CEST] <redrabbit> depends
[20:58:30 CEST] <moniker-> because what happens is that most browsers, chrome, firefox have hw accelerated video decoding, so i essentially can't open two streams on twitch because everything begins to stutter and crawl
[20:58:37 CEST] <redrabbit> for playback i always prefer HW decoding
[20:58:55 CEST] <redrabbit> maybe its card related
[20:59:05 CEST] <redrabbit> my 1060 can play lots at the same time
[20:59:10 CEST] <moniker-> the only way around is to either disable hw decoding in browser for videos, or to stream to a video player application via livestreamer that will decode in software
[20:59:41 CEST] <moniker-> redrabbit can you test by opening two twitch streams and 1080p60 at the same time in browser and making sure they are hw accelerated?
[20:59:44 CEST] <moniker-> please
[21:00:19 CEST] <moniker-> oh you were referring to card nvdia 1060
[21:00:30 CEST] <moniker-> ye that is much stronger gpu i wouldnt be surprised
[21:01:30 CEST] <redrabbit> looks like FF uses cpu on twitch
[21:01:35 CEST] <redrabbit> 20% cpu with two streams
[21:01:38 CEST] <moniker-> are you on linux?
[21:01:42 CEST] <redrabbit> windows
[21:01:50 CEST] <moniker-> it should use hw decoding on twitch
[21:01:56 CEST] <moniker-> on windows
[21:01:59 CEST] <redrabbit> idk. works smooth anyways
[21:02:01 CEST] <moniker-> which version?
[21:02:22 CEST] <moniker-> it's smooth if it's on cpu, even for me
[21:02:29 CEST] <redrabbit> 55.0.3
[21:02:29 CEST] <moniker-> only when hw accelerated it stutters
[21:03:10 CEST] <thebombzen_> moniker-: also what's your internet download speed? are you sure you're not stuttering because you can't download 2 streams at once?
[21:03:15 CEST] <moniker-> can you make sure that in about:config media.hardware-video-decoding.enabled;true
[21:03:28 CEST] <thebombzen_> twitch recently upped their bitrate so it's no longer capped at 3.5 Mbps
[21:03:48 CEST] <redrabbit> moniker-: it is true
[21:03:48 CEST] <moniker-> it's not internet then it would be buffering not stuttering whole browser and slowing down, my down speed is 120mbit
[21:03:53 CEST] <moniker-> weird
[21:04:05 CEST] <redrabbit> so.. works i guess
[21:04:11 CEST] <moniker-> but you say 20% cpu
[21:04:19 CEST] <redrabbit> well. yeah
[21:04:30 CEST] <redrabbit> media.hardware-video-decoding.enabled >  true
[21:04:40 CEST] <redrabbit> anyways
[21:04:40 CEST] <moniker-> redrabbit can you duplicate tab for one more stream
[21:04:52 CEST] <moniker-> and then duplicate again till you reach a point of slowdown?
[21:05:00 CEST] <redrabbit> nope sorry
[21:05:01 CEST] <redrabbit> :p
[21:05:15 CEST] <moniker-> why not it is easy fast test
[21:05:20 CEST] <thebombzen_> moniker-: just enable software decoding
[21:05:25 CEST] <thebombzen_> that should fix it
[21:05:41 CEST] <iive> moniker-: what kind of hardware acceleration do you mean. aka video acceleration, or browser composotition?
[21:05:41 CEST] <moniker-> ye but that's not the point, the point is i would like to have 2 streams in hw decoding
[21:05:49 CEST] <moniker-> unless i have confirmation that my gpu can't do it
[21:05:58 CEST] <thebombzen_> I am telling you your gpu can't do it
[21:06:02 CEST] <moniker-> but it's so hard to get that confirmation
[21:06:05 CEST] <thebombzen_> the recommendation here is to usually leave hardware decoding off for H.264
[21:06:38 CEST] <iive> moniker-: have you tried hw-video decoding with mpv ?
[21:06:42 CEST] <thebombzen_> [14:57:57] <thebombzen_> hardware decoding isn't usually worth it for H.264
[21:06:42 CEST] <moniker-> do you have insight in how gpu h264 scales between gpus of different generation thebombzen?
[21:06:54 CEST] <thebombzen_> "newer = better" what do you want me to say
[21:06:54 CEST] <moniker-> gpu h264 decoding
[21:07:03 CEST] <moniker-> ye but that's not true insight
[21:07:05 CEST] <moniker-> even i know that
[21:07:15 CEST] <moniker-> that doesn't tell me anything about how facts really are
[21:07:53 CEST] <iive> hw-video decoding uses dedicated silicon in the gpu, not the general shaders
[21:08:08 CEST] <moniker-> there must be some kind of test that determines gpu is capable of x amount of streams at 1080p60
[21:08:22 CEST] <iive> moniker-: try with `mpv`
[21:08:39 CEST] <iive> aka, dedicated video player
[21:09:06 CEST] <moniker-> for example when i read specs for my r7 260x chip i think ive read spec that it can use amd VCE encoding up to oh i dunno like 7-8 streams at the same time
[21:09:19 CEST] <dystopia_> my question is why do you want to stream 2 things at once
[21:09:28 CEST] <dystopia_> when you can only watch 1 thing at once
[21:09:30 CEST] <moniker-> iive i'm using potplayer, is it much different?
[21:09:43 CEST] <iive> never heard of potplayer
[21:09:46 CEST] <iive> are you on linux?
[21:09:50 CEST] <moniker-> nope windows
[21:09:50 CEST] <JEEB> it's yet another DShow player
[21:09:58 CEST] <JEEB> mpv I can recommend if you like minmalism
[21:10:01 CEST] <JEEB> the windows support is <3
[21:10:16 CEST] <moniker-> and what would using mpv reveal to me?
[21:10:26 CEST] <JEEB> dunno, just noted it's good :P
[21:10:32 CEST] <moniker-> oh ok, i'll try it
[21:10:41 CEST] <moniker-> i thought there was some test i could perform
[21:10:43 CEST] <JEEB> anyways, even if your hw supports X streams you can't really know without testing
[21:10:47 CEST] <JEEB> as in, for encoding
[21:10:59 CEST] <JEEB> if you want to test decoding then mpv with --hwdec=dxva2
[21:11:02 CEST] <moniker-> ye but i can probably test that
[21:11:14 CEST] <moniker-> except i already read that in specs somewhere
[21:11:31 CEST] <moniker-> while i cant read anywhere in any spec about video decoding capability
[21:11:32 CEST] <iive> mpv is best at vdpau, but that's linux api, that works on nvidia and radeon
[21:11:33 CEST] <JEEB> yea, but you always need to double-check IMHO. as in, does it just stop you from accessing it more
[21:11:45 CEST] <JEEB> mpv's DXVA2 support through FFmpeg is pretty good
[21:11:48 CEST] <JEEB> I'm using it for HEVC
[21:11:50 CEST] <JEEB> because swdec sucks
[21:12:14 CEST] <moniker-> potplayer uses ffmpeg to decode almost all videos
[21:12:59 CEST] <moniker-> this is how setting for dxva acceleration looks like in potplayer https://i.imgur.com/2qXkuf4.png
[21:13:06 CEST] <JEEB> moniker-: one of the mpv maintainers does windows builds of mpv btw https://mpv.srsfckn.biz/
[21:13:14 CEST] <JEEB> (lachs0r @ #mpv)
[21:13:59 CEST] <JEEB> anyways, no other way of testing dxva2 decoding other than opening more and more of them and seeing when you either get a crash or just "doesn't play" :)
[21:14:09 CEST] <moniker-> and same thing happens in potplayer as it happens in browsers, just to a slightly less degree, can't play 2 twitch streams 1080p60 without slowdown
[21:14:10 CEST] <JEEB> (or you "just" get slow-down
[21:14:25 CEST] <moniker-> with hw acceleration, with software it's fine ofc
[21:14:47 CEST] <moniker-> JEEB i suspected that to be the case
[21:14:58 CEST] <JEEB> well, give two mpvs a try with youtube-dl so you can feed it the twitch url. then you get three results that are similar
[21:15:00 CEST] <moniker-> but i don't have another gpus to test for comparisons
[21:15:12 CEST] <JEEB> --hwdec=dxva2 or --hwdec=dxva2-copy
[21:15:34 CEST] <moniker-> have you got a windows download link for  mpv?
[21:15:38 CEST] <JEEB> I just linked it :)
[21:15:44 CEST] <moniker-> oops missed it soz
[21:15:44 CEST] <JEEB> "one of the mpv maintainers..."
[21:16:05 CEST] <moniker-> 32 or 64 bit shouldnt play a role here right?
[21:16:14 CEST] <JEEB> 64bit is recommended unless you're on a 32bit OS
[21:16:19 CEST] <JEEB> but shouldn't really affect hwdec
[21:16:48 CEST] <JEEB> see comment about youtube-dl so you can feed mpv the twitch URL
[21:16:59 CEST] <JEEB> "To play content from various media streaming sites..."
[21:17:32 CEST] <JEEB> to enable hwdec you either have to edit a config file or just use the command line (--hwdec=dxva2 or dxva2-copy)
[21:17:44 CEST] <moniker-> i have livestreamer perhaps i could use it to stream to it?
[21:17:47 CEST] <iive> why not simply play same local file?
[21:17:54 CEST] <iive> this would eliminate the network as factor
[21:18:03 CEST] <JEEB> sure
[21:18:03 CEST] <JEEB> :)
[21:18:09 CEST] <moniker-> it's a tool used to streams sites like youtube, twitch to video players that support it
[21:18:23 CEST] <JEEB> moniker-: it's just that youtube-dl has integration in mpv so it becomes simpler, that's all
[21:18:33 CEST] <JEEB> `mpv "URL"` JustWorks and I like it <3
[21:18:34 CEST] <moniker-> ok
[21:19:31 CEST] <JEEB> and yes, I would prefer you test with local files
[21:19:46 CEST] <JEEB> since that way you can indeed remove any resemblance of the network being the issue :)
[21:20:10 CEST] <JEEB> (you're still left with IO, but generally your hard drives are fast enough - you're not dealing with 900mbps+ lossless stream after all)
[21:20:28 CEST] <iive> `member the time when Vista limited network speed when playing audio?
[21:20:38 CEST] <JEEB> nope
[21:20:51 CEST] <moniker-> are there no settings at all in mpv?
[21:21:00 CEST] <JEEB> there's plenty but as I said, it's minimalistic
[21:21:10 CEST] <moniker-> can't find any?
[21:21:18 CEST] <JEEB> https://mpv.io/manual/master/
[21:21:23 CEST] <JEEB> have the manual
[21:21:40 CEST] <moniker-> should it be hw accelerated by default?
[21:21:42 CEST] <JEEB> no
[21:21:44 CEST] <JEEB> as I said
[21:21:51 CEST] <JEEB> mpv --hwdec=dxva2 or dxva2-copy
[21:21:56 CEST] <JEEB> (or create a config file)
[21:21:59 CEST] <moniker-> sorry im doing 10 things at the moment so i miss
[21:22:24 CEST] <JEEB> I would recommend just opening two command prompts for the testing
[21:22:29 CEST] <JEEB> and using the command line
[21:22:37 CEST] <JEEB> if you end up liking mpv, then you can dive deeper
[21:22:58 CEST] <moniker-> dxva2-copy is worse right
[21:23:07 CEST] <moniker-> it's copyback ive read something about it being worse
[21:23:12 CEST] <moniker-> native is better
[21:23:23 CEST] <JEEB> it copies the image once back into RAM so it's slower, but on the other hand it makes sure mpv's video renderer gets untouched video
[21:23:36 CEST] <JEEB> mpv's manual actually has a good write-up on hw decoding and caveats
[21:23:46 CEST] <JEEB> https://mpv.io/manual/master/#options-hwdec
[21:24:00 CEST] <JEEB> scroll down to "Quality reduction with hardware decoding"
[21:24:46 CEST] <JEEB> also it seems like d3d11va is preferred to dxva2 now by default :)
[21:25:49 CEST] <moniker-> ok thx for all info, plz give me like 30 mins something came up i can't respond immediately
[21:32:37 CEST] <iive> JEEB: https://blogs.technet.microsoft.com/markrussinovich/2007/08/26/vista-multimedia-playback-and-network-throughput/
[22:38:31 CEST] <moniker-> so i tried mpv with hwdec=dxva2-copy since dxva2 throws some error, and playing 2 streams 1080p60 similar thing happens one stream is fine at 60 fps but if i open one more other stream is at 9 fps https://i.imgur.com/UFLNJr0.jpg
[22:38:44 CEST] <moniker-> dunno why dxva2 throws error
[22:39:03 CEST] <moniker-> [vo/opengl/dxva2-egl] Failed to create EGL surface
[22:39:19 CEST] <moniker-> i guess it uses opengl instead of dx
[22:40:00 CEST] <moniker-> in any case, this would be a final test to conclude that it is limitation of gpu that it can't play more than one stream 1080p60?
[22:40:33 CEST] <moniker-> i'm wondering does having 1gb video ram plays a role here?
[22:41:07 CEST] <JEEB> the real final one would be without the network stuff but if you're 100% sure that's not a problem then SureFine
[22:41:27 CEST] <JEEB> btw, try with d3d11va
[22:41:30 CEST] <JEEB> instead of dxva2
[22:41:58 CEST] <JEEB> 1GiB of video RAM... not sure, you'd have to check the actual VRAM usage on the card to see that
[22:42:04 CEST] <JEEB> quite likely not, though
[22:42:33 CEST] <JEEB> it's more likely that the ASIC can't do it (or the drivers, but it all ends up in the same ballpark for you since you can't fix the drivers, either)
[22:42:50 CEST] <moniker-> same, one stream at 60 fps and other stream now at 3 fps
[22:43:29 CEST] <moniker-> well this was important to me to verify it's not some kind of bug
[22:43:40 CEST] <moniker-> i can accept if it's limitation of card
[22:44:04 CEST] <moniker-> JEEB what about memory, that shouldn't play a role right?
[22:44:38 CEST] <JEEB> well if you're not going anywhere close to your limits that should be unrelated
[22:45:38 CEST] <moniker-> i seriously doubt a video would require 500 mb video ram
[22:45:56 CEST] <JEEB> well you don't have to think, you should be able to know
[22:46:00 CEST] <JEEB> with procexp or something else
[22:46:02 CEST] <JEEB> per-process VRAM usage
[22:49:02 CEST] <moniker-> committed gpu memory around 100mb https://i.imgur.com/2iS0cA5.png
[22:49:41 CEST] <JEEB> yea
[22:49:48 CEST] <JEEB> peanuts, basically :P
[22:50:07 CEST] <moniker-> at least now i have idea how much gpu memory 1080p60 stream takes
[22:50:28 CEST] <moniker-> see this is the type of insight im looking for, thx for all your suggestions
[22:50:38 CEST] <Hopper__> surprisingly low for 60fps.
[22:50:49 CEST] <JEEB> the frame rate doesn't really matter there, since you usually always have N textures
[22:50:57 CEST] <JEEB> and you get new ones from the decoder
[22:51:07 CEST] <JEEB> and/or memcpy and recycle with -copy hwaccels
[22:51:31 CEST] <JEEB> basically, frame rate doesn't affect as much the rendering chain
[22:51:41 CEST] <JEEB> memory usage wise, that is
[22:51:55 CEST] <JEEB> since your vsync is always triple or whatever buffered
[22:52:35 CEST] <moniker-> btw does vsync got anything remotely to do with it?
[22:52:50 CEST] <moniker-> with possible performance?
[22:53:45 CEST] <JEEB> of course, but I would say it doesn't affect like that. otherwise I wouldn't be able to play multiple things with software either :P
[22:57:12 CEST] <moniker-> now if i could get someone to test some of newer cards and their limits how mnay such streams can they play hw accelerated
[22:57:23 CEST] <moniker-> before slowdowns
[22:57:32 CEST] <moniker-> to get some kind of perspective
[22:58:32 CEST] <JEEB> lol
[22:58:38 CEST] <moniker-> one more question, i keep hearing about LAV filters, are they on par/better/worse than ffmpeg
[22:58:48 CEST] <durandal_1707> worse
[22:58:54 CEST] <JEEB> LAV utilizes FFmpeg's libraries underneath
[22:58:57 CEST] <moniker-> in quality/performance/all ?
[22:59:04 CEST] <JEEB> it's a DShow filter built around FFmpeg
[22:59:13 CEST] <JEEB> or well, filters
[22:59:18 CEST] <JEEB> Video|Audio|Splitter
[22:59:37 CEST] <durandal_1707> its windows shit
[22:59:57 CEST] <moniker-> well ye, im on windows
[23:01:09 CEST] <kepstin> if you have an application written using directshow apis, and want it to be able to handle a few formats through ffmpeg that it couldn't handle otherwise, lav filters are helpful.
[23:03:29 CEST] <JEEB> moniker-: basically LAV is based on top of FFmpeg so you get the same thing with the same caveats. plus DShow means that those filters only play that specific role in the playback chain
[23:03:38 CEST] <JEEB> you then have some renderer or whatever connected to them
[23:03:43 CEST] <moniker-> kk
[23:03:43 CEST] <JEEB> that is up to your DShow playback chain
[23:06:09 CEST] <moniker-> do you see this format, rendering, standards mess ever getting simplified in the near future or will it remain such mess and possibly even get more complicated?
[23:07:19 CEST] <JEEB> moniker-: I just tried running two instances of a 50Hz 2160p sample at the same time and while the rendering was off (I was getting 8bit output for a 10bit clip so it was doing stuff behind my back), but it works fine. nvidia in this case
[23:07:40 CEST] <moniker-> which card
[23:07:44 CEST] <kepstin> once we get star trek level computers that can receive an arbitrary alien video signal and decode & format it correctly, then I guess we're done?
[23:07:46 CEST] <moniker-> and can i download that sample?
[23:08:08 CEST] <JEEB> sure, google "TravelXP_4K_HDR_HLG"
[23:08:21 CEST] <moniker-> ah but 4k isn't hw accelerated on my gpu
[23:08:41 CEST] <moniker-> i actually need 1080p samples preferably at 60 fps that's why i use streams on twitch
[23:08:58 CEST] <JEEB> anyways, the exact model doesn't really matter to be honest, rather the ASIC
[23:09:01 CEST] <JEEB> at least with nvidia
[23:09:09 CEST] <moniker-> i'd still like to know which card you got
[23:09:29 CEST] <JEEB> GTX 1080, which actually has an older ASIC than 1050 I think
[23:09:35 CEST] <JEEB> (not sure about 1030's ASIC)
[23:09:49 CEST] <JEEB> ASICs are the dedicated hardware that do the decoding
[23:09:51 CEST] <moniker-> can you try 3 or 4 videos at the same time to see where is the limit?
[23:10:02 CEST] <JEEB> I don't really care so I won't :P
[23:10:08 CEST] <moniker-> ok XD
[23:13:06 CEST] <JEEB> also you can just download the twitch thing with youtube-dl or something
[23:13:09 CEST] <JEEB> and have a local sample
[23:13:14 CEST] <JEEB> if that's what you want
[23:18:32 CEST] <furq> if the decoder is part of the nvenc asic then it doesn't exist on the 1030
[23:19:27 CEST] <q66> JEEB: i think the older asic thing was for 980, not 1080
[23:19:56 CEST] <q66> 980 vs 960 i mean
[23:20:47 CEST] <JEEB> furq: it definitely does exist even on the lower end ones so probably different pieces of hardware
[23:21:05 CEST] <q66> it has to, all the cards have decoding
[23:21:23 CEST] <furq> makes sense
[23:22:02 CEST] <q66> encoding is a separate matter though
[23:22:07 CEST] <q66> gt == no nvenc, gtx == has nvenc
[23:22:11 CEST] <furq> right
[23:23:14 CEST] <furq> GP107 can apparently decode 10-bit vp9 and GP104 can't
[23:23:47 CEST] <furq> so i guess it is an older asic on the 1080
[23:24:28 CEST] <furq> i wouldn't be surprised if it performed identically for formats people actually use though
[23:28:16 CEST] <redrabbit> nvenc is good with the right settings
[23:28:22 CEST] <q66> furq: ah, right
[23:28:52 CEST] <q66> furq: that said, it's kind of irrelevant
[23:29:03 CEST] <q66> something this high end won't be in a PC with a shitty CPU
[23:29:16 CEST] <q66> most likely CPU in that kinda machine can decode anything you throw at it in real time
[23:29:21 CEST] <redrabbit> Cmd=-analyzeduration {analyzeduration} {offset} {realtime} -i "{infile}" -f mpegts -pat_period 0.2 -c:v h264_nvenc -b:v 3500k -maxrate 3500k -rc vbr_2pass -rc-lookahead 32 -g 50 {framerate} -map 0:v:0 -map 0:a:0 -s 1920x1080 -preset slow -c:a copy -async 1 -y "{outfile}"
[23:29:34 CEST] <q66> especially vp9 which is fast compared to hevc
[23:29:51 CEST] <redrabbit> this is the good stuff: -preset slow -rc vbr_2pass -rc-lookahead 32
[23:30:16 CEST] <redrabbit> helps with motion heavy content
[23:31:46 CEST] <redrabbit> for real time i wont bother with x264 exept for low bitrate situations
[23:31:59 CEST] <furq> well yeah realtime is the whole point of nvenc
[23:32:33 CEST] <furq> it's acceptably good at that if you have a bit of bandwidth to spare
[23:32:34 CEST] <moniker-> q66 the issue isn't whether cpu can decode it, most certainly can, even multiple streams, the issue is if you have gpu card that can hw decode it why use 30-40 or even more cpu % utilization on multiple high res streams when you don't have to
[23:32:41 CEST] <redrabbit> well with theses settings the difference at high bitrate starts to be less perceivable
[23:32:50 CEST] <redrabbit> vs x264
[23:32:53 CEST] <furq> well yeah anything looks equally good if you throw enough rate at it
[23:33:01 CEST] <moniker-> i don't want to run in the background multiple streams on cpu and have 40% cpu utilization
[23:33:15 CEST] <redrabbit> i mean comparing vs same bitrate x264
[23:33:32 CEST] <furq> right
[23:33:43 CEST] <furq> 10mbps 480p30 nvenc is going to look as good as anything else at 10mbit
[23:33:58 CEST] <redrabbit> i mean 5mbps 1080p
[23:35:00 CEST] <redrabbit> -rc-lookahead 32 allows better bitrate distribution
[23:35:49 CEST] <redrabbit> really helps VS defaults were motion heavy scenes were youd previously see lots of artifacts
[23:37:26 CEST] <moniker-> is this quality comparison between x265 and x264 at low bitrate 400kbps 1080p true? https://x265.com/hevc-video-files/
[23:37:46 CEST] <moniker-> or did they mess up x264 encoding on purpose
[23:37:48 CEST] <redrabbit> i mean if you use nvenc -preset slow -rc vbr_2pass -rc-lookahead 32 is a must try
[23:38:21 CEST] <furq> moniker-: it's 1080p at 400kbps, what do you expect
[23:38:35 CEST] <moniker-> i didn't expect h265 to be so clean
[23:38:44 CEST] <moniker-> or should i say i didn't expect such difference
[23:38:57 CEST] <redrabbit> they are trolling you though
[23:39:06 CEST] <furq> yeah it's a bit worthless without the source
[23:39:17 CEST] <furq> they obviously don't want to show the source because you'd see how much detail is lost in the x265 pic
[23:39:25 CEST] <redrabbit> of course hevc looks a bit better
[23:39:40 CEST] <moniker-> ye but the point isn't how much detail is lost compared to source the point is which encoder did it better
[23:39:54 CEST] <furq> that sort of is the entire point of video encoding
[23:39:55 CEST] <redrabbit> but to be realistic its only 30% better for the same bitrate
[23:40:08 CEST] <furq> also yeah we don't know what x264 settings were used
[23:40:10 CEST] <moniker-> i already knew about hevc quality but didn't know it was that much difference
[23:40:22 CEST] <furq> i mean
[23:40:29 CEST] <moniker-> maybe it's deliberately made bad h264 encode
[23:40:32 CEST] <furq> i'd probably do my own tests rather than looking at a few screenshots on the x265 site
[23:40:39 CEST] <redrabbit> on the pics its not an honest comparison
[23:40:44 CEST] <redrabbit> just do encodes yourself
[23:40:45 CEST] <moniker-> you also have videos to download if you follow links
[23:40:58 CEST] <redrabbit> and see for yourself
[23:40:58 CEST] <moniker-> im not sure about the source video though
[23:41:18 CEST] <furq> huh
[23:41:24 CEST] <furq> i actually can't complain about those x264 settings
[23:41:34 CEST] <furq> that still isn't a very realistic usage scenario though
[23:42:59 CEST] <furq> the x265 sample also still looks pretty bad in motion
[23:44:57 CEST] <redrabbit> when you see how much more ressources a proper hevc encode needs vs proper avc
[23:45:51 CEST] <redrabbit> its good when you have to deal with weak internet speeds and want to stream video
[23:46:09 CEST] <redrabbit> like this summer i had to deal with 800kbps link
[23:46:16 CEST] <redrabbit> (free hotspot)
[23:46:38 CEST] <redrabbit> well, in that case hevc was quite useful
[23:47:10 CEST] <horox> I have another question regarding video files played with wrong color tint. FFMPEG has support for Magic Lantern .mlv files for quite a while now, but they are all played back with a greenish color tint - Should I file a bug?
[23:47:35 CEST] <horox> ups
[23:48:05 CEST] <horox> that should be: hello,  FFMPEG has support for Magic Lantern .mlv files for quite a while now, but they are all played back with a greenish color tint - Should I file a bug?
[23:48:26 CEST] <durandal_1707> yes,  with samples
[23:48:29 CEST] <JEEB> depends on if it's a decoding issue or a colorspace issue. can you post a `ffprobe file.mlv` output?
[23:48:36 CEST] <JEEB> in a pastebin that is
[23:48:41 CEST] <JEEB> or a ticket with a sample, yes
[23:48:41 CEST] <JEEB> :)
[23:52:26 CEST] <horox> one moment
[23:53:09 CEST] <redrabbit> so low bitrate situations is where hevc gets really interesting, no wonder they picked up 400k
[23:53:34 CEST] <redrabbit> i watched the samples
[23:53:50 CEST] <redrabbit> that's kind of like what TV looked on my free wifi
[23:54:11 CEST] <JEEB> yes, I've found x265 to have been better at very low bit rates where you will in either case have artifacts galore of some sort
[23:54:21 CEST] <JEEB> of course it also takes a crapload of time more
[23:55:02 CEST] <redrabbit> with the right resolution you dont see much artifacts, its more of an "sd" look though
[23:55:25 CEST] <JEEB> I mean yes, it just blurs the hell away with PSNR-helping tools :D
[23:56:08 CEST] <JEEB> you can kind of get a similar look from x264 by pushing out deblock higher etc
[23:56:21 CEST] <JEEB> but IIRC x265 is better in that niche
[23:56:39 CEST] <JEEB> just because those specific tools don't have to be psychovisually optimized
[23:56:40 CEST] <JEEB> lol
[23:58:19 CEST] <redrabbit>  Cmd=-analyzeduration {analyzeduration} {offset} {realtime} -i "{infile}" -f mpegts -pat_period 0.2 -vcodec libx264 -bufsize 1400k -maxrate 700k -crf 24 -g 50 {framerate} -map 0:v:0 -map 0:a:0 -s 640x360 -preset veryslow -c:a copy -ac 1 -async 1 -y "{outfile}"  << how would you improve on that one
[23:58:40 CEST] <redrabbit> "pushing out deblock higher"
[23:58:46 CEST] <redrabbit> just curious to try for the lols
[23:59:23 CEST] <JEEB> trying to remember if -tune psnr could be a good alternative if you're looking for that "BLUR ME MORE!" look
[23:59:34 CEST] <JEEB> -x264-params is the way you set specific libx264 API settings
[23:59:39 CEST] <JEEB> in a key=value:key=value way
[00:00:00 CEST] --- Wed Sep 27 2017

More information about the Ffmpeg-devel-irc mailing list