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

burek burek021 at gmail.com
Tue Nov 7 03:05:01 EET 2017


[00:02:32 CET] <Mavrik> Hmm, are any ARM hwaccels supported these days?
[00:02:47 CET] <JEEB> mediacodec is probably one of the least retarded
[00:02:58 CET] <JEEB> otherwise it's v4l2
[00:03:01 CET] <JEEB> or mmal
[00:03:51 CET] <Mavrik> Is there even any standardization?
[00:04:03 CET] <Mavrik> Or it's all "here's our binary blob" outside Android?
[00:04:08 CET] <JEEB> pretty much
[00:04:23 CET] <JEEB> v4l2 was the only not like that kind of thing but I'm not sure if that was encoding only?
[00:04:34 CET] <JEEB> and even that seems kind of a welp abstraction
[00:04:49 CET] <JEEB> kind of wish people would standardize on vaapi or something
[00:04:53 CET] <Mavrik> v4l2? is that the same as the camera capture API or is there another project?
[00:04:57 CET] <JEEB> yea, same thing
[00:05:00 CET] <JEEB> extensions to it
[00:05:13 CET] <Mavrik> Huh, that sounds ew
[00:05:43 CET] <JEEB> it's telling if that's one of the least eww ARM-related hwaccel apis
[00:05:53 CET] <JEEB> but still less good than something relatively standardized
[00:05:54 CET] <JEEB> like vaapi
[00:12:03 CET] <Cracki> all those lossless codecs would increase in popularity if they dealt better with inter-predictable video imho
[00:12:18 CET] <hanna> most lossless codecs are used specifically when you want intra only coding
[00:12:32 CET] <Cracki> ikr
[00:12:48 CET] <klaxa> but ffv1 got p-frames no?
[00:13:04 CET] <klaxa> or was that not for lossless mode?
[00:13:06 CET] <Cracki> no
[00:13:09 CET] <Cracki> ffv1 is intra-only
[00:13:30 CET] <Cracki> ffv1 can keep coding tables across frames, but it doesn't do inter-prediction
[00:13:46 CET] <klaxa> ah, there was a gsoc project, i thought it got merged at some point :/
[00:13:46 CET] <Cracki> and that feature will disappear eventually too, because nobody wants it
[00:13:51 CET] <klaxa> i think?
[00:13:55 CET] <klaxa> lol ok
[00:14:17 CET] <Cracki> _my_ use case isn't actually _lossless_, but lossless _synthetic/flat_ video
[00:14:27 CET] <Cracki> such as screencasts (not live game play)
[00:14:52 CET] <JEEB> still lossless just fine
[00:15:00 CET] <JEEB> and yes, sometimes you don't need all intra for lossless
[00:15:04 CET] <Cracki> and those tend to be easily crushed with slightly compressed keyframes and then inter-prediction
[00:15:18 CET] <JEEB> although a lot of people like that supposedly for quick editing because you can just edit the bit stream :P
[00:15:18 CET] <Cracki> inter prediction cuts the bitrate down orders of magnitude
[00:15:21 CET] <JEEB> yea
[00:15:44 CET] <Cracki> someone please add multithreading to qtrle :P
[00:15:56 CET] <Cracki> it's what I use, but it could be sped up massively
[00:16:16 CET] <JEEB> sounds like a p-frame mode in some other encoder makes plenty of sense as well
[00:16:23 CET] <Cracki> aye
[00:16:35 CET] <JEEB> also I could use some quick thing for initial recording and then something with p-frames or archival
[00:16:38 CET] <JEEB> like H.264 lossless
[00:16:51 CET] <JEEB> would let you use more time to encode as well
[00:17:10 CET] <Cracki> I tend to stay away from h264 because I like to keep the color space rgb and non-subsampled. some decoders choke on anything that's not yuv420p
[00:17:28 CET] <JEEB> yes, but with qtrle it's very similar except you don't have many decoders other than QT :P
[00:17:45 CET] <Cracki> eh, ffmpeg, vlc, they all can decode it
[00:17:45 CET] <JEEB> and yes, I was meaning RGB with H.264
[00:17:49 CET] <JEEB> well d'uh
[00:17:52 CET] <JEEB> same for RGB H.264
[00:17:53 CET] <Cracki> and video editing programs too, adobe at least
[00:17:57 CET] <Cracki> ah that yes
[00:18:08 CET] <JEEB> well yes, adobe et al use QT in the background I guess?
[00:18:16 CET] <Cracki> not much anymore
[00:18:30 CET] <JEEB> but yea, something like ffv1 getting filters for the right media frameworks
[00:18:35 CET] <JEEB> and then P-frame mode
[00:18:35 CET] <Cracki> adobe has discouraged quicktime codec use because apple doesn't maintain them for windows anymore
[00:18:39 CET] <JEEB> might be useful
[00:18:43 CET] <JEEB> that's true
[00:18:51 CET] <Cracki> ffv1 + pframes would be nice
[00:19:05 CET] <JEEB> if you are for editing then you want those media framework plugins though :P
[00:19:11 CET] <JEEB> which is what the Ut Video guy did
[00:19:16 CET] <JEEB> I really respect the dude for that
[00:19:20 CET] <Cracki> superlong gops (thousands of P) with P=null most of the time, that'd be helpful
[00:19:23 CET] <JEEB> VFW, DShow, MF
[00:19:27 CET] <JEEB> QT
[00:19:43 CET] <Cracki> dshow or mf at least.
[00:19:56 CET] <JEEB> you could in theory use umezawa's base code
[00:19:56 CET] <Cracki> only virtualdub still uses vfw :>
[00:20:07 CET] <JEEB> uhh, last I checked almost all of those editors used VFW for AVI
[00:20:19 CET] <Cracki> who uses avi anymore
[00:20:25 CET] <JEEB> surprisingly many people
[00:20:40 CET] <JEEB> and for constant frame rate and raw audio it isn't really problematic
[00:20:55 CET] <Cracki> it needs to die.
[00:20:55 CET] <JEEB> since its issues are with B-pictures
[00:21:01 CET] <Mavrik> Hmm, encoder/decoder for Ut Video is opensource?
[00:21:06 CET] <JEEB> Mavrik: yea
[00:21:07 CET] <JEEB> GPL
[00:21:16 CET] <Cracki> example: opencv video apis assume constant frame rate, are unaware of keyframes, don't see audio at all
[00:21:17 CET] <JEEB> the lavc ones are reimplementations
[00:21:21 CET] <JEEB> because we needed LGPL
[00:21:30 CET] <JEEB> the author was 100% OK and basically I kept chatting with him
[00:21:34 CET] <JEEB> instead of looking at the code
[00:21:36 CET] <Mavrik> Ah nice.
[00:22:03 CET] <JEEB> (btw, if anyone could test out the asm that one french dude posted for ut video on the ML that'd be nice)
[00:22:08 CET] <JEEB> I've not had the moment for that yet :P
[00:22:29 CET] <JEEB> libavcodec/utvideodsp : add avx2 version
[00:22:41 CET] <JEEB> and libavcodec/huffyuvdsp(enc) : add avx2 version for add(diff)_int16
[00:36:43 CET] <geri> JEEB: but i see my cpu high for video encoding...
[00:37:32 CET] <JEEB> depends on the encoder and settings. and if you're doing transcoding of a file that's just normal
[00:38:38 CET] <geri> JEEB: i just have a live stream of images which i create a video
[00:39:26 CET] <geri> 1800 x 2880
[00:40:06 CET] <durandal_1707> if you want low cpu usage but high gpu usage pick hwaccels encoders
[00:41:47 CET] <geri> which one for example?
[00:42:08 CET] <geri> i do screen capturing
[00:42:35 CET] <durandal_1707> what kind of screen capturing?
[00:42:46 CET] <durandal_1707> high motion?
[00:43:05 CET] <geri> no 30 fps
[00:43:13 CET] <geri> 1800 x 2880
[00:43:27 CET] <geri> just desktop screen.
[00:44:06 CET] <durandal_1707> so static word document or similar?
[00:44:14 CET] <geri> mostly
[00:45:24 CET] <durandal_1707> do you want lossless or lossy quality?
[00:46:41 CET] <geri> lossy is fine too
[00:48:50 CET] <durandal_1707> well if you have hardware and correct drivers for it try any hw encoder that supported on your machine
[00:49:37 CET] <durandal_1707> there is ffmpeg -hwaccels iirc command
[00:50:07 CET] <durandal_1707> to list available hw encoders
[00:51:50 CET] <durandal_1707> there is one vfm screen capture cpu codec which compress static and low motion screen pretty well
[00:52:16 CET] <durandal_1707> its called screenpressor
[00:52:52 CET] <geri> oh cool
[00:52:54 CET] <durandal_1707> but you need to pay for encoder
[00:53:21 CET] <geri> nooo
[00:54:19 CET] <durandal_1707> yes, that way you are left with utvideo or h264
[00:54:37 CET] <furq> you could try qtrle
[00:55:05 CET] <durandal_1707> qtrle is bad, its tooo dumb and simple
[00:55:17 CET] <furq> it can sometimes be surprisingly good for mostly-static screencasts
[00:55:34 CET] <furq> but yeah chances are it'll be bad
[00:55:40 CET] <furq> it's probably worth trying though
[00:56:10 CET] <geri> h264 on gpu?
[00:56:24 CET] <furq> if you have nvidia, sure
[00:56:24 CET] <durandal_1707> i think qtrle is intra only, thats way its bad
[00:56:46 CET] <furq> durandal_1707: it is, but it compresses desktop stuff well if it's all flat colours
[00:57:07 CET] <furq> and it should be pretty quick
[00:57:22 CET] <durandal_1707> geri: do you gave nvidia hw?
[00:57:40 CET] <furq> new intel desktop cpus also have h264 hardware but idk if that has a lossless mode
[00:57:43 CET] <furq> nvenc definitely does
[00:58:02 CET] <geri> amd readon R9 M370X
[00:58:05 CET] <furq> shame
[00:58:12 CET] <furq> that's not well supported by ffmpeg
[00:58:23 CET] <geri> but on my other macbook i have nvidia
[00:59:13 CET] <furq> as long as it's a GTX you should have nvenc
[00:59:17 CET] <furq> not 100% sure with mobile gpus though
[00:59:38 CET] <furq> on desktop the GTX660 or newer has it
[01:00:47 CET] <myke> is there a reliable way to continuously swap out an image used for pngpipe or mjpeg still image input?  every once in a while it seems to read while the new image is being copied into place and everything hangs, for streaming
[01:05:27 CET] <furq> myke: atomic replace?
[01:06:32 CET] <durandal_1707> geri: there is some amd patch for hwaccel on mailing list
[01:06:58 CET] <durandal_1707> so in future ffmpeg may have support for it
[01:07:27 CET] <geri> durandal_1707: is the gpu video compression faster as on cpu?
[01:07:57 CET] <Cracki> myke, use a temp file and rename/mv the new file onto the old
[01:08:16 CET] <Cracki> that's atomic at file system level
[01:08:38 CET] <durandal_1707> geri: gpu is usually much faster, but note that not all of calculations are done on gpu
[01:08:51 CET] <geri> ok
[01:09:14 CET] <furq> iirc amd vce sort of works via vaapi but not very well
[01:09:18 CET] <Cracki> durandal_1707, why is qtrle bad?
[01:09:20 CET] <furq> and obviously only on *nix
[01:09:38 CET] <Cracki> durandal_1707, qtrle is also inter. you have to set the keyframe period (-g) to make it do that, of course
[01:10:11 CET] <durandal_1707> Cracki: its not that bad, there are just better solutions
[01:10:17 CET] <Cracki> such as?
[01:10:34 CET] <Cracki> for static screen content, qtrle is the only one I know that does rgb and inter-prediction
[01:10:39 CET] <Cracki> (and lossless)
[01:10:50 CET] <durandal_1707> screenpressor
[01:10:51 CET] <furq> what about libx264rgb
[01:11:02 CET] <JEEB> ^
[01:11:16 CET] <Cracki> libx264rgb is supported even less than qtrle outside of ffmpeg
[01:11:27 CET] <Cracki> and screenpressor, as durandal_1707 said, is commercial
[01:11:30 CET] <furq> yeah but it's also much better for 99% of use cases
[01:11:46 CET] <Cracki> I shall check out 264rgb...
[01:11:50 CET] <Cracki> is it full range?
[01:12:23 CET] <furq> no idea
[01:12:27 CET] <furq> probably yes but you might need to set a flag
[01:12:28 CET] <geri> https://gist.github.com/flussence/1381143
[01:12:42 CET] <JEEB> RGB encoding by default is full range
[01:12:55 CET] <Cracki> good
[01:13:03 CET] <JEEB> because RGB + limited range is beyond retarded
[01:13:07 CET] <Cracki> :P
[01:13:09 CET] <JEEB> (I know some things do it, but lol)
[01:13:15 CET] <furq> yeah i had to check that was even a thing
[01:13:30 CET] <Cracki> can't ever assume common sense
[01:14:02 CET] <JEEB> unfortunately, it is a thing
[01:14:03 CET] <durandal_1707> what does limited rgb?
[01:14:09 CET] <furq> i assume it's mostly a display thing
[01:14:12 CET] <furq> rather than storage
[01:14:27 CET] <Cracki> I'm also a bit... burned... by "lossless" x264 from the past. it sometimes produced broken output that neither vlc nor any other player could decode
[01:14:42 CET] <furq> how far in the past are we talking
[01:14:46 CET] <Cracki> years
[01:14:50 CET] <furq> shrug
[01:14:54 CET] <Cracki> aye
[01:14:56 CET] <furq> i've not used it a huge amount but i've never had issues with it
[01:15:01 CET] <JEEB> there were bugs found every now and then but the FFmpeg decoder genrally was made to accept both
[01:15:22 CET] <Cracki> blaming the encoder, not the decoders
[01:15:39 CET] <JEEB> but if you had a decoder from before the workaround was added to support both correct and incorrect
[01:15:48 CET] <JEEB> then you'd get derp'd for a while
[01:15:52 CET] <geri> durandal_1707: https://gist.github.com/flussence/1381143
[01:15:53 CET] <JEEB> I think I remember like two or so cases
[01:15:54 CET] <Cracki> well, trying that. perhaps adobe premiere in recent versions gained the ability to read it ;)
[01:15:59 CET] <JEEB> most likely not
[01:16:03 CET] <geri> thats not my code....
[01:16:06 CET] <furq> yeah i'd be surprised if it reads rgb
[01:16:16 CET] <JEEB> Cracki: commercial decoders usually stop at 4:2:2
[01:16:21 CET] <Cracki> ahe
[01:16:25 CET] <JEEB> because fuck anything better than that
[01:16:28 CET] <Cracki> which sucks because friends of mine are still stuck at premiere cs6
[01:16:35 CET] <Cracki> and I can't give them 444 h.264
[01:16:37 CET] <JEEB> then you usually generate something they can open
[01:16:44 CET] <Cracki> they can open qtrle ;)
[01:16:44 CET] <JEEB> you bite the bullet in that case
[01:16:54 CET] <furq> well i assume it's going to end up as 4:2:0 at some point anyway
[01:16:58 CET] <JEEB> well yea, but so that you don't have to archive multiple things
[01:17:13 CET] <JEEB> you just export something for them and then keep the better copy around for archival
[01:17:14 CET] <Cracki> btw, does ffmpeg have a temporal median filter? that'd take care of encoding noise and make video very nicely compressible
[01:17:19 CET] <Cracki> *re-compressible
[01:17:24 CET] <furq> hqdn3d
[01:17:27 CET] <furq> and a bunch of others
[01:17:29 CET] <Cracki> ic
[01:17:30 CET] <furq> that's the most popular one though
[01:17:36 CET] <furq> !filter hqdn3d @Cracki
[01:17:36 CET] <nfobot> Cracki: http://ffmpeg.org/ffmpeg-filters.html#hqdn3d-1
[01:17:43 CET] <Cracki> love the bot
[01:17:54 CET] <durandal_1707> geri: the only improvement i see in using different grabber
[01:18:12 CET] <Cracki> its operating principles are to be found in the source code only, or described somewhere? :D
[01:18:14 CET] <furq> Cracki: that's good, maybe someone other than me will use it now
[01:18:32 CET] <Cracki> that bot could react to inline mentioned things perhaps
[01:18:46 CET] <Cracki> if they're likely not normally used words
[01:18:54 CET] <furq> that seems like it could get annoying
[01:19:00 CET] <furq> i generally hate bots that respond when not explicitly called upon
[01:19:09 CET] <Cracki> ;) all good bots eventually grow some flood control
[01:19:27 CET] <Cracki> !filter *
[01:19:34 CET] <furq> !filter list
[01:19:34 CET] <nfobot> furq: abench, abitscope, acompressor, acopy, acrossfade, acrusher, adelay, adrawgraph, aecho, aemphasis, aeval, afade, afftfilt, afifo, afir, aformat, agate, ahistogram, ainterleave, alimiter, allpass, aloop, alphaextract, alphamerge, amerge, ametadata, amix, anequalizer, anull, apad, aperms, aphasemeter, aphaser, apulsator, arealtime, aresample, areverse, aselect, asendcmd... (274 more)
[01:19:52 CET] <Cracki> single line, how... tame
[01:20:09 CET] <furq> there's no !more either
[01:20:34 CET] <arpu> anyone an idea why  stream_loop and codec copy to flv rtmp output does not loop ?
[01:20:38 CET] <furq> !filter grep ab
[01:20:38 CET] <nfobot> furq: abench, abitscope, sab, vidstabdetect, vidstabtransform
[01:20:45 CET] <furq> and that's pretty much everything the bot does
[01:20:52 CET] <Cracki> wow adobe cs6 was 2012
[01:20:57 CET] <Cracki> 5 year old software...
[01:21:02 CET] <furq> except it has !muxer and !demuxer and stuff obv
[01:21:09 CET] <arpu> it always stop after 1 loop (-stream_loop 4000  -re   -i 10_25_2017__09_09_11_35M.mp4    -c:v copy   -c:a copy  -f flv -live 1  'rtmp...' as sample
[01:21:44 CET] <furq> arpu: does it work with -stream_loop -1
[01:21:53 CET] <Cracki> !device gdi
[01:21:58 CET] <furq> !indev gdi
[01:22:02 CET] <furq> oh
[01:22:04 CET] <furq> !indev gdigrab
[01:22:04 CET] <nfobot> furq: http://ffmpeg.org/ffmpeg-devices.html#gdigrab
[01:22:06 CET] <Cracki> !indev gdigrab
[01:22:06 CET] <nfobot> Cracki: http://ffmpeg.org/ffmpeg-devices.html#gdigrab
[01:22:08 CET] <Cracki> yes yes
[01:22:34 CET] <Cracki> I just wonder why it's not listed when I >ffmpeg -devices
[01:22:45 CET] <furq> on windows?
[01:22:49 CET] <Cracki> yes
[01:22:51 CET] <furq> weird
[01:22:57 CET] <JEEB> not build in then
[01:23:10 CET] <Cracki> zeranoe x64 build. lists dshow, lavfi, sdl/sdl2, vfwcap
[01:23:10 CET] <JEEB> I only have dshow, lavfi, vfwcap myself
[01:23:20 CET] <Cracki> I know it can do gdigrab, it used to work. i'll see if it still does.
[01:23:28 CET] <furq> yeah i just checked and gdigrab isn't listed here either
[01:23:31 CET] <furq> but i can use it
[01:23:57 CET] <durandal_1707> gdigrab is old
[01:23:58 CET] <arpu> furq, same it runs the first loop than stops with http://lpaste.net/6150746785414381568
[01:24:13 CET] <Cracki> I'd like some recent way to capture windows desktops
[01:24:17 CET] <furq> oh, broken pipe
[01:24:23 CET] <furq> maybe it's sending an EOF because you're stream copying
[01:24:34 CET] <furq> in which case the remote side will close the connection
[01:24:36 CET] <Cracki> (without installing a 3rd pty dshow filter)
[01:24:48 CET] <JEEB> Cracki: there's the win8.x thing that VDub's author blogged about
[01:24:52 CET] <arpu> oh yes this could be because if i reencode with libx264 and aac it works
[01:24:58 CET] <JEEB> (VDub is actually surprisingly good at that stuff)
[01:25:05 CET] <Cracki> win7 support would be cool too
[01:25:12 CET] <JEEB> http://www.virtualdub.org/blog/pivot/entry.php?id=356
[01:25:17 CET] <JEEB> the API is newer than that :P
[01:25:17 CET] <Cracki> I hear some directx api allows capture
[01:25:21 CET] <Cracki> dx9 or something
[01:25:21 CET] <arpu> any idea how i can stop sending the EOF :> ?
[01:25:25 CET] <JEEB> WDDM 1.2 capture
[01:25:36 CET] <furq> arpu: i guess you're stuck adding the filename 1000 times to concat.txt and using -f concat -i concat.txt
[01:25:40 CET] <furq> which is a shitty solution but it should work
[01:26:04 CET] <furq> i'd have thought -stream_loop would work though
[01:26:27 CET] <JEEB> Cracki: what most things do is one of these two
[01:26:27 CET] <JEEB> Use a OpenGL front buffer hack to read the screen. This is the fast path I have in VirtualDub and is very fast, since it allows the screen to be preprocessed on the GPU before the slow read back. The disadvantages are that it's unreliable on some OpenGL drivers and no longer works at all with WDDM due to front buffer redirection.
[01:26:28 CET] <arpu> furq,  thx i will try concat!
[01:26:33 CET] <JEEB> Hook Direct3D and intercept Present() to do the capture. Not a general solution, but allows for full hardware acceleration of capture and is a popular solution for capturing full screen games. I believe this is also possible with DWM to grab the desktop, although I haven't heard if someone's tried it and it involves evil system process injection hacking in that case.
[01:26:38 CET] <JEEB> the d3d hooking is probably what gets more used :P
[01:26:45 CET] <furq> yeah gdigrab is really slow
[01:27:04 CET] <JEEB> also that blog post has a comment from gabest which makes it special, too
[01:27:16 CET] <furq> i tried using it for some 2d game that runs at 30fps in a window and it was absolutely hopeless
[01:27:18 CET] <JEEB> but yea, the win8+ thing seems sanest
[01:27:19 CET] <Cracki> hehe
[01:27:26 CET] <JEEB> even if you lose win7 support
[01:27:28 CET] <JEEB> :P
[01:27:52 CET] <Cracki> I love how on osx, there's just quicktime player with its "start screen recording" and it just always works (even though it's h.264 I think)
[01:28:11 CET] <furq> well there's always OBS if you want to capture at high framerates
[01:28:18 CET] <Cracki> for ffmpeg, there was a time when gdigrab messed up on windows 8+ and non-96dpi screen scaling
[01:28:25 CET] <JEEB> yea, OBS has the hooking ways
[01:28:30 CET] <JEEB> which are rather optimized
[01:28:36 CET] <Cracki> I actually just want a tool that does screencaps and is foolproof to use
[01:28:50 CET] <JEEB> and to be honest I prefer an API user to do it like that because I don't think libavdevice is too great
[01:28:51 CET] <Cracki> messing with a portable obs is an option...
[01:29:05 CET] <furq> gdigrab should be good enough for screencaps if you just want a particular window and not a region
[01:29:14 CET] <Cracki> aye, full screen
[01:29:21 CET] <furq> yeah i guess that should work
[01:29:31 CET] <furq> i mean it will work, i guess it'll be quick enough
[01:29:33 CET] <Cracki> doesn't have to be fast either, slide show is all
[01:30:24 CET] <arpu> furq,  thx this works!
[01:30:32 CET] <furq> eat
[01:30:33 CET] <furq> n
[01:30:40 CET] <furq> it's a bit weird that that works and stream_loop doesn't
[01:30:48 CET] <furq> i figured they'd do basically the same thing
[01:31:38 CET] <Cracki> ooh look at that, libx264rgb -crf 0 and for the static screen, it's single digit kbit/s
[01:31:59 CET] <durandal_1707> furq: there is loop filter
[01:32:00 CET] <JEEB> add -g 0 or -g -1 (don't rememember which sets keyint=inf)
[01:32:08 CET] <furq> durandal_1707: he doesn't want to reencode
[01:32:10 CET] <Cracki> nvm, initially... converges to 1 Mbit/s
[01:32:18 CET] <JEEB> oh and -x264-params "scenecut=0"
[01:32:28 CET] <JEEB> which tells x264 to not think about IRAPs
[01:32:43 CET] <JEEB> keyint=inf + scenecut=0 is basically "just one IRAP"
[01:33:35 CET] <Cracki> 264rgb -crf 0 uses one of my cores... that's good
[01:35:07 CET] <arpu> yes i see the loop filter but the video filters needs a reencode!
[01:35:24 CET] <arpu> hmm can not dind the source code for stream_loop :/
[01:45:03 CET] <Cracki> any way to raise the threshold for "Past duration 0.999702 too large" messages?
[01:45:34 CET] <Cracki> (ffmpeg complains when my screen is having too few changes per second)
[02:04:02 CET] <myke> thanks Cracki
[02:04:17 CET] <Cracki> what'd I say?
[02:09:02 CET] <myke> mv tmpfile instead of cp
[02:09:20 CET] <myke> png doesn't seem to pick it up but works with jpg
[02:12:38 CET] <Cracki> ah
[02:13:34 CET] <Cracki> question: x264rgb crf 0 with -maxrate make sense? want perfect slide show capture, but limit bitrate if a video is shown
[02:13:55 CET] <Intrepd_> Hello, I've been using the decimate filter to remove duplicate frames from my daughters cartoons that (I assume) were natively rendered at 23.976fps, but "broadcast" at 29.97.  I'm now trying to do the same with 59.94 content -- would it make sense to still use decimate, but with a cycle of 10?
[02:21:25 CET] <klaxa> from the framerates i would guess telecined? https://ffmpeg.org/ffmpeg-filters.html#detelecine
[02:21:32 CET] <klaxa> that might yield better results
[02:21:51 CET] <klaxa> see also https://en.wikipedia.org/wiki/Telecine
[02:25:15 CET] <klaxa> especially the part about the 2:3 pulldown
[02:25:35 CET] <klaxa> that's probably what you have, maybe you can check a few frames for the pattern described
[02:31:23 CET] <Intrepd_> thanks klaxa, i'm checking now
[02:58:40 CET] <MajesticFudgie> I'm trying to extract a frame every 10% of the way through a video. Using the example provided on the site " select='not(mod(n\,100))' ", My idea was to take the duration and multiply by the FPS and divide by 10. But this doesn't work. Is my math wrong or am I going about it the wrong way? The video is 121s long and 60fps and outputs 7,996 images a
[02:58:40 CET] <MajesticFudgie> t 726 frame intervals. Using the math: (duration * fps)/10
[03:00:10 CET] <c_14> are most of those frames duplicates?
[03:00:20 CET] <c_14> add -vsync vfr as an output option
[03:02:32 CET] <MajesticFudgie> I have -vsync as 0 right now
[03:03:09 CET] <MajesticFudgie> Setting it to vfr has no effect
[03:03:52 CET] <c_14> are most of the output frames duplicates?
[03:04:48 CET] <c_14> is the input vfr? try ffprobe -count_frames -show_entries stream=nb_read_frames
[03:04:58 CET] <MajesticFudgie> Looks like it may be
[03:07:27 CET] <MajesticFudgie> c_14 http://paste.ubuntu.com/25900092/ I haven't a clue what to expect and read from this :P
[03:08:03 CET] <c_14> nah, that's pretty much 60fps
[03:08:16 CET] <c_14> oh,
[03:08:18 CET] <c_14> eh
[03:08:32 CET] <c_14> try select=mod(n\,730)
[03:08:40 CET] <c_14> wait, no
[03:08:51 CET] <c_14> the not should be there
[03:09:18 CET] <MajesticFudgie> Like so? select='not(mod(n\,730))'
[03:09:37 CET] <Maximxxx100> Trying to compile ffmpeg-mpv-git, keep getting "ERROR: gnutls not found using pkg-config", after the ffmpeg configure script runs.
[03:09:37 CET] <c_14> yeah
[03:10:15 CET] <c_14> Maximxxx100: no support for ffmpeg-mpv here, but you're probably missing the pkg-config files (install gnutls-dev or something)
[03:10:36 CET] <MajesticFudgie> c_14 makes no difference still spits out the same amount of images
[03:12:15 CET] <c_14> MajesticFudgie: -vsync vfr fixes it for me
[03:12:54 CET] <MajesticFudgie> It's a small command, Could I just say it here rather than pb?
[03:13:30 CET] <c_14> sure
[03:13:36 CET] <c_14> but I'm also interested in the output eventually
[03:13:54 CET] <MajesticFudgie> ffmpeg -i video.mp4 -s 312x176 -aspect 39:22 -vsync vfr -filter_complex "scale=iw*sar:ih, pad=max(iw\,ih*(39/22)):ow/(39/22):(ow-iw)/2:(oh-ih)/2:black, select='not(mod(n,730))'" tmp/video_%d.jpg
[03:13:58 CET] <MajesticFudgie> Thats the command I run
[03:14:01 CET] <MajesticFudgie> I'll pb the output
[03:14:13 CET] <MajesticFudgie> Most of the command is generated by a library I'm using
[03:16:57 CET] <MajesticFudgie> https://pastebin.com/DVADBH1D
[03:17:44 CET] <c_14> that only created 11 frames though?
[03:17:49 CET] <c_14> did you abort or is it off-by-one?
[03:18:30 CET] <c_14> (technically it's not off-by-one, but depending on what you want it may seem that way)
[03:18:34 CET] <MajesticFudgie> Oh, correct it is
[03:18:39 CET] <MajesticFudgie> So the library I'm using is talking bs
[03:19:38 CET] <geri> i started: ffmpeg -f avfoundation -i "<screen device index>:<audio device index>" out.mov .. and how to stop it?
[03:20:28 CET] <c_14> press q
[03:20:30 CET] <c_14> or ^c
[03:20:36 CET] <c_14> or send sigint
[03:20:50 CET] <c_14> sigterm should work fine too afaik
[03:20:59 CET] <geri> it didnt record anything..hm
[03:21:11 CET] <c_14> does the terminal output say anything?
[03:22:21 CET] <MajesticFudgie> c_14 don't suppose you'd know how to limit it to just the 10 images rather than 11?
[03:22:24 CET] <geri> https://ideone.com/8uHVeL
[03:22:28 CET] <geri> c_14: https://ideone.com/8uHVeL
[03:22:47 CET] <c_14> MajesticFudgie: check if n is 0 in the select and return 0 in that case
[03:24:51 CET] <MajesticFudgie> How would I do that?
[03:25:41 CET] <c_14> *not(eq(n\,0) or something
[03:26:08 CET] <MajesticFudgie> ah, ty
[03:26:33 CET] <geri> c_14: any idea?
[03:26:42 CET] <c_14> geri: you sent a signal 3 times, only send it once otherwise it will hard abort
[03:27:39 CET] <geri> it does not stop when i send 2 times
[03:27:47 CET] <MajesticFudgie> Hm, what should I expect select to look like?  select='not(mod(n\,1234))*not(eq(n\,0)'
[03:27:55 CET] <c_14> send it once and then wait
[03:28:07 CET] <c_14> yeah
[03:28:43 CET] <MajesticFudgie> Whoops I missed a )
[03:28:55 CET] <geri> c_14: waiting since 10 seconds...
[03:29:03 CET] <MajesticFudgie> Still has no effect, hm
[03:33:27 CET] <geri> c_14: seems to work now
[03:33:32 CET] <geri> 11921  ffmpeg       295.8
[03:33:38 CET] <geri> %cpu
[03:33:59 CET] <geri> i changed to: ffmpeg -f avfoundation -framerate 30 -vsync 2 -i "1:1" out.mov
[11:27:54 CET] <pmjdebruijn> can someone give me a pointer on how to encode from and to png->png or jpg->jpg , this is for purposes of comparing scalers
[11:30:09 CET] <JEEB> avformat->avcodec->avfilter->avcodec->avformat
[11:30:18 CET] <JEEB> there are examples under doc/examples
[11:30:52 CET] <pmjdebruijn> oh sorry, I meant for the cli tools, not in code
[11:31:53 CET] <CoReX> have you looked online
[11:32:28 CET] <pmjdebruijn> I've tried, but i'm getting this error: Codec AVOption bf (set maximum number of B frames between non-B-frames) specified for input file #0 (in.jpg) is not a decoding option.
[11:47:18 CET] <qmr> furq:   that fucks up my mp4 for some reason :(
[11:54:06 CET] <qmr> furq:  actually it seems it works only if I copy to new file
[11:56:33 CET] <pmjdebruijn> oh darn, -bf should have been -vf, now it see
[11:58:01 CET] <pmjdebruijn> it works now, thanks
[13:59:07 CET] <ArsenArsen> anyone has a C/C++ example of a PulseAudio+FFmpeg music player? Like something extremely simple
[16:17:26 CET] <Xys> Hi guys, I don't know why, but I have this video that plays fine on my iPhone, but it's laggy on VLC, Facebook and QuickTime..
[16:17:28 CET] <devinheitmueller> Hello all.  So I dont claim to be a Windows developer, but I am building some ffmpeg functionality for upstream and want to make sure Im not breaking under Windows.  Any specific version of Visual Studio you guys recommend I test with?  Any known issues builidng against the freely available Community Edition"?
[16:17:40 CET] <Xys> I've tried to re-encode it with ffmpeg, but the problem persists
[16:17:52 CET] <Xys> Here's the link to the video : https://www.dropbox.com/s/e1sl0qqwvnb2nqu/Video%2002-11-17%2014%2052%2045.mp4?dl=0
[16:18:05 CET] <Xys> The lag is totally random
[16:18:11 CET] <Xys> What could cause this lag ?
[16:18:55 CET] <Xys> It looks like dropped frames, but since the lag is random I think the video contains every frame
[16:19:09 CET] <alexpigment> Xys: looks fine over here. what's your CPU load when you play it?
[16:19:27 CET] <alexpigment> Also, what OS are you on? macOS?
[16:19:53 CET] <Xys> macOS yes
[16:20:46 CET] <alexpigment> Quicktime for Windows gives the occasional microstutter, but Quicktime on Windows sucks, so that doesn't mean too much
[16:20:51 CET] <alexpigment> Windows Media Player and VLC are fine
[16:21:13 CET] <alexpigment> the specs don't look weird at all. And of course, Facebook re-encodes the thing completely, so that rules out any particularities of the file
[16:21:35 CET] <alexpigment> I'm thinking that you've just got a video playback bottleneck in general, and the constantly-moving nature of this video exacerbates that
[16:21:48 CET] <alexpigment> rather, highlights it - not exacerbates
[16:22:34 CET] <alexpigment> so yeah, check Activity Monitor and see if anything is taking up a lot of CPU right now
[16:22:59 CET] <Xys> Just checked CPU usage is at 10%, I have an Intel i5
[16:22:59 CET] <alexpigment> and if not, try and reboot (I know, that seems like a bullshit troubleshooting step, but for this type of thing, it's important to try)
[16:24:15 CET] <Xys> The thing is that I've shared this to many people and they all have this lag ^^
[16:24:25 CET] <alexpigment> really?
[16:24:31 CET] <alexpigment> are they all on mac?
[16:24:31 CET] <Xys> Do you think its a problem in the video encoding ?
[16:25:04 CET] <alexpigment> no
[16:25:08 CET] <Xys> Not sure, but I've tried with my windows 10 (Intel i7) home, and I also had this lag :)
[16:25:28 CET] <alexpigment> you say "lag", which is a curious description
[16:25:34 CET] <alexpigment> lagging compared to what?
[16:25:43 CET] <alexpigment> or are you saying it's stuttering?
[16:25:58 CET] <alexpigment> are the 30 frames not evenly doubling to correctly match your refresh rate of 60hz?
[16:26:08 CET] <Xys> stuttering yes :) Sorry english is not my native language :)
[16:26:19 CET] <Xys> It looks like the video is paused, or there are missing frames ?
[16:26:22 CET] <alexpigment> it's ok, it's just that there are nuances in some words that are important to clarify
[16:26:37 CET] <alexpigment> i'll try it on macOS. give me a minute
[16:26:42 CET] <Xys> Thank you so much..
[16:30:39 CET] <alexpigment> does the microstutter only occur in the first second?
[16:30:44 CET] <alexpigment> or does it happen the whole time?
[16:31:01 CET] <Xys> It's totally random
[16:31:23 CET] <alexpigment> random, as in it happens at different spots each time in the video?
[16:31:28 CET] <Xys> For example, it can happen at the 10th second. Then I pause, I seek to 9th second, and there will be no stuttering at 10
[16:31:32 CET] <alexpigment> right
[16:31:44 CET] <alexpigment> which should tell you it's not a problem that's encoded into the video
[16:31:58 CET] <Xys> Yep, but maybe a setting problem ?
[16:32:18 CET] <jkqxz> devinheitmueller:  Building with Visual Studio is not fun.  If you just want to test on Windows, using msys2 / mingw is somewhat easier.
[16:32:19 CET] <Xys> Or do all videos have some stuttering ?
[16:32:40 CET] <alexpigment> i got a microstutter in the first second on quicktime
[16:32:46 CET] <alexpigment> which probably happens with any video, tbh
[16:32:55 CET] <devinheitmueller> jkqxz: Ok.  I figured mingw would conceal portability issues that I might see with MSVC.
[16:33:01 CET] <alexpigment> it was smooth the rest of the way (assuming I didn't bring up the on screen controls)
[16:33:01 CET] <Xys> It's more obvious with VLC for me on mac :)
[16:33:07 CET] <alexpigment> i'm checking vlc now
[16:33:38 CET] <alexpigment> vlc gave me a microstutter for the first 2 seconds or so
[16:33:59 CET] <alexpigment> but VLC is a horrible video player, so that's not uncommon in my experience
[16:34:17 CET] <alexpigment> i could go on for days about why VLC is worthless, but i'll resist :)
[16:35:53 CET] <jkqxz> devinheitmueller:  With mingw you get all the fun of the Windows platform, if that's what you want to test.  The things it would miss are Visual Studio-specific compiler differences, but unless you're messing with assembly code in naughty ways that shouldn't make much difference.
[16:36:09 CET] <devinheitmueller> Ok, fair enough.
[16:38:04 CET] <alexpigment> Xys: honestly, I don't know why you're getting such bad playback. Stutter-free playback on computers is historically difficult for reasons that I don't fully understand. A very powerful computer might play something back with stuttering and a low-end computer might play it perfectly
[16:38:13 CET] <Xys> alexpigment : Haha okay ! Do you know a good player that could read this fine ? Also, did you experiment any random stuttering ?
[16:38:31 CET] <alexpigment> What i'd recommend is downloading Kodi and trying it there. They have some optimizations that generally allow you to play something back perfectly smooth
[16:39:20 CET] <alexpigment> it's more of a media center software rather than a simple player, but I've always had perfectly smooth playback with it on all the computers I've used
[16:40:04 CET] <Xys> Okay, I just don't understand why I don't seem to have this lag with other videos..
[16:40:11 CET] <Xys> I mean this stuttering
[16:41:55 CET] <devinheitmueller> alexpigment: perhaps your lack of understanding of why its so hard for players to get stutter free playback should be a consideration before you crap all over the work of others for players that are made freely available.
[16:42:50 CET] <alexpigment> devinheitmueller: I work with video every day. I've had to tell people how to set up VLC countless times for settings that should be default. I know more than enough to tell you that VLC is a horrible player
[16:43:41 CET] <devinheitmueller> When you say default, you mean most appropriate for your particular use cases. That said, if you really do believe there should be changes to defaults, submit patches to the mailing list.
[16:44:33 CET] <alexpigment> devinheitmueller: have you worked on VLC before?
[16:44:37 CET] <devinheitmueller> Yes.
[16:45:04 CET] <alexpigment> OK, so deinterlacing isn't on by default
[16:45:07 CET] <Kadigan> Interesting... I can see what the guy means. But there's something in the video that bothers me...
[16:45:12 CET] <devinheitmueller> And Im the first to admit it has its rough spots.  That said, you can request a full refund.  :-)
[16:45:28 CET] <alexpigment> and there isn't a good software deinterlacer in there
[16:45:33 CET] <Kadigan> The rate is 30fps, but it doesn't <feel> 30fps...
[16:45:36 CET] <alexpigment> is there a reason why hardware deinterlacing isn't supported?
[16:45:57 CET] <alexpigment> Kadigan: did you try it in Windows Media Player on Windows by chance? plays perfectly smooth there
[16:45:57 CET] <devinheitmueller> hardware deinterlacing is supported for multiple hardware decoders.
[16:46:13 CET] <alexpigment> devinheitmueller: why isn't this enabled by default?
[16:46:38 CET] <alexpigment> why is the color of videos washed out when on an Nvidia system with the default color range enabled?
[16:47:06 CET] <alexpigment> why does changing hardware color conversion fix that?
[16:47:18 CET] <devinheitmueller> It is in VLC 3.0.  Hardware acceleration wasnt very mature prior to that point.
[16:47:40 CET] <Xys> Should I try to configure VLC to make it smooth ?
[16:47:51 CET] <Xys> to make the playback smooth I mean
[16:47:57 CET] <alexpigment> Xys: yes. devinheitmueller can tell you exactly how to do that
[16:47:57 CET] <Kadigan> alexpigment: I'm on macOS 10.12, not that easy to get WMP to work here :D
[16:48:06 CET] <alexpigment> Kadigan: did you try Kodi by chance?
[16:48:31 CET] <Kadigan> Okay, interesting effect -
[16:48:49 CET] <Kadigan> the same stutter is present via SVP
[16:48:56 CET] <Nacht> Apperently, when something is free you can't be negative about it....
[16:48:58 CET] <Kadigan> which should absolutely NOT be happening...
[16:49:12 CET] <alexpigment> Nacht: right? :)
[16:49:15 CET] <Xys> SVP ?
[16:49:39 CET] <alexpigment> Nacht: some guy getting all butthurt because I was critical of a player that has flaws everywhere
[16:49:44 CET] <Kadigan> Smooth Video Project, it's a thing that tweens frames in real time from source fps to display fps
[16:50:23 CET] <Kadigan> which leads me to believe that there's something about the source material that video players just don't like - I just don't know what it is.
[16:51:12 CET] <Kadigan> I mean, the stream given to mpv is entirely new, with entirely new frames - there's absolutely no reason for it to stutter randomly if the issue is in the encoding.
[16:51:40 CET] <alexpigment> Kadigan: are you guys comparing anything that's 30fps with continuous panning?
[16:52:07 CET] <Kadigan> I don't understand the question...
[16:52:29 CET] <alexpigment> Kadigan: does anything else that's 720p30 and continuous linear motion play back smoothly on your system?
[16:53:09 CET] <Xys> I'm gonna try to find a 720p video of something that moves linearly
[16:53:20 CET] <Kadigan> I never had anything like that. All I know is that 1080p60 plays just fine w/o hiccups, and via SVP as well.
[16:53:37 CET] <Kadigan> Never actually had a truly continuous pan going on the screen for longer than 7-8s
[16:53:56 CET] <alexpigment> ok, what's a good small file hosting site?
[16:54:07 CET] <alexpigment> i've got a synthetic test
[16:54:38 CET] <Kadigan> I fail to understand how that would affect display of <anything>, though -- it's frames, right? If you have enough of them, and present them at the correct time, why would subject matter affect performance?
[16:54:49 CET] <Kadigan> Or is it an optical illusion?
[16:54:51 CET] <minru> Is it possible to get silence on audio and blank screen on video stream while live input is mising?
[16:55:37 CET] <alexpigment> Kadigan: continuous horizontal motion is the only easy way to see microstutters in my experience
[16:57:07 CET] <Xys> Could it be a known effect of video compression ?
[16:57:38 CET] <alexpigment> http://www.filehosting.org/file/details/705893/720p30motiontest.mp4
[16:57:48 CET] <alexpigment> there's a 30fps one. about to upload a 29.97fps one
[16:58:12 CET] <Xys> thanks, gonna try this
[16:58:37 CET] <Kadigan> alexpigment: is there a way that doesn't involve me handing out my e-mail to who knows who? ;D
[16:58:49 CET] <alexpigment> it was just the first google result
[16:58:52 CET] <alexpigment> what's a good free one?
[16:59:08 CET] <Kadigan> try https://anonfiles.cc/
[16:59:33 CET] <alexpigment> actually, i just found another one
[16:59:37 CET] <alexpigment> http://s000.tinyupload.com/index.php?file_id=35438844316552025949
[17:00:42 CET] <Durandal> Can anyone tell me the exact channel mapping for "5.1(side)" ?
[17:00:58 CET] <Xys> alexpigment : I have the exact same issue with your video : random stuttering
[17:01:12 CET] <alexpigment> ok, i'll try a 29.97fps one
[17:01:51 CET] <alexpigment> http://s000.tinyupload.com/index.php?file_id=01687540922171016494
[17:02:01 CET] <Durandal> Is it [ FL FC FR RL RR LFE ] ?
[17:03:18 CET] <Kadigan> 29.97 jerks too, but less than the 30fps one
[17:03:34 CET] <Kadigan> So... display interface issue?
[17:05:31 CET] <alexpigment> did either of you guys try Kodi or not?
[17:05:58 CET] <alexpigment> Kodi has optimizations that make it play content smoothly on most systems
[17:05:58 CET] <Xys> I've installed it
[17:06:04 CET] <Xys> But
[17:06:14 CET] <Xys> I couldn't browse my videos, retrying
[17:06:28 CET] <alexpigment> you have to "Add Source" under Movies
[17:06:53 CET] <alexpigment> and once you've added that source (you don't need to set it to scan content or anything), that location will show up under Movies
[17:13:06 CET] <Xys> alexpigment : So I've tried with Kodi. Result is better, but I still had some random stuttering
[17:13:51 CET] <alexpigment> ok, I give up. Let's just say that the video is smooth, but some computers don't play video smoothly
[17:14:21 CET] <alexpigment> if you put it on a USB stick and play it on your TV, I'll bet it's smooth
[17:14:37 CET] <alexpigment> hardware-based players don't usually have any of these types of problems
[17:14:40 CET] <Kadigan> Okay, Kodi seems to work really well w/ the videos,
[17:14:51 CET] <Kadigan> there are some stutters here and there (mostly at the end),
[17:14:56 CET] <Kadigan> but nothing as major as previously seen.
[17:15:05 CET] <Kadigan> Too bad Kodi's UI is, to me, horrendous.
[17:15:22 CET] <alexpigment> Kadigan: yeah, it's a shame that there's no "player mode" for Kodi
[17:15:44 CET] <alexpigment> because it's the best video player out of anything else I've used
[17:15:50 CET] <Kadigan> So, what's the explanation? Sync? Is the software 'missing a beat'?
[17:16:34 CET] <alexpigment> I would say that I don't know, but devinheitmueller might come around and say that I shouldn't talk if I don't know ;)
[17:16:39 CET] <Kadigan> And why doesn't it otherwise show up? Is this some sort of playback optimization that backfires? Because I've never before noticed anything like that, except on really, really sharp edges.
[17:16:50 CET] <alexpigment> I might be offended a lot of people who worked on a player that doesn't really work that well
[17:16:53 CET] <alexpigment> *offending
[17:17:25 CET] <alexpigment> Kadigan: the sad truth is that most people don't watch anything over 24fps, so they're not usually critical of it
[17:17:51 CET] <Kadigan> I regularly cut and put together 50p, and regularly use SVP to watch video up-tweened to 60p
[17:17:55 CET] <alexpigment> I work almost exclusively with 1080i60 content, so smooth playback is always what i'm looking for
[17:17:56 CET] <Kadigan> and ... not really any issues.
[17:18:11 CET] <Kadigan> Which is why I was suprised.
[17:18:27 CET] <alexpigment> well, 30p to 60p on something that is constantly changing is impossible to do
[17:18:41 CET] <Kadigan> But I do agree that the length of this was def. longer than the typical length of a particular take.
[17:18:45 CET] <alexpigment> tweening is an imperfect concept
[17:19:09 CET] <Kadigan> I know, it creates content where there wasn't any, obviously.
[17:19:13 CET] <alexpigment> which is why people turn off the feature on their TVs. it not only doesn't "look" right, but it doesn't work right either
[17:19:57 CET] <Kadigan> SVP isn't that bad - it doesn't just blend frames, it actually does motion vectors estimation on stuff, with fairly advanced "far searches" and whatnot, to actually produce something that <resembles> the frames that would've been there.
[17:20:14 CET] <Kadigan> But I guess it's to taste. ;)
[17:21:36 CET] <Xys> Thanks a lot guys. Even I don't understand everything haha
[17:21:47 CET] <Xys> So basically there's nothing wrong with my video ?
[17:22:04 CET] <alexpigment> Xys: not from what I can tell. Plays smoothly over here
[17:26:10 CET] <Xys> Okay thanks a lot !
[17:37:11 CET] <Kadigan> Live and learn: you can't control the target environment, or hardware, or whatever really. Put it together and hope for the best. :D
[17:38:44 CET] <alexpigment> Kadigan: 100% truth :)
[17:40:03 CET] <Kadigan> It took me half-a-year to a year to finally explain to my boss why the photo we just uploaded looks different on his PC than it did on mine... or why it'll look even more different on other people's PCs... and the like.
[17:40:23 CET] <alexpigment> Kadigan: I've been through that conversation more times than I can count
[17:41:06 CET] <Kadigan> I think he ultimately accepted an explanation in the form of "Those people's displays aren't calibrated like ours are". The idea that even displays that stood next to each other on the production line will have slight differences due to mix imperfections, impurities and production limits... I don't think he's ready for that one, yet. :D
[17:41:07 CET] <alexpigment> Color profiles and wide gamut monitors don't help the situation
[17:43:38 CET] <Hi-Angel> Is there a way to make ffmpeg to work with extracted frames? (and what are they anyway?)
[17:43:39 CET] <Hi-Angel> In a background: I'm trying to restore a video from an AVI file. Its header is completely screwed, apps doesn't recognize it. So I dived into AVI specification, and found that I can find and extract video frames (they're stored in chunks with size and data). But I have no idea what to do with those extracted frames. "file" command says it's a "data".
[17:44:00 CET] <Kadigan> alexpigment: And as for the fact that his eye introduces variances and adds its own little issues... or the fact that his vision isn't nearly as high-def as he believes it to be (simple test: at his request, make a slight change to a photo -- but actually mimick it only, don't make any actual input -- he sees a difference despite there being none!)... I don't think he'll EVER be ready for that one. :D
[17:45:39 CET] <Kadigan> Hi-Angel: you probably extracted frame data, ie. the physical contents of the frames, as written by the codec that was used to compress them. I'm not sure how to configure ffmpeg to work w/ it, but the idea would be to tell it everything you know about the codec (if possible) so that it could attempt to decode the stream.
[17:46:45 CET] <Hi-Angel> Kadigan: okay, suppose I know that "everything", how do I make ffmpeg to produce something useful from a frame?
[17:46:51 CET] <Kadigan> That header you're missing contains all of the information you actually need for this, if memory serves (the frame index should be at the back of the file though)
[17:48:29 CET] <Kadigan> Hm... you could try -i ./%0howevermanyd.ext and seeing what ffmpeg makes out of it... probably won't do much, if anything, but hell, maybe it was mjpeg? (would mjpeg fit into an AVI container?)
[17:48:39 CET] <alexpigment> Kadigan: admittedly, colors on monitors are hard to understand, regardless of your vision :) Color gamut, monitor calibration profile, color profile embedded in images, ability to see 10-bit color, TN vs IPS technology. It's so multifaceted, that I don't really blame anyone for being confused :) I've just had to learn about it to do my job, and that's my only excuse
[17:49:00 CET] <Hi-Angel> Okay, thank you!
[17:49:22 CET] <Kadigan> Hi-Angel: look up ffmpeg's manual to understand the number notation
[17:49:37 CET] <Kadigan> for instance, %05d would mean "5-position numbers in sequence", eg. 00001, 00002...
[17:51:53 CET] <Kadigan> alexpigment: yeah... in fact, I think the only reason we can actually MOSTLY see the same colors on different displays is because these are interpretative things :D internalized color mappings are unavailable for external observation :D
[17:51:59 CET] <Kadigan> ^-- if that made any sense
[17:52:15 CET] <Kadigan> In short, I think it's a miracle we can agree that 'red' on one display matches 'red' on another :D
[17:53:15 CET] <Kadigan> But try to work as a website designer, a graphics/photo artist, or a video editor (or at a printer, whatever)... I dare you. You'll find out exactly how many different ways to see color exist within each person alone, let alone a given population... :D
[17:53:27 CET] <Kadigan> s/at/a
[17:57:10 CET] <alexpigment> sorry, real life happened for a second
[17:57:54 CET] <alexpigment> Kadigan: yep. it's very true. I have a jacket that I think is brown and my wife thinks it's gray
[17:58:04 CET] <alexpigment> she's a graphic designer by trade and I work with video
[17:58:14 CET] <alexpigment> :)
[18:30:08 CET] <Durandal> Is there a way to find out the exact channel mapping used on a multichannel audio file? I.e. whether 5.1 sound uses Vorbis ordering or WAV standard ordering?
[18:30:45 CET] <Durandal> The format is DTS embedded in an MKV if that makes a difference
[18:32:19 CET] <rcombs> Durandal: programmatically using lavc, or just using e.g. ffprobe
[18:32:34 CET] <Durandal> ffprobe just tells me  Stream #0:1(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s (default) (forced)
[18:32:55 CET] <rcombs> there you go, 5.1(side)
[18:33:22 CET] <rcombs> that's stereo front+center+stereo side
[18:33:37 CET] <rcombs> you can look at lavu/channel_layout for the list of names
[18:33:44 CET] <furq> Durandal: apparently dts should be fc, fl, fr, rl, rr, lfe
[18:34:06 CET] <rcombs> here it's mapped as sl, sr
[18:34:38 CET] <Durandal> FC is the first channel?
[18:34:42 CET] <furq> apparently
[18:34:45 CET] <furq> http://avisynth.nl/index.php/GetChannel
[18:34:47 CET] <furq> according to that anyway
[18:36:51 CET] <Durandal> Okay let me get to my real problem: I can't convert this stream to Opus
[18:36:55 CET] <Durandal> I get [libopus @ 0000000001fee700] Invalid channel layout 5.1(side) for specified mapping family -1.
[18:37:05 CET] <Durandal> Presumably I have to transform the channel mapping somehow to get it to encode
[18:37:48 CET] <furq> you can try -af channelmap
[18:37:57 CET] <furq> or maybe just -ac 6 will try to map it properly, idk
[18:38:05 CET] <furq> !filter channelmap @Durandal
[18:38:05 CET] <nfobot> Durandal: http://ffmpeg.org/ffmpeg-filters.html#channelmap
[18:39:12 CET] <durandal_1707> FC is front center
[18:40:02 CET] <furq> oh hey
[18:40:04 CET] <furq> Durandal: https://trac.ffmpeg.org/ticket/5718
[18:42:25 CET] <Durandal> okay, that's the ticket
[18:42:50 CET] <Durandal> This used to work before with -c:a opus, but since then I think extra validation was added which mistakenly caused this case to fail
[19:00:44 CET] <gejntoo> hello
[19:01:51 CET] <gejntoo> i have a video that is 3 minutes long and is in 24 fps and i want to convert that video to 1 second long but 3*60*24 fps
[19:01:56 CET] <gejntoo> is it doable in ffmpeg?
[19:07:21 CET] <tdr> gejntoo, https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video
[19:08:48 CET] <gejntoo> i don't want to speed up or slow down that video, i need to put every frame of that video in one second, making a video that is 3*60*24 fps
[19:10:17 CET] <devinheitmueller> gejntoo: Very few products will be able to decode 4320 frames in one second.
[19:10:21 CET] <tdr> read it: "The filter works by changing the presentation timestamp (PTS) of each video frame."
[19:11:10 CET] <tdr> so yes, you DO want to speed it up (presentation time of each frame)
[19:11:57 CET] <devinheitmueller> If the goal is to show some sort of time lapse video, usually you have to drop a bunch of frames to show what ends up being 60 FPS.
[19:12:03 CET] <gejntoo> no, no
[19:12:11 CET] <gejntoo> i don't need time lapse
[19:12:43 CET] <gejntoo> i have a video that has lets say milion frame in total and i want to put that milion frames in one second
[19:13:00 CET] <tdr> thats exactly what that page explains how to do
[19:13:29 CET] <tdr> it explains using a multiplier for frame presentation, you just need to do the math
[19:13:36 CET] <gejntoo> tdr "Note that this method will drop frames to achieve the desired speed."
[19:13:45 CET] <gejntoo> i don't want to drop frames
[19:14:57 CET] <gejntoo> devin so getting back to your statement that very few products will be able to do what i want can you name one product that will do it?
[19:15:05 CET] <gejntoo> will ffmpeg do it
[19:15:14 CET] <devinheitmueller> Depending on the desired output, you can probably just force the input rate to 100000 using -r 100000.
[19:15:27 CET] <gejntoo> i know that my monitor wont display it, and my video player will probably freeze
[19:15:31 CET] <devinheitmueller> Note, this needs to be on the *input*, not the output (as setting it on the output would invoke the fps filter)
[19:15:33 CET] <gejntoo> ok
[19:15:43 CET] <gejntoo> oh right
[19:16:21 CET] <gejntoo> so i need to cheat ffmpeg so it would think that the input is already a video with 1kk fps and direct it to output
[19:16:24 CET] <gejntoo> right?
[19:16:28 CET] <devinheitmueller> Yup.
[19:16:32 CET] <gejntoo> ok, thanks
[19:16:58 CET] <devinheitmueller> That feature is typically used when the container format doesnt properly the actual framerate of the video.
[19:17:25 CET] <devinheitmueller> (e.g. lets you treat a video as 25 FPS even though the container says its 30 FPS)
[19:18:04 CET] <devinheitmueller> There are likely practical limits though.  With a 90KHz clock you would probably have trouble representing more than that many frames.
[19:18:33 CET] <devinheitmueller> & or does ffmpeg use a 27MHz clock internally?, I never looked.
[19:34:47 CET] <kepstin> devinheitmueller: ffmpeg doesn't used a fixed internal timestamp representation for most things, but when it does it's nanosecond accuracy iirc
[19:35:05 CET] <kepstin> you're usually limited by containers instead, e.g. matroska uses millisecond timestamps
[19:35:52 CET] <BtbN> Internally it's an arbitrarily precise timebase and integer increments of it
[19:36:24 CET] <BtbN> Which can be quite annoying if the increment is 1, and you want to double the framerate but can't modify the timebase
[19:36:49 CET] <devinheitmueller> Yeah, makes sense.  I mucked with it a few months ago in order to get something done, but Ive forgotten the details at this point.
[20:28:24 CET] <dilip> I am very new to ffmpeg
[20:28:32 CET] <dilip> thanks for this channel
[20:28:37 CET] <dilip> Hello guys
[20:29:23 CET] <dilip> Which is the most beginner comfortable GUI for Ubuntu 16.04 for ffmpeg ?
[20:48:30 CET] <utack> you really need to train your paid personel a little better in here, that guy had to leave after 1 minute because he got no response!
[20:48:31 CET] <utack> :D
[20:49:20 CET] <zash> they should demand their money back!
[20:49:28 CET] <utack> good idea
[21:06:10 CET] <durandal_1707> utack: just give me your info
[22:19:30 CET] <DocHopper> Hey ffmpeg, how can I put line breaks in my command to improve its readability?
[22:20:17 CET] <BtbN> That depends entirely on your shell
[22:20:51 CET] <DocHopper> Got it, I'll go that route, thanks.
[23:59:40 CET] <Durandal> -af and -vf don't support stream selectors?
[23:59:58 CET] <Durandal> I suppose because they're just short aliases and not actual commands?
[00:00:00 CET] --- Tue Nov  7 2017


More information about the Ffmpeg-devel-irc mailing list