Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
August 2017
- 1 participants
- 62 discussions
[12:50:49 CEST] <J_Darnley> What would be the best way to enhance the contrast of the blend filter's difference128 mode? I want to see +/-1 differences more easily.
[12:58:36 CEST] <J_Darnley> Adding my own mode it seemd.
[13:00:18 CEST] <atomnuker> stick another filter on front, something like fftfilt
[13:06:19 CEST] <thardin> can a decoder have options?
[13:06:54 CEST] <thardin> so it seems
[13:09:49 CEST] <thardin> considering writing some freedv/codec2 glue in lavc and lavf
[13:34:15 CEST] <atomnuker> yep, they can have options
[13:34:40 CEST] <atomnuker> (do remember they go before the -i argument if using ffmpeg.c)
[13:45:32 CEST] <thardin> context is raw streams that need to know what mode they are to decode correctly
[13:46:04 CEST] <thardin> like 700B and 700C which are both 700 bit/s modes but slightly different
[13:47:12 CEST] <nevcairiel> Usually you would specify that in some parameter, like codec_tag for simple cases, or otherwise some data in extradata for the decoder to parse
[13:51:08 CEST] <thardin> the suggestion I made on their list is to make use of riff twocc:s
[13:51:31 CEST] <thardin> something like 0xC2XX where XX = mode
[13:51:58 CEST] <nevcairiel> yeah thats what codec_tag would be in our world
[13:54:26 CEST] <thardin> and -codec_tag exists too
[13:56:05 CEST] <thardin> there's some debate whether to create a custom container format. I suggested that .wav can work just fine, unless some special features are needed. one example would be not explicitly writing decoder samplerate
[13:56:33 CEST] <thardin> because of the way it works you can encode from 8 kHz but decode to 48 kHz say
[14:04:38 CEST] <atomnuker> that's what opus does
[14:04:52 CEST] <atomnuker> it always decodes to 48khz regardless of input signal bandwidth
[14:05:33 CEST] <atomnuker> thardin: is there absolutely no way to detect?
[14:09:09 CEST] <cone-290> ffmpeg 03Paul B Mahol 07master:b664d1f3ffbc: doc/filters.texi: add another lut2 example
[14:15:52 CEST] <thardin> atomnuker: at 700 bit/s each packet is 28 bits, so no :)
[14:16:05 CEST] <thardin> hence the need for some kind of container
[14:17:30 CEST] <thardin> these would mostly be dumps of QSOs (radio conversations), but there's also been interest for other applications. one guy used the codec to compress audiobooks
[14:18:21 CEST] <nevcairiel> You would think our storage and connectivity would have evolved beyond extremely low bandwidth codecs like that =p
[14:19:27 CEST] <thardin> depends on how much you want to store :) plus many people are still stuck with shitty connections, and data caps
[14:19:53 CEST] <thardin> and for radio the lower the data rate the more energy you can put into each bit
[14:26:39 CEST] <J_Darnley> durandal_1707: thanks for the lut2 line. I'll test the speed of my patch, eventually.
[14:27:27 CEST] <J_Darnley> Or maybe I can squeeze a quick test in now
[14:43:36 CEST] <iive> atomnuker: would you commit pvq_search, it's been 5 days since the last patch.
[14:53:46 CEST] <atomnuker> I'll ping jamrial to take a look at it tonight and commit it tomorrow if there are no issues
[14:53:56 CEST] <atomnuker> or nevcairiel if he has the time
[15:10:08 CEST] <iive> atomnuker: they had enough time
[15:10:33 CEST] <iive> if they want something changed, they can do it after the commit.
[15:13:14 CEST] <atomnuker> chill, tomorrow I'll push it, need to go to sleep now, wouldn't be able to fix fate if it broke something
[15:52:20 CEST] <iive> according to what timezone do you live by? I though you are in GMT
[16:02:47 CEST] <atomnuker> I don't live by any timezone, that's the thing
[16:03:01 CEST] <atomnuker> besides, what's the point of even living by any timezone in the summer
[16:03:33 CEST] <atomnuker> its always bright enough outside to read a book, even at 03:30
[16:04:25 CEST] <atomnuker> I wonder how people up north live like that, I bet they have some pretty thick curtains in every room
[16:05:03 CEST] <atomnuker> just yesterday I was looking at how much of "night" there is up north, and the answer is there isn't any
[16:05:05 CEST] <atomnuker> https://www.timeanddate.com/sun/finland/helsinki
[16:05:46 CEST] <Gramner> you either use curtains or just get used to it.
[16:06:00 CEST] <atomnuker> look at the day/night length, there is no night between april and september and there's usually more day than there is night
[16:08:28 CEST] <Gramner> on the flip side there's hardly any daylight in the middle of the winter here though instead
[16:09:45 CEST] <Gramner> thank <insert deity> for the existence of computers and the Internet. it's the only way of getting through the winter alive
[16:09:57 CEST] <atomnuker> how come?
[16:10:27 CEST] <atomnuker> hm, you have a point
[16:10:48 CEST] <atomnuker> electricity bills are a huge bother and you have to keep yourself distracted from how much you're freezing
[16:12:04 CEST] <atomnuker> whole damn year I've been waiting for summer to hit so I needn't worry and now there's so much daylight at any time runing all the fun it sucks
[16:13:24 CEST] <atomnuker> you know where they don't have issues like that? the equator, truly the home of the human race
[16:13:35 CEST] <Gramner> freezing is overrated unless you actually spend significant time outdoors working or something. I generally use jeans and sneakers unless it's below -40° C
[16:14:31 CEST] <atomnuker> it gets below -40 where you live?
[16:14:37 CEST] <Gramner> yes
[16:14:45 CEST] <iive> atomnuker so I guess you follow this guideline : https://www.youtube.com/watch?v=LO1mTELoj6o (CGP Gray ) :D
[16:18:00 CEST] <J_Darnley> Woo. I am the laundy pile
[16:18:52 CEST] <atomnuker> iive: its not by choice that I go to bed at nearly 16:00 here, its the incredibly unforgiving oversleep thresholds caused by the total lack of darkness
[16:19:21 CEST] <atomnuker> you delay going to bed each night by 1 hour or so during the winter, nothing happens
[16:20:04 CEST] <atomnuker> in the summer, no, 1 hour is fatal and messes everything up
[16:22:02 CEST] <iive> atomnuker: i though you had said that you are in UK... they are not that close to the north pole, are they?
[16:23:02 CEST] <atomnuker> https://www.timeanddate.com/sun/bulgaria/plovdiv vs https://www.timeanddate.com/sun/uk/london
[16:25:37 CEST] <iive> quite close indeed.
[16:36:22 CEST] <nevcairiel> the nights are not dark enough for you in summer in london? buy shades =p
[16:39:12 CEST] <atomnuker> shades and curtains are not enough
[16:39:50 CEST] <atomnuker> I have to tape random bits and tshirts to get any darkness and not get waken up early in the morning because the sun's shining in my window
[16:40:46 CEST] <atomnuker> and even then it still gets warm and the few stray indirect beams provide plenty of light
[16:40:49 CEST] <iive> you can use some heavy bankets and nail them to the windows. I've heard that the winter is cold, so you must have blankets :D
[16:40:49 CEST] <nevcairiel> also dont get windows to the east
[16:41:23 CEST] <atomnuker> I did not have such problems in my basement
[16:41:33 CEST] <Gramner> windows with built in blinds between the glass panels are amazing fyi
[16:42:04 CEST] <atomnuker> they build things to different specs up there
[16:42:29 CEST] <atomnuker> insulation for the winter and complete light blocking in the summer
[16:43:24 CEST] <atomnuker> well, at least its giving me more motivation to move elsewhere
[16:44:04 CEST] <iive> what? you don't have basement where you live?
[16:48:13 CEST] <atomnuker> no
[17:42:17 CEST] <thardin> hum.. can one dump raw essence data to a file?
[17:42:29 CEST] <thardin> .. gotta add one in rawenc.c it seems
[18:35:07 CEST] <J_Darnley> Is there some option I can use on Linux to not segfault when *reading* from outside an allocated buffer?
[18:35:24 CEST] <Blubberbub_> that sounds wrong...
[18:35:40 CEST] <J_Darnley> Well sure it is
[18:36:09 CEST] <J_Darnley> but I would rather make progress in the middle of my frame than handle the edge cases right now.
[18:36:25 CEST] <Blubberbub_> if its not allocated its not your frame
[18:36:29 CEST] <Blubberbub_> it contains random data
[18:37:03 CEST] <J_Darnley> Sure, at the edge that's true, the rest of the reads will be within the frame.
[18:38:53 CEST] <Blubberbub_> you could just allocate a bigger memory then
[18:39:18 CEST] <J_Darnley> Sure, somewhere, whereever testsrc2 allocates its frames.
[18:39:43 CEST] <kierank> J_Darnley: show me the code
[18:39:44 CEST] <kierank> I will fix it
[18:40:08 CEST] <J_Darnley> If you're really looking for things to do, sure
[18:40:11 CEST] <Blubberbub_> there are only 4 edge cases, aren't there? ;)
[18:42:46 CEST] <Blubberbub_> could also change your code, so it does ignore the edges by only processing the inner part
[18:44:05 CEST] <J_Darnley> OH YES! DON'T DOEXACTLY WHAT I AM TRYING TO DO. THAT SOUND LIKE A GREAT IDEA.
[18:44:24 CEST] <Blubberbub_> you misunderstood me
[18:45:17 CEST] <Blubberbub_> your code segfaults because it accesses data out of the frame? shrink your working area so "out of the frame" is inside the frame
[18:45:25 CEST] <iive> Blubberbub_: 4 edges and 4 corners :D
[18:45:35 CEST] <J_Darnley> No. You mean I shouldn't copy from -2..width+2 which is exactly what I need to do.
[18:45:39 CEST] <iive> Blubberbub_: you mean, allocate frame with bigger width/height
[18:46:15 CEST] <Blubberbub_> that idea was already dismissed earlier.
[18:46:33 CEST] <Blubberbub_> but yea - boils down to the same thing
[18:47:03 CEST] <iive> i thought that the idea that was dismissed was to allocate more, in the malloc part.
[18:47:49 CEST] <J_Darnley> kierank: pushed to dirac3
[18:48:23 CEST] <J_Darnley> if you really want: move the copying back from dwt_slice into encode_frame
[18:49:06 CEST] <J_Darnley> or do it conditionally in dwt_slice, whichever
[18:49:14 CEST] Action: J_Darnley goes for a piss
[19:54:13 CEST] <thardin> is there a way to set options on a stream?
[19:54:41 CEST] <thardin> in my case I want to manually set codec_tag in a demuxer
[19:56:53 CEST] <thardin> format option is a possibility I suppose, but it'd be nice to be able to use an existing option
[20:47:26 CEST] <thardin> seems it's just that avformat_find_stream_info() tries to open the decoder, which is expecting codec_tag to be set for now
[20:54:58 CEST] <thardin> I think I'll add a -mode option instead or something
[22:29:27 CEST] <artic> Hi! I am trying to seek a h264 file using av_seek_frame(), and I always get the error code which translates to string as "Operation not permitted". Does anyone know what could the error be? Is there any possible way to correctly seek a file like this?
[22:30:01 CEST] <BtbN> is the file even seekable? Or is it a stream/pipe/something?
[22:30:37 CEST] <artic> I read that this conversation already took place here 4 years ago, but no solutions were found: http://lists.ffmpeg.org/pipermail/ffmpeg-devel-irc/2013-May/001376.html
[22:31:19 CEST] <JEEB> I would use a wrapper like ffms2 if you need seeking in raw bit streams (unless you hit a bug in ffms2)
[22:31:36 CEST] <JEEB> a wrapper would index the positions of seekable spots
[22:31:39 CEST] <artic> @BtbN It is a file. Is there a way to know whether I a file is seekable or not?
[22:31:54 CEST] <BtbN> if it's on a normal local disk, it is
[22:35:08 CEST] <artic> @JEEB Unfortunately I cannot use a wrapper since the project I am working on is already fully based on ffmpeg libraries
[22:36:03 CEST] <artic> I don't know if this information is valuable, but ffmpeg is not able to extract such video's duration
[22:36:44 CEST] <BtbN> because it does not have one
[22:36:51 CEST] <BtbN> it also has no framerate
[22:37:27 CEST] <BtbN> the only thing it has is a frame count. And to get that you need to parse the whole thing
[22:38:38 CEST] <JEEB> artic: then if you are required to seek in files without any index you will have to implement something similar
[22:39:45 CEST] <artic> @BtbN However, I have an MJPG video (which contains an audio stream). I am able to seek the video file using timestamp. However, ffmpeg is not able to return me a valid duration. Can ffmpeg still seek the file because it has an audio stream perhaps?
[22:40:13 CEST] <BtbN> if it is in a proper container, which it probably is when there is audio, yes
[22:40:20 CEST] <BtbN> the container provides the neccessary meta data
[22:40:32 CEST] <JEEB> of course you have containers where there is no seeking related metadata
[22:40:34 CEST] <JEEB> like mpeg/ts
[22:40:39 CEST] <JEEB> *mpeg-ts
[22:41:01 CEST] <BtbN> I'm pretty sure it will offer rudmimentary seeking for ts though
[22:41:11 CEST] <BtbN> Not perfect, but somewhat working
[22:41:16 CEST] <JEEB> yes, but that will not end up where you want in general
[22:41:21 CEST] <JEEB> unless you do bytewise seek
[22:44:53 CEST] <artic> JEEB BtbN: Got it. I think I will need to preprocess the whole video in this case then. I was thinking about mapping frame timestamps to byte positions. Would you have recommended resources where I can read about bytewise seek?
[22:45:14 CEST] <JEEB> it's just a flag :P
[22:45:16 CEST] <BtbN> just remux it into mp4 or something?
[22:45:31 CEST] <BtbN> you generally don't want to deal with raw h264
[22:45:38 CEST] <JEEB> I agree :P
[22:45:45 CEST] <JEEB> too bad ffmpeg.c IIRC still failed with raw H.264
[22:45:55 CEST] <JEEB> so you have to use something like l-smash's muxer
[22:46:35 CEST] <artic> I agree as well hehe. This is purely an user request ):
[00:00:00 CEST] --- Tue Aug 1 2017
1
0
[00:00:06 CEST] <JEEB> and you get the parameters for the cross compilation from the config posted in your build
[00:00:39 CEST] <JEEB> --enable-cross-compile --cross-prefix=sh4-linux- --target-os=linux --arch=sh4
[00:01:52 CEST] <paul_> I don't have STM cross-compiler :(
[00:02:02 CEST] <JEEB> well then you're fucked
[00:03:07 CEST] <paul_> Can not compile on my laptop? Under sh4 only in the input settings?
[00:03:44 CEST] <JEEB> you need a cross-compiler to compile for SH4
[00:04:26 CEST] <paul_> Are you writing about it # Apt-get install gcc-sh4-linux-gnu g ++ - sh4-linux-gnu
[00:04:54 CEST] <JEEB> yes, the cross-prefix seems to be sh4-linux
[00:05:03 CEST] <JEEB> so sh4-linux-gcc
[00:05:05 CEST] <paul_> and install this on my computer
[00:08:37 CEST] <paul_> Can i do according to this description? https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
[00:09:25 CEST] <JEEB> you don't even have to go that far, that's meant for x86(_64)
[00:09:41 CEST] <JEEB> make sure you have your toolchain (aka you can run "sh4-linux-gcc")
[00:10:02 CEST] <JEEB> then you have git and that's more or less it?
[00:11:15 CEST] <JEEB> then `git clone "https://git.videolan.org/git/ffmpeg.git" && mkdir -p sh4_build && pushd sh4_build && ../ffmpeg/configure --enable-cross-compile --cross-prefix=sh4-linux- --target-os=linux --arch=sh4`
[00:11:47 CEST] <JEEB> then see how badly the configuration step fails
[00:12:06 CEST] <JEEB> if it passes, you can `make` to compile yourself a ffmpeg binary to test out
[00:12:22 CEST] <JEEB> if not, ffbuild/config.log has verbose logging
[00:13:05 CEST] <paul_> Slowly :)
[00:22:40 CEST] <paul_> ok git clone is ready
[00:23:16 CEST] <paul_> Extracted to home / ffmpeg
[00:24:16 CEST] <paul_> and install --> Apt-get install gcc-sh4-linux-gnu g ++ - sh4-linux-gnu , too
[00:27:25 CEST] <paul_> On the computer this looks like -> https://pastebin.ca/3849179 so what should I write in the ffmpeg compilation?
[00:29:21 CEST] <JEEB> I have already noted basic compilation steps based on the configuration of that SH4 build you had if you can run sh4-linux-gcc
[00:29:29 CEST] <thebombzen> I have never seen that architecture before :O
[00:29:40 CEST] <JEEB> it's what was in dreamcast
[00:30:05 CEST] <paul_> no dekoder is adb5800sx
[00:33:16 CEST] <paul_> log --> https://pastebin.ca/3849180
[00:33:56 CEST] <JEEB> that's why I asked
[00:34:01 CEST] <JEEB> can you run sh4-linux-gcc
[00:34:12 CEST] <JEEB> `../ffmpeg/configure: 892: ../ffmpeg/configure: sh4-linux-gcc: not found`
[00:34:45 CEST] <paul_> whow run ?
[00:35:09 CEST] <JEEB> well how do you run something on the terminal :P
[00:35:26 CEST] <JEEB> if you don't have that compiler then you have to install it
[00:35:57 CEST] <paul_> i have install sh4-linux-gcc
[00:36:25 CEST] <JEEB> then it's not in your PATH
[00:36:33 CEST] <JEEB> check what that package contains
[00:37:15 CEST] <paul_> Whow ?
[00:37:45 CEST] <JEEB> dpkg-query -L <package_name>
[00:37:56 CEST] <JEEB> as I just googled "ubuntu list files installed by package"
[00:47:08 CEST] <paul_> in usr/bin I have files sh4-linux-gnu-gcc
[00:49:02 CEST] <JEEB> ok, then your cross-prefix is "sh4-linux-gnu-"
[00:49:25 CEST] <JEEB> do note that it is likely that this toolchain is different to STM's, so it might or might not work
[00:54:06 CEST] <paul_> what is Toolchain ?
[00:54:38 CEST] <DHE> the collection of software that together makes your cross compiler (compiler, assembler, linker, and related tools like ar)
[00:57:18 CEST] <paul_> .sh ?
[02:27:16 CEST] <paul_> are u ?
[02:45:32 CEST] <paul_> thx and bye
[03:54:53 CEST] <notdaniel> has anyone used nvenc with a card like a P400? nvidia claims support, but i cant imagine it performs taht well given the specs of the card
[03:55:16 CEST] <notdaniel> but perhaps i'm underestimating just how well optimized those cards are for it
[04:03:53 CEST] <furq> if it is supported then it'll be exactly the same as any other pascal card
[04:04:38 CEST] <furq> the gpu itself is irrelevant unless you're doing cuda/opencl filtering etc
[04:04:48 CEST] <furq> the nvenc asic is identical across all cards of the same generation
[04:05:11 CEST] <furq> the only difference is that some cards are locked to two concurrent streams in firmware, and some aren't
[04:12:57 CEST] <notdaniel> ah, so he cuda core count only matters if youre doing something extra
[04:13:17 CEST] <notdaniel> furq, not just a straight up encode to h.264 4k@60p or something
[04:13:45 CEST] <furq> right
[04:13:57 CEST] <furq> iirc some quadros still have the two streams limitation
[04:14:08 CEST] <notdaniel> yeah that card lists two
[04:14:10 CEST] <furq> and nvidia are not exactly forthcoming with that information
[04:14:12 CEST] <furq> oh ok
[04:14:21 CEST] <notdaniel> but i do not need many
[04:14:21 CEST] <furq> well yeah literally any consumer pascal card will perform the same
[04:14:34 CEST] <furq> so if you just want 4th-gen nvenc then there are probably cheaper ways
[04:15:02 CEST] <notdaniel> have a recommendation? i thought a $200 card was pretty damn cheap
[04:15:12 CEST] <notdaniel> (working with K80s at work and such mostly)
[04:19:21 CEST] <notdaniel> it's not a crazy use case, mostly just capturing from OBS
[04:31:58 CEST] <furq> i've never really touched nvenc so don't take any advice from me as gospel
[04:32:08 CEST] <furq> but the GTX 1050 will be the cheapest card with 4th-gen nvenc
[04:32:20 CEST] <furq> if that's literally all you need it for
[04:34:40 CEST] <stevenliu> https://developer.nvidia.com/nvidia-video-codec-sdk
[04:34:54 CEST] <stevenliu> why donot refer to this site?
[04:50:17 CEST] <notdaniel> stevenliu, i did, i just wasnt aware that all the cards processed nvenc the same, whether the $180 one or the $4000
[04:51:55 CEST] <stevenliu> $4000, rich man,haha, K80 is ok for 4k@60fps but the hevc maybe have problem
[04:52:19 CEST] <notdaniel> 4k@60 is the intended use case here
[04:52:23 CEST] <stevenliu> Kepler maybe not support hevc
[04:52:34 CEST] <furq> it doesn't
[04:52:35 CEST] <stevenliu> if AVC, Kepler is ok
[04:52:40 CEST] <furq> he's not using a K80 though
[04:52:42 CEST] <notdaniel> using k80s for work. this is not for that
[04:52:46 CEST] <furq> ^
[04:52:54 CEST] <notdaniel> this is for OBS streaming on my personal time
[04:53:04 CEST] <notdaniel> ive got a 1080 lying around somewhere
[04:53:19 CEST] <furq> problem solved then
[04:54:03 CEST] <notdaniel> was hoping for this to be a separate machine. would the P400 perform better/worse than 1050 or 1080? if theyre all using the same chip as far as nvenc
[04:54:14 CEST] <furq> the encoding will be basically identical
[04:54:33 CEST] <notdaniel> basically?
[04:54:39 CEST] <furq> and the 1080 has more cuda cores and vram, so it should beat the P400 for filtering etc
[04:54:52 CEST] <furq> basically in that nvidia apparently make small undocumented changes within generations
[04:55:07 CEST] <furq> and idk which of those SKUs is newest
[04:55:16 CEST] <furq> (or if it makes any difference at all)
[04:55:48 CEST] <furq> if you have a spare 1080 then it's not worth spending any money
[04:56:22 CEST] <notdaniel> i wanted to use the 1080 for an editing system
[04:56:32 CEST] <notdaniel> so still might be looking to buy a cheap card for this other use
[04:56:37 CEST] <furq> ah
[04:56:45 CEST] <furq> well yeah a 1050 should be more or less the same
[04:56:48 CEST] <notdaniel> cant seem to even find where nvidia lists nvenc chipsets on the non-quadro cards. which i think is my problem
[04:57:01 CEST] <furq> nvidia are famously circumspect with nvenc stuff
[04:57:07 CEST] <notdaniel> thus here i am
[04:57:10 CEST] <furq> lol
[04:57:29 CEST] <furq> yeah we get a lot of people who buy 1030s with no nvenc, or quadros which can only do two streams
[04:57:31 CEST] <notdaniel> but if theyre all pascal, then, should be fine? i thought some of the geforce cards werent actually being fully utilized with nvenc
[04:57:47 CEST] <furq> that's my understanding of it, yeah
[04:57:58 CEST] <furq> if you're not doing any filtering then they're all identical
[04:58:06 CEST] <furq> encode and decode is all done by the same asic on all pascal cards
[04:58:15 CEST] <furq> except the ones that don't have it at all
[04:59:11 CEST] <furq> it will use up some vram, so it's better to have more, but the 1050 and P400 both have 2GB anyway
[04:59:51 CEST] <notdaniel> cant find anything about stream count, etc. on the 1050. since that varies even with pascal cards
[04:59:57 CEST] <notdaniel> i know the p400 does 2
[05:00:03 CEST] <furq> it's always two for consumer cards
[05:00:08 CEST] <furq> it's unlocked on high-end quadros
[05:00:09 CEST] <notdaniel> ah. good to know
[05:00:23 CEST] <furq> it's not an actual hardware limitation, it's just locked to two in firmware
[05:00:28 CEST] <furq> because $$$
[05:00:54 CEST] <notdaniel> sure
[05:01:31 CEST] <notdaniel> only worked with nvenc in THE CLOUD so didnt even realize the consumer cards handled it
[05:02:00 CEST] <notdaniel> great info, thanks
[06:20:15 CEST] <bencc> https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/hlsenc.c#L783
[06:20:28 CEST] <bencc> shouldn't it say:
[06:20:34 CEST] <bencc> hls->max_seg_size == 0 ?
[06:29:30 CEST] <codebam> when encoding from flac to opus, I made the file output name .opus.ogg, however by doing this it makes it a video with the embedded album art as the photo. how can I force it to not output video?
[06:29:52 CEST] <kepstin> hmm, have they actually confirmed that the 1030 has no nvenc?
[06:30:07 CEST] Action: kepstin wasn't sure from the info he could find
[06:35:28 CEST] <furq> https://devtalk.nvidia.com/default/topic/1015541/does-video-codec-sdk-8-0-s…
[06:35:32 CEST] <furq> this is the best source i can find
[06:35:52 CEST] <furq> that philipl appears to be the same one who has 120 ffmpeg commits
[06:35:59 CEST] <furq> so that's probably trustworthy
[06:47:25 CEST] <kepstin> that said, I have a 1030 and i tried it out of curiousity, and it gave a strange error, but I had no idea whether it was driver issues or card limitation.
[06:47:41 CEST] <kepstin> (on linux)
[08:30:56 CEST] <c3r1c3-Win> If it's not a GTX, then it doesn't have NVENC support.
[08:44:12 CEST] <squ> not really
[08:44:36 CEST] <squ> https://www.geforce.com/hardware/desktop-gpus/geforce-gt-710
[08:44:40 CEST] <squ> this one has
[08:58:49 CEST] <furqan> notdaniel: curious what you're using this all for, i work on something that sounds like it's exactly in that space
[08:59:32 CEST] <furqan> when you go from a 1050-> 1080 the way nvenc operates is it'll reduce the amount of bandwith available to process everything else
[08:59:37 CEST] <furqan> at least on the consumer side
[08:59:50 CEST] <furqan> we use aws g3 instances in the cloud as well
[09:26:35 CEST] <notdaniel> furqan, for work, yeah we run a video platform. built the transcoding bit in-house with nvenc on g2 instances in order to stop paying zencoder 15k/month
[09:27:00 CEST] <notdaniel> but the query about 1050/1080/etc is just for a personal streaming thing
[09:52:07 CEST] <atomnuker> would be cheaper and better to probably get something with a ton of cores and run x264 veryfast
[11:05:31 CEST] <rev0n> Does anybody know how to concatenate realtime webm chunks? I have a webm blobs coming over websocket to ffmpeg server, but the problem is that each chunk acts like a full movie (getUserMedia() generated blobs), but I pipe them to ffmpeg and ffmpeg crashes not expecting headers in each and every file. Any idea how should I prepare each chunk other than the first one so ffmpeg understand the incoming data correctly?
[11:17:09 CEST] <paul__> Hi, it's me again :)
[11:25:52 CEST] <furqan> notdaniel: cool, i'm working on a tool that's for streaming (like obs), we're in alpha feel free to check us out: bebo.com
[11:40:27 CEST] <squ> windows 10 only?
[11:53:05 CEST] <paul__> ye
[12:20:09 CEST] <sine0> ok this is going to sound weird, im pulling up some cctv of a robbery that happened at work, it was at night, the footage is a little bit motion blur when im stopping frame by frame, is there a way to blend the images or some way of getting a more complete image, i know its the human eye that makes it watchable when its moving...
[12:21:43 CEST] <sine0> I just about know about the ivtc and some issue with scan lines.. or am i way off
[12:36:56 CEST] <squ> google for deblur
[12:38:11 CEST] <squ> https://www.youtube.com/watch?v=IlcLa5JeTrE
[13:14:06 CEST] <sine0> ta
[14:33:20 CEST] <Renari> HI guys, I'm trying to make a copy of a file using a lot of attachments as well as subtitles and metadata. I'm doing this: https://gist.github.com/Renari/b3beae9d9023b713b1f6a5920d1b36d3#file-remove… I'm not sure why but this isn't working as expected. The error that is showing in that gist is an error that is output however the file is still created, if I try to view the streams in the new output file I get the duplicate element
[14:33:20 CEST] <Renari> error also shown there.
[14:40:20 CEST] <Renari> Ah I think I finally figured it out, it was because I was only copying the metadata for the video stream and not all the other streams as well.
[15:15:40 CEST] <rgerganov_> Hi. I am using the ffmpeg library to play MPEG TS http streams. Are there any options which I can use to control the buffer size? I am using avformat_open_input to open the stream.
[15:33:40 CEST] <selfie> Hi!
[15:34:15 CEST] <selfie> Im planning to create a VOD service with 15TB of videos
[15:34:31 CEST] <selfie> With 20 million viewers
[15:35:15 CEST] <selfie> Anyone have some tips for streaming?
[15:37:22 CEST] <RandomCouch> Um
[15:37:27 CEST] <RandomCouch> I'm actually Vegan
[15:48:04 CEST] <DHE> selfie: that's a lot. competing with netflix?
[15:48:54 CEST] <selfie> Haha actually its just for one partner
[15:49:36 CEST] <selfie> We will have at least 4-5 more with same amount of traffic
[15:50:02 CEST] <selfie> 100M+ totally
[15:50:38 CEST] <DHE> wow. gonna need a lot of machines serving all that up... and/or hire a CDN I think. akamai?
[15:50:56 CEST] <DHE> (not an endorsement, just dropping a name to get you going in the right direction)
[15:54:53 CEST] <Nacht> You would def need a CDN with those ammounts. And still need a trunk load of Edges
[15:55:21 CEST] <Nacht> I take it it will involve DRM ?
[17:25:32 CEST] <selfie_> Hey
[17:25:41 CEST] <selfie_> You are right but CDNs are too expensive
[17:26:10 CEST] <selfie_> Actually we are being CDN for those partners
[17:27:05 CEST] <selfie_> Main problem is handling 20k people streaming at the same time
[18:00:04 CEST] <Mavrik> Hmm... is there any good way of speeding up yadif besides making frames small?
[18:01:29 CEST] <CoreX> no
[18:32:07 CEST] <DHE> yadif has some multi-threading support (slice style)
[19:21:35 CEST] <bencc> a patchwork means that someone suggested a change?
[19:21:37 CEST] <bencc> https://patchwork.ffmpeg.org/patch/4526/
[19:21:44 CEST] <bencc> or is it already accepted?
[19:24:16 CEST] <thebombzen> how good is libavfilter's deband filter? is it worth using at all? are the default settings fine?
[19:24:22 CEST] <thebombzen> I'm thinking of using something like this
[19:26:50 CEST] <thebombzen> I'm thinking of turning 8-bit 1080p into 10-bit 720p using this filterchain: zscale=hd1080:f=spline36,format=yuv444p16le,deband,zscale=hd720:f=spline36:d=error_diffusion,format=yuv420p10le
[19:27:03 CEST] <thebombzen> I'm not sure if the deband is worth it or useful
[19:30:52 CEST] <thebombzen> also, does it depend on the source type? like if the source start is anime, is it different?
[19:31:09 CEST] <thebombzen> compared to film or 3D animation
[20:27:21 CEST] <kepstin> my experience with deband is that you're probably going to need to tweak it a little, and you might want to consider denoising beforehand (and possibly re-adding noise afterwards)
[20:28:49 CEST] <kepstin> I'd probably only use it if the source has visible/annoying banding artifacts.
[20:36:43 CEST] <Cobalt> Hello. I'm making a video from a time-lapse of still images serially numbered. For a slightly less jerky video I wanted each frame to fade out into the sunsequent 5 or so frames. I have a total of 5500 frames at 24fps. Is there a way to achieve this fade out? I'm currently using: ffmpeg -framerate 25 -i img%05d.jpg -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p output.mp4
[20:41:09 CEST] <thebombzen> kepstin: the reason I added the deband filter was 8bit -> 10bit will essentially have banding
[20:41:33 CEST] <kepstin> sure, but it only matters if it's visible
[20:41:53 CEST] <thebombzen> well it won't be noticable if it's not in the 8-bit source, but the 10-bit upscaled version that you feed to x264 will be banded
[20:42:04 CEST] <thebombzen> debanding could potentially improve the compression ratio and prediction
[20:42:24 CEST] <thebombzen> because color banding is essentially when you have insufficient color precision, upscaling to 10-bit doesn't really seem useful unless you have continues 10-bit input
[20:43:28 CEST] <thebombzen> the idea was that perhaps the deband filter could populate the extra lower-order bits in a way that makes the encoder take advantage of the extra precision
[20:44:02 CEST] <kam187> hmm can you stich multiple videos of different sizes together without reencoding?
[20:44:23 CEST] <furq> by ignoring the last two words in that sentence
[20:44:27 CEST] <kepstin> kam187: you mean concatenate them (one after the other)?
[20:44:35 CEST] <kam187> yeah
[20:44:40 CEST] <thebombzen> kepstin: if you don't deband, I mean the predictors will not be more accurate. It might still be worth it could still get away with more quantization though, but only if libavfilter's deband filter isn't bad
[20:44:40 CEST] <Cobalt> Sorry, I got disconnected.
[20:45:13 CEST] <thebombzen> kam187: no, not realistically. Players generally expect the video stream to be a constant size. You'd have to scale all the components to the same size
[20:45:16 CEST] <kepstin> kam187: you could put them both in mpegts, concatenate them, and some players might be able to handle the reconfiguration to switch size...
[20:45:26 CEST] <Cobalt> I missed any answers if anyone answered in the last 3-4 minutes.
[20:45:38 CEST] <kam187> hmm ok
[20:45:49 CEST] <thebombzen> so basically yes you can technically, but it will not work with most players.
[20:46:11 CEST] <kam187> i'm trying to handle orientation change when capturing a mobile device screen
[20:46:33 CEST] <thebombzen> ah. I believe there might be metadata to do that
[20:46:38 CEST] <kam187> when it rotates it sends a new SPS/PPS and so switches resolution
[20:47:07 CEST] <thebombzen> some image formats (jpeg + jfif) have metadata to rotate. Like when you take a rotated picture with your camera, the image reader knows to rotate it back before displaying.
[20:47:37 CEST] <thebombzen> Some video formats and players might respect that metadata, and some of them might be able to do it dynamically
[20:48:00 CEST] <thebombzen> but it's not likely that you'll be able to do that for all of them
[20:48:19 CEST] <kam187> so right now i'm saving to mp4 and i setup the sps/pps in the extradata field, but i can't change it half way through
[20:48:31 CEST] <kam187> i also can't add a second video stream half way through with new meta data
[20:48:36 CEST] <kepstin> kam187: yeah, you might be able to store the video in a fragmented mp4 or mpegts or something, but again player support is gonna be pretty poor
[20:48:50 CEST] <kam187> :(
[20:49:03 CEST] <thebombzen> kam187: you might be able to accomplish this with gpac or lsmash, but I'm not sure. JEEB would know
[20:49:20 CEST] <thebombzen> (author of L-smash)
[20:49:50 CEST] <thebombzen> (I think)
[20:50:04 CEST] <kepstin> kam187: if you're just looking for temporary storage, I'd honestly start a new file on orientation switch, and then later consider doing a resize/re-encode to combine them if desired.
[20:50:16 CEST] <furq> he is not the author of l-smash
[20:50:50 CEST] <kam187> i'm just recording the screen for later playback, so yeah i can make a new file no problem
[20:51:01 CEST] <kam187> but not sure how i would put it together without re-encoding
[20:51:09 CEST] <kam187> i dont' really want to waste resources re-encoding
[20:51:22 CEST] <thebombzen> ah, he's just on the L-smash team, my bad :P
[20:51:59 CEST] <thebombzen> kam187: why would the screen orientation change dynamically if you're recording it?
[20:52:17 CEST] <thebombzen> and why would re-encoding waste resources? if anything it would be a quality hit but not a resource hit
[20:52:18 CEST] <kam187> if the suer rotates the device
[20:52:23 CEST] <kepstin> thebombzen: because someone rotated the phone while the screen's being recorded?
[20:52:34 CEST] <thebombzen> oh this is a phone :P
[20:52:40 CEST] <kam187> it' takes time and cpu to re-encode
[20:52:44 CEST] <kepstin> i'm actually kind of curious what my phone does in that case, actually - it has a built-in screen recorder
[20:52:48 CEST] <thebombzen> I missed that
[20:52:55 CEST] Action: kepstin should test it
[20:53:02 CEST] <thebombzen> kam187: honestly I'm thinking that if someone rotates the phone, you should just have the video be sideways
[20:53:56 CEST] <thebombzen> like if the person changes the phone from portrait to landscape and the UI adapts, it might make sense to flag the timestamp in a log, but not stop encoding and not adapt the encoder
[20:54:17 CEST] <kam187> i wouldn't mind that at all
[20:54:27 CEST] <thebombzen> maybe you could use some sort of fanciness to force an I-frame
[20:54:38 CEST] <kam187> but it sends a new SPS/PPS and the h264 stream is now in a new size (w/h switched)
[20:54:43 CEST] <kepstin> alright, I just made 2 videos using the sony builtin screen recorder on my android phone - starting landscape and switching to portrait, and vice-versa
[20:54:47 CEST] <kepstin> lets see what they did
[20:55:03 CEST] <kam187> hmm
[20:55:09 CEST] <thebombzen> kam187: how are you recording the screen? I assume this is android, but can't you ignore a device rotate event
[20:55:19 CEST] <kam187> this is ios (airplay)
[20:55:30 CEST] <YokoBR> hi folks
[20:55:31 CEST] <thebombzen> how does one record an iOS screen :O
[20:55:39 CEST] <thebombzen> I've wanted to do this for a while
[20:55:41 CEST] <Cobalt> I'm afraid the docs online only talk about a few number of images used as slideshows with fade ins and outs. :(
[20:55:45 CEST] <YokoBR> how can I transmit an mp3 to an icecast server?
[20:55:58 CEST] <kepstin> kam187: hmm, that's probably more like what happens when doing android with chromecast then, I guess?
[20:56:30 CEST] <kepstin> kam187: since in that case they have known player hardware and aren't storing it (just streaming), they just sense the update and continue on, and the player reconfigures
[20:56:38 CEST] <kepstin> just send*
[20:56:47 CEST] <thebombzen> but kam187: you're saying that iOS internally encodes the video, and when the user rotates the screen, AirPlay updates the metadata sent to the encoder, and thus you end up with a different H.264 screen?
[20:57:07 CEST] <thebombzen> because this might be a really stupid question, but is there any reason you cannot turn on "Lock Screen Orientation" for the duration of the recording?
[20:57:17 CEST] <thebombzen> as in, do you *have* to rotate the screen or have to allow the user to do that?
[20:57:32 CEST] <kam187> yes ios internall encodes it to h264, when you rotate it sends a new SPS/PPS and starts sending int he new resolution
[20:57:44 CEST] <kepstin> when I use the internal video recording on my sony phone, the result is always 1920x1080, and the screen is pillarboxed when in portrait
[20:57:55 CEST] <thebombzen> Depending on the reason you're encoding it, you can just turn on lock screen orientation, so you don't accidentally have that crap
[20:58:01 CEST] <kepstin> but I assume that the app is capturing the screen, scaling, *then* encoding on the hw encoder.
[20:59:30 CEST] <kepstin> so that doesn't help you, if you're just getting the encoded video from some other app
[20:59:33 CEST] <kam187> hmm i think multiple files is the way to fo
[20:59:35 CEST] <kam187> *go
[21:23:53 CEST] <YokoBR> hi there
[21:24:18 CEST] <YokoBR> I'm trying to concat a list, but I get code 1: list.txt: operation not permitted
[21:26:12 CEST] <Cobalt> Meh. I think I am going with butterflow.
[21:30:39 CEST] <YokoBR> I'm using node-fluent-fffmpeg kepstin
[21:31:34 CEST] <kepstin> well, that's not really something we support here, although we could help you with more complete output or info about the command that the node module build
[21:31:44 CEST] <kepstin> *that the node module built
[23:11:25 CEST] <rev0n_> Is it possible to ignore file duration in ffmpeg?
[23:11:48 CEST] <JEEB> I don't think much in FFmpeg's libraries use the duration, EOF is the thing that matters
[23:11:48 CEST] <Cobalt> Thanks. Found project butterflow on github which fills the role I was looking for.
[23:12:15 CEST] <Cobalt> It is interesting to note that it lists ffmpeg as one of its dependencies.
[23:12:33 CEST] <JEEB> many things use the libraries (or the command line app)
[23:12:38 CEST] <voip_> hello guys, i need ffmpeg with h264_qsv support
[23:12:46 CEST] <JEEB> I mean, nothing else implements as many things as FFmpeg's libraries
[23:13:16 CEST] <JEEB> VLC wouldn't be able to play most videos, gstreamer without hardware decoding modules would be the same
[23:13:20 CEST] <voip_> whaere i can faound step by step compile guide ?
[23:18:51 CEST] <pgorley> voip_: ./configure && make, if you want to know what options you can configure: ./configure --help
[23:19:57 CEST] <rev0n_> JEEB: do you know what byte means EOF in webm?
[23:20:22 CEST] <pgorley> voip_: else there's https://trac.ffmpeg.org/wiki/CompilationGuide
[23:20:48 CEST] <voip_> pgorley, i think a also will need Intel Quick Sync SDK, right ?
[23:21:26 CEST] <JEEB> rev0n_: when you keep reading at the end you will get AVERROR_EOF from the reader
[23:24:33 CEST] <pgorley> voip_: it depends on intel media sdk, and is disabled by default, so you need to configure with --enable-libmfx
[23:25:04 CEST] <rev0n_> JEEB: actually I am analyzing webm file byte by byte, as I get webm blobs from the browser that needs to be converted to a stream. I get 1s chunks but each of chunks acts like totally new file which while live streaming makes ffmpeg crash (it does not expect headers of each chunk while piping the data with python). My problem is making the data readable to ffmpeg so I can start RMTP connection with ffmpeg to my broadcasting server
[23:25:45 CEST] <voip_> pgorley, thank you
[23:25:50 CEST] <TD-Linux> is this from the MediaRecorder API btw?
[23:25:51 CEST] <JEEB> webm is just matroska
[23:26:12 CEST] <rev0n_> TD-Linux: that's right
[23:27:15 CEST] <TD-Linux> note that MediaRecorder doesn't guarantee that each callback == one webm chunk
[23:27:29 CEST] <TD-Linux> unless you are starting and stopping it
[23:28:04 CEST] <TD-Linux> (it's something I wouldn't mind adding to the spec though)
[23:28:30 CEST] <TD-Linux> ah wait timeslice was added since last I checked
[23:30:35 CEST] <rev0n_> JEEB: right, but I was not able to find detailed description of the file construction. I was able to reencode one chunk with ffmpeg (so I get the right headers in the file), and I created a longer file just by conctinating with ffmpeg this one chunk a few times. This let me kinda reverse-engineer the bytes by hours of analysis, and I almost can play the created file. Yeah... almost
[23:31:22 CEST] <TD-Linux> rev0n_, https://www.matroska.org/technical/specs/index.html
[23:31:38 CEST] <TD-Linux> basically you want to concatenate just the Cluster elements + one block of headers
[23:32:49 CEST] <rev0n_> TD-Linux: MediaRecorder seems to be getting the complete chunks, as when I save incoming data with python just writing the incoming bytes to a file, the file is playable with ffmpeg. MediaRecorder gives me full chunks as far is I know
[23:34:50 CEST] <TD-Linux> ok
[23:36:31 CEST] <rev0n_> TD-Linux: what I do is I take MediaRecorder blob (that's what it's returning) and send it over websocket to my Python tornado server. When I connect with my client js app I open a subprocess with ffmpeg and on-message I pipe incoming data to ffmpeg. But obviously this doesn't quite work, as ffmpeg has problems with unexpected headers of each and every chunk, which seems (as mentioned before) a completely new file to ffmpeg. Any idea how
[23:36:31 CEST] <rev0n_> can I work this around?
[23:39:19 CEST] <TD-Linux> rev0n_, yes, you basically want to strip off the header of the second chunk+ and only send the Cluster elements
[23:39:27 CEST] <TD-Linux> as well as possibly fix timestamps
[23:41:48 CEST] <rev0n_> TD-Linux: yes! that's what I want to do, if this will work with ffmpeg. I am banging my head against the wall after spending ~10 hrs in my example file's binary code...
[23:41:55 CEST] <TD-Linux> if you pass the timeslice parameter to MediaRecorder I'd expect it to give you ready-to-join Cluster elements... but I guess not?
[23:42:20 CEST] <TD-Linux> also a quick google found this, maybe you can look at its source code https://www.npmjs.com/package/webm-cluster-stream
[23:42:40 CEST] <rev0n_> ok, just checking
[23:44:18 CEST] <TD-Linux> (most of the magic of that npm package is hidden behind the ebml parser tho)
[23:48:36 CEST] <rev0n_> TD-Linux: I checked the code of the lib and it actually has 39 lines of code, but it requires external ebml library which pretty much makes sence :) I will get a bit deeper into this one and I will get back here soon
[23:49:20 CEST] <rev0n_> yes, that's correct. Let's see how can I make it to pure js without node
[00:00:00 CEST] --- Tue Aug 1 2017
1
0