Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- 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 2018
- 1 participants
- 60 discussions
[00:44:36 CEST] <cone-873> ffmpeg 03Carl Eugen Hoyos 07master:6130068453a9: lavf/mov: Force HEVC codec_id for code-point dvh1 and an hvcC atom.
[07:08:50 CEST] <cone-851> ffmpeg 03Mina 07master:e0539f0349e9: lavfi/xbr: update filter url
[09:00:11 CEST] <ultramage> g'day, one of my dxtory captures is reporting "Not enough slice data available is not implemented" many times during processing, haven't seen this before even though I've encoded captures many times. Version N-91548-g481741ece0. Would it be of any use if I uploaded it according to the instructions?
[09:07:43 CEST] <ultramage> hm, the hardcoded instructions say to upload to ftp://upload.ffmpeg.org/incoming, but it's gone
[09:25:22 CEST] <JEEB> ultramage: yea I'm not sure what the write only thing should be atm
[09:32:06 CEST] <ultramage> long ago I cobbled together a basic php upload script, it's only 10 lines but at this day and age I wouldn't be surprised if there's an exploit in it ><
[09:32:59 CEST] <ultramage> so anonymous ftp wasn't good anymore?
[09:35:52 CEST] <ultramage> you could take the hip modern approach - have them upload to their 'google drive' and share the link
[09:37:24 CEST] <JEEB> 0x0.st etc
[09:37:37 CEST] <JEEB> no weird javascript :)
[09:37:58 CEST] <JEEB> and then add a asample to the trac issue tracker
[09:38:06 CEST] <JEEB> (link to)
[09:47:02 CEST] <ultramage> file's 3 gigs, would have to start slicing and hope ffmpeg recreates the file with all the problem intact... let's see...
[09:49:48 CEST] <ultramage> wonderful, it does... should I really bother making a trac ticket for this though
[10:57:27 CEST] <gagandeepsingh> kierank: did you see the file?
[12:09:40 CEST] <gagandeepsingh> kierank: i am feeling really stuck at this point would like if you could provide the input
[12:11:46 CEST] <kierank> gagandeepsingh: sorry I am busy at the moment, really sorry about this
[12:11:51 CEST] <kierank> who is backup mentor for this project again
[12:11:57 CEST] <kierank> atomnuker perhaps?
[12:14:49 CEST] <gagandeepsingh> yeah
[12:16:01 CEST] <gagandeepsingh> atomnucker how do you suggest i send you the file for reviewing the frame thread code i have written
[12:16:27 CEST] <gagandeepsingh> atomnuker
[12:45:45 CEST] <gagandeepsingh> atomnuker: i have sent you a mail with all the relevant links and you can further ask for more details
[12:57:42 CEST] <ubitux> heh, someone is testing selectivecolor extensively and reporting me a bug
[12:58:09 CEST] <ubitux> i know, nothing out of the ordinary, just made me happy
[13:17:17 CEST] <ultramage> dxtory capture - warnings when encoding with libx264 - "Not enough slice data available is not implemented" - uploaded at http://0x0.st/s4Ot.avi
[14:19:46 CEST] <JEEB> ubitux: it's nice to know that someone is using your code :)
[14:22:28 CEST] <ubitux> JEEB: yeah, especially given the time it took me to RE, code and write about it
[14:29:54 CEST] <JEEB> ubitux: yup :)
[14:30:09 CEST] Action: JEEB waits for his train to get to akiba
[15:13:13 CEST] <durandal_1707> kierank: i checked, it can't overflow as one value is signed int8 and other is 15
[15:15:20 CEST] <durandal_1707> code is here: https://github.com/richardpl/FFmpeg/blob/imm4/libavcodec/imm4.c
[16:02:25 CEST] <durandal_1707> no comments? I thought FFmpeg stands for Fast & Furious Motion Picture Experts Group
[16:03:18 CEST] <BradleyS> i like turtles
[16:08:55 CEST] <atomnuker> that's an odd way to do transforms, people usually loop per-block rather than do 6 at a time
[16:10:41 CEST] <atomnuker> why do you call bswap_buf on the packet? can't you define the bitstream reader endianess manually and have it do it for you?
[16:11:12 CEST] <durandal_1707> atomnuker: it have special little endian reader
[16:11:58 CEST] <durandal_1707> and using little endian flag for bitstream reading did not help
[16:12:29 CEST] <atomnuker> dang
[16:12:59 CEST] <atomnuker> you should use refcounting rather than copying the current frame to the prev_frame, assuming you don't have to dirty your prev_frame
[16:13:27 CEST] <durandal_1707> ok
[16:47:02 CEST] <pasouza> hi, I'm wondering what would be the best place to distribute the super resolution filter data? how is it done for other filters?
[16:53:47 CEST] <atomnuker> off a separate repo
[16:54:50 CEST] <atomnuker> currently you can get the weights for nnedi from a random github repo, but I think a separate repo like ffnvcodec would do fine
[18:53:19 CEST] <JEEB> (34
[19:07:13 CEST] <gagandeepsingh> kierank: are you free right now?
[19:57:40 CEST] <cone-777> ffmpeg 03Clément BSsch 07master:eb1860e0174d: lavfi/selectivecolor: fix neutral color filtering
[20:20:30 CEST] <durandal_1707> anybody had any new insights for imm4 decoder patch I posted
[20:21:25 CEST] <durandal_1707> while i was not here?
[20:30:22 CEST] <jamrial> durandal_1707: use av_fast_padded_malloc
[20:30:43 CEST] <jamrial> the padding is implied with it, and it zeroes it every run as well
[20:32:01 CEST] <jamrial> that is important since, at least afaics, the GetBitContext is overreading into some of those padding bytes
[21:21:35 CEST] <durandal_1707> atomnuker: could you build imm4 branch with ubsan and report any findings when decoding samples from samples.ffmpeg.org/V-codecs/IMM4 ?
[21:29:35 CEST] <atomnuker> building
[21:50:06 CEST] <atomnuker> can't build with either clang or gcc, clang seems to enable -Werror for ubsan and gcc spams gigabytes of "undefined reference" errors when linking
[21:50:13 CEST] <atomnuker> I should try my other machine
[21:50:55 CEST] <durandal_1707> atomnuker: just add -fsanitize=undefined to CFLAGS and LDFLAGS
[21:51:29 CEST] <durandal_1707> with clang, and you need then to rebuild only imm4.o and fftools
[21:52:07 CEST] <jamrial> no, use --toolchain=gcc-usan
[21:52:20 CEST] <jamrial> or clang-usan
[21:52:29 CEST] <durandal_1707> i used above and it worked fine...
[21:53:38 CEST] <jamrial> i know it does, using --toolchain adds the same flags
[22:03:33 CEST] <atomnuker> archlinux broke something probably
[22:03:49 CEST] <atomnuker> I should get rid of it, I only had it to test vulkan with nvidia binaries
[22:04:30 CEST] <jamrial> durandal_1707: ubsan doesn't complain with the two samples
[22:06:23 CEST] <durandal_1707> lol
[22:39:27 CEST] <jamrial> durandal_1707: decoding is wrong, though
[22:39:53 CEST] <durandal_1707> jamrial: yes I know
[00:00:00 CEST] --- Fri Aug 10 2018
1
0
[00:00:43 CEST] <botik101> question about -select filter. I am using select filter to grab frames from a very long video. I have thousands of frames to grab. I am using '
[00:01:02 CEST] <botik101> select_filter += "\'lt(prev_pts*TB\,"+str(ttp)+")*gte(pts*TB\,"+str(ttp)+")" so the string is very long
[00:01:21 CEST] <botik101> is there a way to make select fitler read from text file?
[00:03:57 CEST] <FishPencil> Does anyone know of a way to download DASH segment in parallel? I'm using youtube-dl right now and it's horribly slow because it goes segment to segment
[00:05:16 CEST] <furq> botik101: -filter_complex_script foo.txt
[00:06:03 CEST] <botik101> furq!!!!!!! hey buddy! thank you!
[00:10:19 CEST] <botik101> furq: I am really enjoing learning about ffmpeg - it is really an OS of its own. I am also learning about hardware acceleration and I am blown away. What I still do not understand why there is no native support for it and requires re-compiling. I remember your explanation from before, but i cant compile and i am processing 2 hour long videos and it is killing me
[00:18:19 CEST] <Cracki> and how long does that take?
[01:52:02 CEST] <Hello71> 2 hours
[01:52:04 CEST] <Hello71> duh
[01:54:46 CEST] <DHE> only if it's realtime recording. I can process a 2 hour video from disk in 10 minutes on my GPU
[04:12:05 CEST] <botik101> https://paste.pound-python.org/show/05DlSUx1Wu4Me99L9SJb/
[04:12:19 CEST] <botik101> arghh, can anyone please tell me what is wrong with this filter? https://paste.pound-python.org/show/05DlSUx1Wu4Me99L9SJb/
[04:13:23 CEST] <botik101> error is: Error initializing complex filters. Invalid argument
[04:16:18 CEST] <botik101> am I formatting -filter_complex_script wrong?
[04:46:19 CEST] <Cracki> you pasted four lines of python
[04:46:37 CEST] <Cracki> is that supposed to help diagnose a supposed ffmpeg error output?
[04:58:00 CEST] <AshleyQ> Hi is it possible to live stream a folder of mp4 videos (using Windows) to Youtube using ffmpeg? Hoping to get some guidance.
[04:58:25 CEST] <Cracki> use OBS
[04:58:46 CEST] <Cracki> it's probably possible with ffmpeg if you need
[04:59:17 CEST] <Cracki> what did you google? what were the results?
[04:59:27 CEST] <AshleyQ> I've been having issues with obs
[04:59:45 CEST] <AshleyQ> Found this which led me here? Will that work? https://stackoverflow.com/questions/45213147/i-want-live-stream-1-folder-on…
[05:01:42 CEST] <Cracki> have you tried it?
[05:01:55 CEST] <AshleyQ> The reason I'm asking if that will work is because I really don't know how to try it...I have ffmpeg installed at C:\ffmpeg\bin but not sure how to implement that
[05:02:10 CEST] <Cracki> uh...??
[05:02:14 CEST] <Cracki> you run it?
[05:03:19 CEST] <AshleyQ> that code doesn't have anywhere to add the stream key...which youtube requires
[05:07:26 CEST] <AshleyQ> Cracki: What is list.txt? What would I put in that? Sorry for the newb questions
[05:16:20 CEST] <AshleyQ> Do I save that code into a bat file and then run it?
[07:15:14 CEST] <SortaCore> multicore liblame?
[07:15:23 CEST] <SortaCore> or multithread I ain't fussed
[12:43:16 CEST] <wingrime> \quit
[13:08:21 CEST] <IntelMiner> Hi everyone. I'm trying to do some MPEG-2 to H.265/HEVC encoding using Nvenc. I've been successful in the past, but now any files I try I get "Cannot init CUDA". I've replicated this on two different machines so far. Both running the latest Nvidia drivers and ffmpeg 4.0.2. I've got an strace of ffmpeg here https://pastebin.com/XHYPsSW1
[13:17:13 CEST] <BtbN> strace is useless for this
[13:17:56 CEST] <BtbN> Cannot init CUDA is such a basic error, that there must be something wrong with your driver. Is nvidia_uvm loaded in your kernel? Is the new nvidia module loaded into the kernel, and not still the old one?
[13:18:15 CEST] <DHE> I don't see it opening any /dev entries for nvidia and i don't know what /tmp/nvidia-mps/control is...
[13:18:30 CEST] <DHE> just from the strace my guess would be something doesn't like root running ffmpeg
[13:18:35 CEST] <DHE> but that's still vague as hell
[13:19:24 CEST] <IntelMiner> BtbN: It's a very annoyingly vague error. nvidia-uvm is loaded, I cleaned and rebuilt the kernel and Nvidia drivers as needed, everything is reporting the latest driver version on that side
[13:19:58 CEST] <BtbN> To be safe, a reboot would ensure the on-disk and in-kernel version matches
[13:20:26 CEST] <IntelMiner> Already done. No change unfortunately :(
[13:20:38 CEST] <DHE> well userspace is clearly version 396.45
[13:21:15 CEST] <DHE> a quick googling suggests you should check the nvidia mps service which looks like some kind of multi-user CUDA management software...
[13:22:11 CEST] <IntelMiner> Interesting. It should be 396.51. I just built the ffmpeg git branch per the bug reporting guidelines, I'll re-run the strace just to be sure it's at least pulling the right driver version
[13:22:24 CEST] <BtbN> strace is pointless, still
[13:23:19 CEST] <DHE> new versions of the nvidia driver do not require ffmpeg to be rebuilt
[13:23:22 CEST] <DHE> is X11 running?
[13:23:46 CEST] <IntelMiner> DHE: strace shows it's pulling 396.51 at least
[13:23:55 CEST] <IntelMiner> I've got one system running X11, another that isn't. Same issue across both
[13:24:35 CEST] <DHE> and you run ffmpeg as the user logged into the X11 session?
[13:24:38 CEST] <BtbN> X is entirely uninvolved with ffmpegs cuda stuff
[13:24:49 CEST] <BtbN> it doesn't touch X at all, and runs fine without it
[13:24:51 CEST] <IntelMiner> DHE: I've tried doing it as both a regular user and root
[13:24:56 CEST] <IntelMiner> On X and X-less
[13:25:17 CEST] <DHE> BtbN: maybe it's old news but I swear I've had GPU issues when logged in as the "wrong" user
[13:26:33 CEST] <BtbN> CUDA never needed X, it doesn't care about it in the slightest. It directly communicates with the kernel driver.
[13:31:00 CEST] <Nacht> If I use 'alphamerge' with something other then Black, I don't get a full 100% alpha. Is it possible to get it use e.g. Orange as 100% ?
[14:54:33 CEST] <BtbN> IntelMiner, are you on Gentoo?
[15:08:56 CEST] <IntelMiner> BtbN: Yessum
[15:09:03 CEST] <BtbN> What?
[15:09:10 CEST] <IntelMiner> BtbN: Yes, I am
[15:09:22 CEST] <BtbN> hm, I suspect Gentoo is mis-installing the nvidia driver
[15:09:39 CEST] <BtbN> Cause if this would happen everywhere, I'm sure I'd have heard more about it
[15:09:57 CEST] <BtbN> cuInit failing is also not really something that can be the fault of ffmpeg
[15:11:12 CEST] <IntelMiner> It's possible. Though I don't see any bug reports in Gentoo for it (yet)
[15:11:32 CEST] <BtbN> Because nobody uses CUDA
[15:11:40 CEST] <IntelMiner> I might try booting Ubuntu or Fedora or the like and see if I can repro it on the same hardware
[15:13:12 CEST] <IntelMiner> If it works, I'll go ahead and file a bug on Gentoo's side
[15:18:27 CEST] <King_DuckZ> hi, I just run into some code that calls avformat_close_input(&c); avformat_free_context(c); is that correct? do I really need both calls? I'm using ffmpeg 3 and 4
[15:23:13 CEST] <King_DuckZ> the problem is this code is crashing on the first call even if c is not null, from the docs it sounds like the first call is a superset of the second, but it should be ok to call like that no?
[15:23:31 CEST] <King_DuckZ> is there any check I need to do before I try to do that call?
[15:24:28 CEST] <Cracki> does it use c/&c correctly for the argument?
[15:24:32 CEST] <Mavrik> I'd suggest you check what exactly crases.
[15:24:35 CEST] <Mavrik> *crashes
[15:24:44 CEST] <Mavrik> Build ffmpeg with debug symbols, see what line crashes.
[15:24:55 CEST] <Mavrik> If you get those wierd crashes it usually means that your context might be corrupt due to some other reason.
[15:26:02 CEST] <King_DuckZ> Mavrik: that means that normally if c is in any sane state then avformat_close_input() should not crash? even if c is already closed etc?
[15:26:13 CEST] <Mavrik> I'd have to check the source.
[15:26:16 CEST] <Mavrik> But generally yes :)
[15:26:33 CEST] <DHE> usually the av_*_free() functions want a pointer to a pointer because they also NULL out the pointer as part of the freeing process, just so that you don't have any use-after-free errors
[15:27:10 CEST] <DHE> oh.. but after looking, in this case it doesn't...
[15:27:37 CEST] <DHE> avformat_close_input looks like it does all the cleanup in a single shot
[15:27:42 CEST] <King_DuckZ> DHE: oh, it's a local variable: void foo (AVFormatContext* c) { avformat_close_input(&c); avformat_free_context(c); }
[15:28:23 CEST] <King_DuckZ> right, so in normal cases it would set c = nullptr so the next call is just a no-op?
[15:29:02 CEST] <DHE> I would say yes..
[15:29:36 CEST] <DHE> but in this case the cleanup function isn't being used as intended. since &c just points to the parameter to foo(), the function calling foo has a no longer valid pointer...
[15:29:48 CEST] <DHE> I mean, as long as you don't use it that's not a problem
[15:32:02 CEST] <King_DuckZ> ok, yeah it should be fine, it's c++ really and that foo() I posted is being called at scope exit... it looks all fine to me, except that the input file is not a movie file but an image... the original developer was expecting ffmpeg to fail here
[15:32:08 CEST] <King_DuckZ> not to crash
[15:32:37 CEST] <King_DuckZ> they did this sort of "try load" function where they try different libraries to open an input until one succeeds
[15:38:32 CEST] <King_DuckZ> haha lol this so not funny! avformat_open_input - "ps Pointer to user-supplied AVFormatContext [...] Note that a user-supplied AVFormatContext will be freed on failure."
[15:39:36 CEST] <King_DuckZ> yet foo() will try to destroy the original pointer again as it holds a copy, not a reference, just like DHE warned me
[15:39:58 CEST] <King_DuckZ> I can't even get the dude to fix this as he left the company :(
[15:40:50 CEST] <durandal11707> do you posted code example?
[15:41:43 CEST] <King_DuckZ> durandal11707: nope, just the foo() function above
[15:42:24 CEST] <DHE> King_DuckZ: are you using a locally stored full AVFormatContext then passing &thatcontext to all the other functions as needed?
[15:43:20 CEST] <DHE> not just the free function but also av_read_frame(&inputcontext, ...) like that?
[15:44:54 CEST] <King_DuckZ> DHE: full? *c is owned by a c++ smart pointer, and in order to get the double pointer to it the dude made a copy of c on the stack and takes its address, so when open_input fails it resets the c on the stack but not the one in the smart pointer
[15:45:21 CEST] <King_DuckZ> so when the smart pointer goes out of scope it tries to re-destroy the zombie thing
[15:46:02 CEST] <King_DuckZ> I think the proper fix is to make the smart pointer to own **c instead, so the original semantics are preserved
[15:48:15 CEST] <DHE> my C++ is circa 1998, but what's a smart pointer? a reference parameter?
[15:50:07 CEST] <King_DuckZ> DHE: it's just a wrapper that frees a resource when it goes out of scope, in this case
[16:07:47 CEST] <julesverne> trying to figure out how to set a constant bit rate. ffmpeg -rtbufsize 1000M -f gdigrab -framerate 24 -i desktop -f dshow -i au
[16:07:47 CEST] <julesverne> dio="Internal Microphone Array (IDT " -flags +global_header -b:v 6000k -minrate 6000k -maxrate 6000k -bufsize 6000k -vco
[16:07:47 CEST] <julesverne> dec libx264 -pix_fmt yuv420p -preset ultrafast -acodec pcm_s16le -ac 2 -ar 44100 -ab 128k -vf "fps=24" "Re
[16:07:47 CEST] <julesverne> cording.mkv
[16:08:50 CEST] <julesverne> sorry. copied from cmd line. looks like it added in line feeds.
[16:10:10 CEST] <julesverne> anyway i only wanted 4000 Kbps so i tried that. getting between 2100 - 2500 so I bumped it up 6000k and really didn't have much of an effect.
[16:11:23 CEST] <julesverne> A little clearer to look at: ffmpeg.exe -rtbufsize 1000M -f gdigrab -framerate 24 -i desktop -f dshow -i audio="Internal Microphone Array (IDT " -flags +global_header -b:v 6000k -minrate 6000k -maxrate 6000k -bufsize 6000k -vcodec libx264 -pix_fmt yuv420p -preset ultrafast -crf 7 -acodec pcm_s16le -ac 2 -ar 44100 -ab 128k -vf "fps=24" "Recording.mkv
[16:11:49 CEST] <Cracki> -b:v should do the trick
[16:12:11 CEST] <Cracki> does your question imply that you determined the output to NOT be constant bitrate?
[16:12:25 CEST] <Cracki> why do you want constant bitrate?
[16:12:56 CEST] <Cracki> what do you expect the encoder to do with a static screen image, insert padding bits when it's done describing the content?
[16:13:21 CEST] <Cracki> if you want lossless, which is what people using screen capture want, try -q:v or -crf
[16:13:53 CEST] <furq> julesverne: -x264-params nal-hrd=cbr
[16:14:21 CEST] <furq> also i suspect you don't want 128kbps pcm audio
[16:15:08 CEST] <Cracki> pcm doesn't even respect bitrate, eh?
[16:15:21 CEST] <Cracki> also I'd suggest setting audio sample rate before -i audio
[16:15:41 CEST] <Cracki> or else you'll get samples at one rate, and an interpretation of these for a different sample rate in the output
[16:15:43 CEST] <julesverne> thx. Cracki. answers to your questions. I have determined the output to not be consistent. Client request wants a different bitrate.
[16:15:55 CEST] <durandal_1707> how would pcm respect bitrate? it is uncompressed
[16:16:59 CEST] <furq> i meant the pcm bit more than the bitrate
[16:17:02 CEST] <julesverne> yeah.. that is mistake. I have a tried and true (for my purposes) of recording the screen. client requested 4 Mbps for some reason so I was trying to modify my command.
[16:17:16 CEST] <furq> although some combination of sample rate and bit depth will give you 128kbps pcm
[16:17:53 CEST] <julesverne> my usual is this: ffmpeg.exe -rtbufsize 1000M -f gdigrab -framerate 15 -i desktop -f dshow -i audio=%Device% -flags +global_header -vcodec libx264 -pix_fmt yuv420p -preset ultrafast -acodec pcm_s16le -ac 1 -ar 22050 -vf "fps=15" "Recording.mkv
[16:18:05 CEST] <furq> but yeah if bitrate/maxrate/bufsize aren't cbr enough for you then you need to use nal-hrd=cbr
[16:18:14 CEST] <furq> that's the only way to get "true" cbr out of x264
[16:18:50 CEST] <Cracki> I'm not sure you want -vf fps there. the input should be timestamped, so even if -framerate 15 has timing variation (cpu load...), you get proper timing
[16:18:50 CEST] <julesverne> thx all for the suggestions. will test.
[16:19:24 CEST] <julesverne> Cracki yeah.. i honestly had the hardest time with getting framerate to be consistent.
[16:19:52 CEST] <Cracki> if you want (visually) lossless, don't be afraid of using yuv444p, or other codecs such as qtrle (be sure to set -g somenumber)
[16:20:13 CEST] <Cracki> consider using OBS, it uses directx api to capture the screen
[16:20:39 CEST] <Cracki> also consider hw encoding (intel qsv or nvidia nvenc/...) if that suits you
[16:21:25 CEST] <Cracki> iirc ffmpeg might also support desktop grabbing using directx. gdigrab is a bit old, but still serviceable.
[16:21:35 CEST] <furq> 4mbps lossless 4:4:4, you say
[16:22:15 CEST] <durandal_1707> for which resolution?
[16:23:26 CEST] <DHE> average for a mostly idle desktop might be reasonable... especially with windows 10's "designed in MS Paint" UI style
[16:24:42 CEST] <Cracki> no change, no bits to spend
[16:24:50 CEST] <Cracki> unless you force it to encode intra-only
[16:25:47 CEST] <Mavrik> I've seen players that had problems playing H.264 streams with nal-hrd set tho
[16:26:15 CEST] <Mavrik> So he might be trading one complaint for another ;)
[16:27:13 CEST] <furq> lol really
[16:27:19 CEST] <furq> isn't the entire point of that for bluray compatibility
[16:27:27 CEST] <Mavrik> Yeah well :P
[16:27:32 CEST] <Mavrik> It was an STB tho
[16:27:43 CEST] <furq> will wonders never cease
[16:27:43 CEST] <Mavrik> Motorola I think
[16:28:40 CEST] <furq> designed and built with loving care in illinois, no doubt
[16:28:59 CEST] <kubast2> Hmm is there some downscalling algorithm thought up not to maximise quality/detail when the video is playedback at original(downscaled) resolution ,but to maximise detail and quality when the video is upscaled? Does what I said even makes sense(?)
[16:29:08 CEST] <furq> illinois, fujian province
[16:29:30 CEST] <furq> kubast2: they're not really different things
[16:29:41 CEST] <furq> just use the sharpest one you can
[16:29:44 CEST] <kubast2> yeah that's what I thought sorta too
[16:29:49 CEST] <kubast2> I see
[16:30:00 CEST] <furq> lanczos or spline36 are usually safe bets
[16:30:07 CEST] <furq> or i guess just spline with swscale
[16:30:25 CEST] <kubast2> I actually have one source video that looks better downscalled ,since someone upscaled it with some sort of HQx4 filter
[16:30:32 CEST] <furq> lol
[16:30:42 CEST] <furq> death to pixel art filters
[16:30:48 CEST] <durandal_1707> kubast2: source video of what?
[16:30:56 CEST] <kubast2> I think it was bd rip of lucky star
[16:31:26 CEST] <kubast2> like on youtube the 480p and even some 1080p ones look sharper and this looks straight out of some sort of emulator filter
[16:31:55 CEST] <kubast2> I was testing something out ,and tried to fit one episode into 50MB lol
[16:31:56 CEST] <durandal_1707> yea, people do shitty stuff
[16:32:16 CEST] <kubast2> so in doing so I have found that it actually looks better
[16:32:25 CEST] <kubast2> outside of some vissible artifacts at 480p
[16:32:29 CEST] <furq> there is no limit to the wonders you will see when downloading video from the internet
[16:32:38 CEST] <furq> or downloading anything, really, but especially video
[16:33:01 CEST] <kubast2> I do belive it is true for a lot of mp3 sources
[16:33:12 CEST] <kubast2> encoded at least 4 times with lame lol
[16:34:28 CEST] <kubast2> I am suprissed non of those kind of sites don't reencode mp3 320kbps to flac ,to increase the traffic a bit
[16:34:37 CEST] <furq> oh that definitely happens
[16:35:04 CEST] <furq> there are plenty of commercial music sites that pull that sort of thing
[16:35:16 CEST] <furq> let alone funtracker.ua
[16:36:22 CEST] <Cracki> >unregistered hypercam 2
[16:37:19 CEST] <kubast2> mp3tubedownload
[16:37:46 CEST] <kubast2> yeh I was that guy that used some application instead of youtube-dl
[16:37:55 CEST] <kubast2> >yeh download flac from youtube legit
[16:38:00 CEST] <Cracki> why would you use anything other than youtube-dl
[16:38:09 CEST] <kubast2> I didn't knew it existed in 2010
[16:38:17 CEST] <Cracki> "ricers" and "audiophiles" everywhere
[16:38:34 CEST] <kubast2> I think I was 11 years old
[16:38:35 CEST] <kubast2> in 2010
[16:38:40 CEST] <kubast2> maybe 12
[16:38:42 CEST] <furq> did it exist in 2010
[16:38:43 CEST] <kubast2> don't blame me hey
[16:38:46 CEST] <Cracki> you are 12 and what is that
[16:38:50 CEST] <kubast2> 19
[16:38:53 CEST] <Cracki> you are forgiven :>
[16:39:10 CEST] <BtbN> IntelMiner, ok, I found the issue: You have to build your kernel with CONFIG_NUMA=y and CONFIG_ACPI_NUMA=y
[16:39:12 CEST] <Cracki> might not have existed back then, but I would be surprised
[16:40:04 CEST] <kubast2> furq, I am looking up the youtube-dl repo
[16:40:20 CEST] <Cracki> yt-dl initial release 2006, says wikipedia
[16:40:34 CEST] <kubast2> Commits on Jul 21, 2008
[16:40:41 CEST] <kubast2> https://github.com/rg3/youtube-dl/commits/master?after=d37dc6e1c956ce0f390a…
[16:40:57 CEST] <furq> yeah 20 jul 2008 was the first commit
[16:41:17 CEST] <furq> https://github.com/rg3/youtube-dl/graphs/contributors
[16:41:20 CEST] <furq> that's a quicker way to find it btw
[16:41:58 CEST] <Cracki> might not have started on github
[16:42:09 CEST] <furq> well either way it's before 2010 so i'm satisfied
[16:43:11 CEST] <Cracki> ;)
[16:47:46 CEST] <julesverne> I apologize I got booted off and wouldn't let me reconnect and then had to restart.
[16:49:54 CEST] <julesverne> I think i was in the middle of responding to Cracki before I got booted that I was only able to get a consistent framerate by having -framerate before input and then as a filter at the end. I've seen other people have similar problems online that was solved by doing that.
[16:50:16 CEST] <Cracki> "consistent" might not mean what you think
[16:50:25 CEST] <Cracki> variable frame rate is a thing
[16:50:56 CEST] <Cracki> if the frame grabbing doesn't happen at exactly 15 fps, but jitters or something, then you do NOT want to reinterpret the sequence of frames as strictly 15 fps
[16:55:01 CEST] <julesverne> thanks for clarifying. It's been a couple years since I looked at that, perhaps while I'm doing this, I'll take a look at that too.
[16:57:11 CEST] <julesverne> furq that definitely fixed the issue. Thanks!!
[17:28:42 CEST] <pi--> https://paste.pound-python.org/show/75aTR6aa42nlKoZOCBJF/ <-- could anyone explain why this command fails to export audio at 48 kHz?
[17:28:58 CEST] <pi--> It is exporting at 22050Hz
[17:30:00 CEST] <atomnuker> -b:a is bitrate
[17:31:56 CEST] <Hello71> why would b stand for sample rate anyways
[17:32:06 CEST] <Hello71> sample rate doesn't even have a b in it
[18:04:18 CEST] <kepstin> pi--: you haven't even specified an output codec, so it's using whatever the default is for the format...
[18:08:06 CEST] <kepstin> pi--: that command is encoding the audio to 48kbit/s as requested, using some completely random encoder since you didn't specify one, and that encoder may have either preserved the input sample rate, or possibly reduced it due to the low requested bitrate.
[20:29:28 CEST] <pi--> Is there anyone out there that might be willing to review my ffmpeg use over slack? I offer to pay a decent consultancy rate. Please PM if interested.
[21:37:05 CEST] <Zexaron> Hello
[21:37:34 CEST] <Zexaron> I muxed a video/audio from a stream but the audio is out of sync a bit, it's a bit ahead
[21:37:45 CEST] <Zexaron> by a few 100 ms or less
[21:38:00 CEST] <Zexaron> itsoffset suppose to delay it right?, well I think I need the other way around
[21:38:47 CEST] <AshleyQ> Hi what is the command to convert from mkv to webm? No changes at all to quality/dimensions/etc.
[21:41:24 CEST] <CoreX> ffmpeg -i input.mkv -c copy -f webm -y output.webm
[21:42:08 CEST] <AshleyQ> CoreX: thanks
[21:42:31 CEST] <CoreX> work ok?
[21:44:29 CEST] <Zexaron> Okay I solved it by reversing input audio and video with the itsoffset command so it delays video instead
[21:44:33 CEST] <Cracki> I suspect you don't need -f webm because the output file extension indicates that to ffmpeg already
[21:44:44 CEST] <Zexaron> the order matters in the command line yeah
[21:46:12 CEST] <AshleyQ> I just found this (is this recommended instead?): ffmpeg.exe -i input.mp4 -c:v libvpx -crf 10 -c:a libvorbis output.webm
[21:46:48 CEST] <CoreX> the one i gave you leaves everything untouched
[21:46:57 CEST] <CoreX> untouched = No changes at all to quality/dimensions/etc.
[21:47:04 CEST] <AshleyQ> Gotcha
[21:49:03 CEST] <AshleyQ> [NULL @ 0000018e340f7040] Unable to find a suitable output format for 'webm' webm: Invalid argument
[21:49:31 CEST] <durandal_1707> what ffmpeg version is that?
[21:50:47 CEST] <AshleyQ> Just downloaded it: ffmpeg-20180809-e0539f0-win64-static
[21:52:58 CEST] <AshleyQ> This is working for the mkv: ffmpeg.exe -i myinput.mp4 -c:v libvpx -crf 10 -c:a libvorbis myoutput.webm
[21:55:19 CEST] <CoreX> try my line again but without the "-f webm"
[21:58:34 CEST] <furq> you won't be able to remux mp4 to webm
[21:58:57 CEST] <furq> also you should use opus and you probably explicitly want to use vp9
[21:59:51 CEST] <AshleyQ> CoreX: I did and it didn't work with the mkv
[22:01:51 CEST] <AshleyQ> Tried with and w/o the -f
[22:19:35 CEST] <Cracki> you can remux it to mkv, that's "almost" webm :>
[22:19:56 CEST] <Cracki> no need for -f anything if the file name hints at the desired container
[22:54:18 CEST] <AshleyQ> Hey all, so this worked but the quality was noticeably reduced. Is there a tweak that will maintain it? ffmpeg.exe -i input.mkv -c:v libvpx -crf 10 -c:a libvorbis output.webm
[22:54:46 CEST] <Cracki> explain "reduced"
[22:54:48 CEST] <Cracki> or show it
[22:54:59 CEST] <AshleyQ> Lots of noticable pixelation
[22:55:03 CEST] <Cracki> you forgot the bitrate for the audio codec
[22:55:17 CEST] <Cracki> see what range of values libvpx expects for -crf
[22:55:23 CEST] <Cracki> or if it even uses -crf
[22:55:28 CEST] <Cracki> (and not -q:v...)
[22:56:05 CEST] <Cracki> is the source pixelated already?
[22:56:10 CEST] <AshleyQ> No
[22:56:14 CEST] <Cracki> does the player pixelate because it can't keep up with decoding?
[22:56:16 CEST] <AshleyQ> The mkv looks fine
[22:56:32 CEST] <AshleyQ> Using VLC
[22:56:34 CEST] <Cracki> share your data
[22:56:45 CEST] <AshleyQ> share it how?
[22:57:17 CEST] <Cracki> imgur for stills, dropbox or google drive or whatever for the video itself?
[22:57:29 CEST] <Cracki> sample data, not a whole movie of course
[22:57:32 CEST] <AshleyQ> Oh ok..
[22:59:24 CEST] <Cracki> https://trac.ffmpeg.org/wiki/Encode/VP9
[22:59:27 CEST] <Cracki> try -b:v 0
[22:59:44 CEST] <Cracki> https://trac.ffmpeg.org/wiki/Encode/VP9#constantq
[00:00:00 CEST] --- Fri Aug 10 2018
1
0
[01:06:38 CEST] <cone-580> ffmpeg 03Shiyou Yin 07master:90dc584d21eb: MAINTAINERS: add myself to MIPS section
[12:50:16 CEST] <gagandeepsingh> kierank: my new nick is this one
[12:50:38 CEST] <gagandeepsingh> do i send the file link here
[12:52:18 CEST] <kierank> sure
[12:53:56 CEST] <gagandeepsingh> cfhd.c : https://www.dropbox.com/s/ke4n7ru69iv13wi/cfhd.c?dl=0
[12:54:42 CEST] <gagandeepsingh> please just see what is wrong for intra part, i think that will help me iron out the bug
[12:55:15 CEST] <gagandeepsingh> i have the code for intra and ip (both progressive and interlaced samples) in this file
[13:02:18 CEST] <gagandeepsingh> kierank: here is the link to the patch containing the commits since interlaced feature has been added
[13:02:19 CEST] <gagandeepsingh> https://www.dropbox.com/s/nyup7ppeyllxbf7/patch.patch?dl=0
[13:04:32 CEST] <gagandeepsingh> just that the commits are not perfect right now, they are a mess, when i will send the patch to ffmpeg, the commits will be done in consistent manner
[16:18:57 CEST] <klaxa> atomnuker: i just pushed my latest version + more documentation (as recommended by the submission guideline) to https://github.com/klaxa/ffserver
[16:20:29 CEST] <klaxa> if you can think of something to add or so, would be good to know
[16:23:51 CEST] <klaxa> or maybe if i should put it somewhere else or whatever
[19:00:46 CEST] <durandal_1707> why I get completly white block with add idct for some blocks and not all of them, video decodes otherwise mostly fine
[19:01:10 CEST] <kierank> overflow
[19:12:39 CEST] <January> durandal_1707: can give you that code when I get home, sorry didnt get round to it yesterday
[19:14:38 CEST] <durandal_1707> January: for scpr?, sure. no rush
[19:17:18 CEST] <January> durandal_1707: Actually would have liked to finish it but have absolutely no time, just working and sleeping.
[19:18:25 CEST] <durandal_1707> January: there are no free days?
[19:19:34 CEST] <January> durandal_1707: guess its easy to forget about weekends
[20:27:39 CEST] <durandal_1707> avast antivirus is poc, it killed my msys32 while it was updating
[20:30:25 CEST] <BtbN> avast also bought CCCleaner and stuffed it full with malware
[20:32:03 CEST] <nevcairiel> the majority of antivirus tools cause more pain then they prevent
[20:32:44 CEST] <nevcairiel> and as a side note, windows defender actually has one of the best detection rates among all of them now
[20:36:15 CEST] <nevcairiel> (not to say that it doesn't also sometimes cause such pain)
[20:51:59 CEST] <atomnuker> I used to use avira back in the day
[20:52:19 CEST] <atomnuker> keep in mind last time was more than 10 years ago
[21:01:29 CEST] <durandal_1707> how to install ubsan enabled gcc on msys32?
[21:02:32 CEST] <gnafu> A friend recently got a new laptop, texted me wondering whether they should pay to keep McAfee registered. I winced, then told them to uninstall it and just use Windows Defender.
[21:13:37 CEST] <jamrial> durandal_1707: not sure if you can use gcc ubsan/asan on windows at all
[21:15:35 CEST] <January> durandal_1707: https://github.com/januaryjp/FFmpeg/commit/09a92df20dbd0340da5deac89c975c00… it may or may not be useful, I was probably doing it a very roundabout way
[21:22:56 CEST] <durandal_1707> jamrial: then what they use?
[23:25:26 CEST] <atomnuker> Gramner: what did REP_RET do again? I see a bunch of nops after return
[23:25:44 CEST] <atomnuker> what kind of a screwup did amd make to need that ages ago?
[23:26:25 CEST] <Gramner> workaround for ancient amd cpus when ret was the target of a branch or directly followed a branch. it emits rep; ret; instead of just ret as a workaround for that bug
[23:26:44 CEST] <Gramner> tbh it's kind of pointless nowadays, I wouldn't use it for new code
[23:27:12 CEST] <Gramner> the bug was that it had a performance hit
[23:27:28 CEST] <atomnuker> yeah, I know, I tried to remove it last year because x86inc should handle that for you but it didn't and some binaries changed
[23:27:54 CEST] <Gramner> x86inc handles it automatically when following a branch, but not when it's a branch target
[23:28:05 CEST] <Gramner> (because it has no way of knowing that it's a branch target)
[23:28:27 CEST] <atomnuker> yeah, I guess I can try to remove it again but this time only on where its not needed and x86inc would handle that for you
[23:28:36 CEST] <Gramner> just use RET and forget about it basically
[23:28:56 CEST] <Gramner> the number of users of such amd cpus at this age must be like <0.001%
[23:28:57 CEST] <atomnuker> I want to but jamrial objected and wanted there to be no change in the binaries
[23:29:19 CEST] <nevcairiel> just leave existing code as-is, its not like it costs you anything at all to have it there right now
[23:29:44 CEST] <atomnuker> well it is an extra instruction to decode, it does affect performance somewhat
[23:30:00 CEST] <atomnuker> unmeasurably
[23:30:13 CEST] <atomnuker> what CPUs are affected? athlons?
[23:31:05 CEST] <Gramner> don't remember exactly. K8 probably?
[23:31:54 CEST] <atomnuker> yeah, they don't even have pshufb, not sure how you'd do high performance simd on those machines
[23:33:16 CEST] <Gramner> it's easy - you don't
[23:33:19 CEST] <Gramner> solved
[23:33:47 CEST] <atomnuker> I would be less annoyed if I didn't have REP_RET in my code, but unfortunately I do
[23:34:12 CEST] <atomnuker> now I either have to remove it all or do nothing
[23:34:18 CEST] <nevcairiel> should really find real problems to get worked up about
[23:34:35 CEST] <atomnuker> yeah, like that lavu fft I've been working on
[23:34:43 CEST] <atomnuker> or ffv2
[23:46:25 CEST] <jamrial> atomnuker: ask BBB. he wrote sse2 simd for vp9 and made 1080p 30fps videos work on dual core athlons (k10, though)
[23:48:20 CEST] <jamrial> and if you want to remove REP_RET from your simd then do it
[23:53:35 CEST] <atomnuker> k10 still didn't have pshufb but at least it had fast packs and unpacks
[23:59:08 CEST] <cone-873> ffmpeg 03Colin NG 07master:af4c2acddd15: libavformat/dashdec: Fix for un-free memory
[00:00:00 CEST] --- Thu Aug 9 2018
1
0
[05:53:57 CEST] <Wallboy> Hey all, i'm dealing with some arbitrary input videos that I need to concat an outro video onto the end of. Some of the input videos have audio streams that are several seconds longer than the video stream. I know the easiest way to fix this is `ffmpeg -i INPUT -c copy -shortest OUTPUT`. However I have a long complex filter chain so this -shortest option doesn't work in my case. Is there some
[05:53:57 CEST] <Wallboy> filter I can use to trim the audio to the length of the video within my filter_complex graph?
[06:07:29 CEST] <Wallboy> Hmm even testing with -shortest standalone the duration of the entire file remains the length of the longest stream
[06:07:35 CEST] <Wallboy> with and without -c copy
[06:08:36 CEST] <Wallboy> oh cause it works on multiple input streams... derp
[06:12:45 CEST] <Wallboy> Hmm would of thought -map 0:v -map 0:a would work, still doesn't
[06:26:53 CEST] <Wallboy> ahh got it: `ffmpeg -i INPUT -i INPUT -map 0:v -map 1:a -c copy -shortest OUTPUT` where both inputs are the same file
[06:27:23 CEST] <Wallboy> still would like to know how cut audio down to the same length WITHIN a filter graph if possible
[06:41:26 CEST] <kepstin> no way to do that right now (aside from using trim/atrim filters if you know the length in advance, i suppose).
[06:42:00 CEST] <kepstin> A filter that emulates the -shortest option is possible, it just hasn't been written
[06:44:07 CEST] <Wallboy> so the best solution is probably to ffprobe these input videos prior and use the above command to remux it correctly before inputting it into my complex ffmpeg command?
[06:45:01 CEST] <Wallboy> i do notice that most audio and video streams aren't EXACT, differing usually by ~50msecs
[06:46:19 CEST] <Wallboy> I have some input videos where the audio stream is also quite a bit shorter, but for these the concat filter that I used automatically takes care of that potential issue
[07:07:40 CEST] <wingrime> Hi! Does anyone alive here
[07:13:43 CEST] <wingrime> Hi all, does anyone can help with strange sync rtmp behavior
[08:57:09 CEST] <Yagiza> Hello again!
[08:57:41 CEST] <Yagiza> There are more than 12 hours passed, so I'll try again.
[08:57:57 CEST] <Yagiza> Are there RTP profi around?
[09:02:46 CEST] <poutine> Yagiza, You could always just ask your question, that's standard protocol for getting things answered
[09:08:42 CEST] <Yagiza> poutine, ok
[09:09:51 CEST] <Yagiza> Did anyone tried "sdp_flags=custom_io" option of RTSP demuxer? Does it really work?
[09:11:22 CEST] <Yagiza> I just couldn't make the option working. It seems to be accepted by avformat_open_input() but nothing happens.
[09:15:47 CEST] <poutine> not sure what "does it really work" means, https://www.ffmpeg.org/doxygen/4.0/rtsp_8c_source.html could do a search for custom_io here and see what it's doing
[09:34:36 CEST] <Yagiza> poutine, yes, I also found the source code for handling it.
[09:35:06 CEST] <Yagiza> poutine, but attempting to make it work I got no result.
[09:35:36 CEST] <Yagiza> poutine, option is accepted but seems to be ignored. Ir I'm doing something wrong.
[09:35:46 CEST] <Yagiza> *Or*
[12:21:19 CEST] <freedrull> uhhh -vf and -filter_complex are different right?
[12:22:06 CEST] <furq> yes
[12:25:00 CEST] <freedrull> what do the [0][1]s mean here? do they correspond to the inputs? ffmpeg -i test.mp4 -ignore_loop 0 -i loop.gif -filter_complex "[0][1]overlay=0:H-100" output.mp4
[12:28:18 CEST] <furq> yes
[12:28:31 CEST] <furq> in that case you don't need to explicitly wire up the inputs
[12:28:36 CEST] <furq> but it's good to be clear i guess
[12:29:04 CEST] <freedrull> ok i see thanks
[12:29:12 CEST] <freedrull> i've also seen [2:v], what is this ?ffmpeg -i dogHouse-front.png -i 01\ Aho\ House.mp3 -ignore_loop 0 -i datacoin.gif -filter_complex "[2:v]scale=480:270 [ovrl],[2:v][ovrl]overlay=W-400:H-400:shortest=1" out.avi
[12:29:20 CEST] <freedrull> v for video , a for audio?
[12:29:23 CEST] <furq> the video stream from input 2
[12:29:52 CEST] <freedrull> then [ovrl] is just assigning a name for the next filter in the chain right
[12:30:03 CEST] <furq> well that filterchain appears to be wrong
[12:30:39 CEST] <freedrull> what is wrong about it ?
[12:31:08 CEST] <freedrull> if it helps, i'm trying to make a video with a still image combined with an mp3 and a scaled gif overlayed in the corner.
[12:32:12 CEST] <furq> the first 2:v should be 0:v then
[12:32:26 CEST] <furq> otherwise it's just going to overlay a smaller version of the gif on top of the gif
[12:32:44 CEST] <furq> wait, the second 2:v should be 0:v
[12:33:04 CEST] <freedrull> ahhhh i got it
[12:33:06 CEST] <furq> and also W and H should be the same dimensions that you're scaling the gif to
[12:33:20 CEST] <furq> also you would normally put a ; to separate those filters, not a ,
[12:33:40 CEST] <furq> it works in this case but normally if you have all the inputs explictly labelled, you use ;
[12:35:07 CEST] <freedrull> overlay's W and H are not the X and Y positions I want to position the gif at ?
[12:35:40 CEST] <furq> yeah, but it should presumably be W-480:H-270
[12:35:43 CEST] <furq> if you want it it in the bottom right corner
[12:36:19 CEST] <freedrull> ah, you're right. i wanted some padding i suppose. i will tweak that a bit.
[12:36:31 CEST] <freedrull> i got it to work with this ffmpeg -i dogHouse-front.png -i 01\ Aho\ House.mp3 -ignore_loop 0 -i datacoin.gif -filter_complex "[2:v]scale=480:270 [ovrl];[0:v][ovrl]overlay=W-400:H-400:shortest=1" out.avi
[12:36:42 CEST] <freedrull> but the gif is not animated in the output video ...
[12:37:56 CEST] <freedrull> do i have to specify the framerate somewhere ?
[12:39:09 CEST] <furq> add -loop 1 -framerate 25 before -i doghouse-font.png
[12:46:04 CEST] <freedrull> furq: amazing thanks.....in this case the encoding doesn't seem to end ? need to move the position of the 'shortest' filter maybe?
[12:47:03 CEST] <furq> get rid of shortest in the filter and just use -shortest as an output option
[12:47:14 CEST] <furq> both video inputs loop indefinitely so -shortest will make it end when the audio stops
[12:49:32 CEST] <freedrull> ffmpeg -loop 1 -framerate 25 -i dogHouse-front.png
[12:49:32 CEST] <freedrull> -i 01\ Aho\ House.mp3 -ignore_loop 0 -i datacoin.gif -filter_complex "[2:v]scale=480:270 [ovrl];[0:v][o
[12:49:35 CEST] <freedrull> vrl]overlay=W-480:H-270" -shortest out.avi
[12:49:45 CEST] <furq> yeah
[12:50:11 CEST] <freedrull> sorry ill use pastebin https://pastebin.com/cz6Qta8e
[12:50:20 CEST] <freedrull> like this? the command is still running...
[12:50:58 CEST] <freedrull> are loop and framrate supposed to be output options ?
[12:51:30 CEST] <furq> that looks right to me
[12:52:11 CEST] <furq> is it definitely muxing the audio stream
[12:53:55 CEST] <freedrull> terminal output : https://pastebin.com/6rJYD1ak
[12:54:59 CEST] <furq> weird
[12:57:01 CEST] <freedrull> speed=0.939x is it just slow to encode ?
[12:57:16 CEST] <furq> the mp3 is only 7 seconds long, right
[12:57:57 CEST] <furq> oh nvm 7 minutes
[12:58:05 CEST] <furq> maybe that's it then
[12:58:14 CEST] <furq> fwiw you probably don't want to use mpeg4 in avi
[12:59:02 CEST] <furq> add -c:a copy and change the output extension to mp4
[13:02:59 CEST] <freedrull> wow it worked though! awesome
[13:05:20 CEST] <freedrull> trying -c:a copy and mp4 output now, seems to be encoding slower however https://pastebin.com/3hc1NEF2
[14:35:10 CEST] <traumschule> i use "ffmpeg -ss 6s -t 20s -i $vin1 -ss 2s -t 2:10 -i $vin2 -filter:v "crop=1600:860:0:0" $vout" to splice two video files and cut each of them a bit (the first is 31s long, the 2nd 2:10s), does this make sense so far?
[14:36:29 CEST] <traumschule> the unexpected problem is that the final video is only 20s long. where is the error?
[14:37:59 CEST] <traumschule> oh and I crop the output video, but this should not make a change?
[14:38:42 CEST] <DHE> quite a few. two inputs, one output, no real specification of how you want them merged. if you just do it this way ffmpeg will select video and audio streams using a set of rules. (multiple inputs like this are usually for merging video from one, audio from another input)
[14:40:01 CEST] <traumschule> interesting. thanks DHE, now I know what to search for.
[14:53:43 CEST] <traumschule> maskedclamp seems most suitable in ffmpeg -filters|grep 'VV->'
[15:03:08 CEST] <traumschule> only in theory and with errors. better: ffmpeg -y -ss 6s -t 20s -i $vin1 -ss 2s -t 2:10 -i $vin2 -map 0:0 -map 1:0 -filter:v "crop=1600:860:0:0" $vout
[17:13:37 CEST] <jerichowasahoax> Can I have an example for using xcbgrab (NOT x11grab) to record a specific section of my screen? Google keeps giving me x11grab, which doesn't exist in ffmpeg 3.4.x
[17:18:14 CEST] <furq> aren't they the same thing
[17:18:30 CEST] <furq> just substitute x11grab for xcbgrab
[17:18:30 CEST] <jerichowasahoax> furq: x11grab was deprecated, and it looks like it's been removed
[17:18:43 CEST] <furq> https://github.com/FFmpeg/FFmpeg/commit/5ed4644d6de7f6112431dc2d9a5cfe9a0a7…
[17:18:49 CEST] <DHE> but xcbgrab was named x11grab to minimize user transition pain iirc
[17:19:01 CEST] <furq> yeah i though they were aliases
[17:19:08 CEST] <furq> but either way they're the same thing, it just got renamed
[17:19:13 CEST] <furq> so the x11grab examples should all still work
[17:19:33 CEST] <jerichowasahoax> alright then i need to ask #gentoo why "build with xcb" didn't actually build with xcb then
[17:20:42 CEST] <jerichowasahoax> unless there's some more esoteric reason for me to be getting "unknown format xcbgrab", but i'm pretty sure it just didn't get built with xcb correctly
[17:40:20 CEST] <BtbN> jerichowasahoax, because if you build with xcb, you get x11grab.
[17:40:37 CEST] <BtbN> The name never changed, it just switched to xcb from classic xlib
[17:42:17 CEST] <jerichowasahoax> BtbN: Someone needs to fix this guy's Stack Overflow answer then https://stackoverflow.com/a/44921300
[17:43:03 CEST] <BtbN> It's a stackoverflow anser, nobody here has any influence on that...
[17:43:34 CEST] <jerichowasahoax> i thought stackoverflow was one of those "anyone can edit" kind of sites
[17:43:51 CEST] <BtbN> ?
[17:43:56 CEST] <jerichowasahoax> like wikipedia
[17:44:03 CEST] <jerichowasahoax> anyone can edit answers
[17:44:25 CEST] <jerichowasahoax> or do you have to be SO staff to do that
[17:44:29 CEST] <jerichowasahoax> idk
[17:44:56 CEST] <BtbN> Just comment on it, maybe the author responds.
[19:03:43 CEST] <traumschule> I was able to process the input stream separatedly and concat them to [out]. Now to learn I try to do it in one step, but something is wrong with the syntax: ffmpeg -y -ss 6s -t 18s -i $vin1 -ss 2s -t 2:10 -i $vin2 -filter_complex "[0:v] [1:v] concat [out] crop='1600:860:0:0'" -map '[out]' $vout
[19:07:27 CEST] <traumschule> the error is: [AVFilterGraph @ 0x9ee400] Unable to parse graph description substring: "crop='1600:860:0:0'"
[19:32:00 CEST] <furq> traumschule: just -filter_complex concat,crop=...
[19:32:03 CEST] <furq> and get rid of -map
[19:40:45 CEST] <traumschule> furq: thanks, runs with "ffmpeg -y -ss 6s -t 18s -i $vin1 -ss 2s -t 2:10 -i $vin2 -filter_complex '[0:v][1:v]concat,crop=1600:860:0:0' $vout". Slowly I get the idea.
[19:43:36 CEST] <furq> you don't need to explicitly map the inputs either, but it doesn't hurt
[19:49:41 CEST] <Cracki> this failed because you always have [in...] filter [out...] [in...] filter [out...] ... and you didn't specify inputs for crop "[0:v] [1:v] concat [out] crop='1600:860:0:0'"
[20:04:41 CEST] <traumschule> in this case I choose 'ffmpeg $in -filter_complex "concat,crop='1600:860:0:0'" $vout'
[20:09:57 CEST] <traumschule> took me some hours but now i know more than if somebody had said s/:v "/_complex "concat,/
[20:59:21 CEST] <nifker> Im on debian with ffmpeg v4.0.2-1 but it isnt compiled with AV1 is that usual?
[21:02:43 CEST] <Cracki> you think a practically usable av1 codec exists already?
[21:03:12 CEST] <DHE> I don't think av1 has been safely spec-frozen yet
[21:03:13 CEST] <Cracki> ah it seems ffmpeg 4.0 supports it...
[21:03:36 CEST] <Cracki> here they claim it, but the url is just ffmpeg.org https://www.reddit.com/r/AV1/comments/8jslrx/ffmpeg_40_officially_supports_…
[21:03:49 CEST] <Cracki> >It takes around 40 seconds to encode one frame with normal presets.
[21:04:03 CEST] <Cracki> using reference codec
[21:04:19 CEST] <DHE> can confirm, encoded about 2 minutes of video in around 2 weeks
[21:04:21 CEST] <Cracki> nifker, why do you assume it is UNusual?
[21:04:29 CEST] <DHE> mind you it looked really good for 1080p at 1 megabit
[21:05:24 CEST] <relaxed> nifker: my builds have av1 support if you want to take it for a whirl, https://johnvansickle.com/ffmpeg/
[21:06:53 CEST] <nifker> relaxed: I could build it myself but I just wondered why debian didnt build it with VP1 - but I guess Cracki found a good reason why it might not have been used
[23:01:25 CEST] <SortaCore> heyo
[23:01:30 CEST] <SortaCore> flac compression level, is it a thing?
[23:01:47 CEST] <SortaCore> there's no explicit thing under flac on https://ffmpeg.org/ffmpeg-codecs.html
[23:02:06 CEST] <SortaCore> and the page doesn't even say whether 0 is best compression or fastest
[23:03:39 CEST] <furq> compression_level 12 is the best
[23:05:30 CEST] <SortaCore> seems to be going at the same speed as the default 5 though
[23:51:46 CEST] <SortaCore> hmm, maybe not
[00:00:00 CEST] --- Thu Aug 9 2018
1
0
[05:29:58 CEST] <cone-970> ffmpeg 03Zhong Li 07master:6088b7b0373f: lavc/qsvenc: expose qp of encoded frames
[05:29:58 CEST] <cone-970> ffmpeg 03Zhong Li 07master:6434b84460bb: fftools/qsv: add extra_hw_frames support
[06:32:21 CEST] <cone-970> ffmpeg 03Jacek Jendrzej 07master:2f45378ba144: avformat/dashdec: fix for ticket #7336
[06:32:22 CEST] <cone-970> ffmpeg 03Jacek Jendrzej 07master:0cf5e6b5b4e1: avformat/dashdec: Fix memleak when resolve_content_path
[08:42:20 CEST] <cone-970> ffmpeg 03Steven Liu 07master:d54ae9b782c8: avformat/dashdec: remove unused functions and process code
[10:05:20 CEST] <cone-970> ffmpeg 03Steven Liu 07master:d37125fb910e: avformat/flvdec: add flv_ignore_prevtag option into flvdec
[10:05:21 CEST] <cone-970> ffmpeg 03Steven Liu 07master:3b99bb388903: avformat/flvdec: reindent code for previous commit
[10:05:22 CEST] <cone-970> ffmpeg 03Steven Liu 07master:243ecadad5e5: avformat/flvdec: add flv_full_metadata option into flvdec
[18:30:19 CEST] <cone-091> ffmpeg 03Sergey Lavrushkin 07master:4eb63efbdaea: libavfilter: Adds on the fly generation of default DNN models for tensorflow backend instead of storing binary model.
[18:30:20 CEST] <cone-091> ffmpeg 03Sergey Lavrushkin 07master:9d87897ba84a: libavfilter: Code style fixes for pointers in DNN module and sr filter.
[18:30:21 CEST] <cone-091> ffmpeg 03Sergey Lavrushkin 07master:a66e74306a36: libavfilter: Fixes warnings for unused variables in dnn_srcnn.h, dnn_espcn.h, dnn_backend_tf.c.
[18:34:57 CEST] <atomnuker> ...less of evil is still evil, there's still binary weights
[18:43:25 CEST] <BtbN> Isn't that stuff also built by default? And it's insanely large?
[19:00:44 CEST] <durandal_1707> anybody interested in reversing SIMD code to C for me?
[19:02:12 CEST] <atomnuker> paste it here, as long as it isn't arm simd code someone will figure it out
[19:03:11 CEST] <iive> pastebin might be better idea ;)
[19:06:52 CEST] <durandal_1707> https://pastebin.com/YeUqpBZn
[19:07:53 CEST] <durandal_1707> it is idct very xvid alike, but looks like uses different constants, and causes wrong interframe decoding
[19:07:54 CEST] <kierank> probably copy pasted skal idct
[19:08:16 CEST] <durandal_1707> kierank: skal?
[19:08:34 CEST] <atomnuker> main xvid maintainer
[19:10:49 CEST] <durandal_1707> i nowhere see that xvid idct uses -2.031250476844434 constant
[19:39:55 CEST] <iive> it seems to be integer code, not float, and the pastebin doesn't show the constants value.
[19:43:30 CEST] <iive> durandal_1707, have you tried all idct variants that exist in ffmpeg?
[19:45:22 CEST] <durandal_1707> iive: xvid, simple, faan, int
[19:47:54 CEST] <iive> there are more
[19:48:25 CEST] <iive> some are codec specific
[19:48:49 CEST] <durandal_1707> yea, they are much harder to reach
[19:53:27 CEST] <durandal_1707> right, code it is using integers, and 49152 constant among bunch of others
[19:54:11 CEST] <durandal_1707> it is probably slightly modified xvid idct
[19:54:53 CEST] <Yagiza> durandal_1707, maybe I have to ask my question at this channel?
[19:56:18 CEST] <durandal_1707> Yagiza: nope
[19:56:51 CEST] <Yagiza> durandal_1707, are you sure?
[19:58:33 CEST] <durandal_1707> Yagiza: you can open bug report, this is channel for developement
[19:59:29 CEST] <Yagiza> durandal_1707, before opening a bug report I want to make sure that I'm doing everything correct.
[20:00:19 CEST] <Yagiza> durandal_1707, so I need to ask those, who developed the feature.
[20:00:27 CEST] <durandal_1707> Yagiza: i'm not rtp expert
[20:01:15 CEST] <Yagiza> durandal_1707, are there some of them around?
[20:01:37 CEST] <durandal_1707> dunno
[20:02:43 CEST] <Yagiza> durandal_1707, ok. At which time of day most of FFMpeg developers available on the channels?
[20:03:01 CEST] <durandal_1707> Yagiza: some are not using irc at all
[20:03:23 CEST] <Yagiza> durandal_1707, do you know a way to contact them?
[20:04:28 CEST] <durandal_1707> Yagiza: seek with git over source code who is responsible for feature you want to use
[20:05:47 CEST] <Yagiza> durandal_1707, it seems it's Martin Storsjö
[20:06:20 CEST] <Yagiza> durandal_1707, https://patchwork.libav.org/patch/32593/
[20:08:09 CEST] <durandal_1707> Yagiza: he is not on this channel
[20:09:13 CEST] <atomnuker> he is I think, wbs
[20:09:27 CEST] <Yagiza> atomnuker, wbs?
[20:42:09 CEST] <cone-091> ffmpeg 03Carl Eugen Hoyos 07master:81f25a105136: lavc/libx264: Support monochrome encoding.
[20:43:58 CEST] <cone-091> ffmpeg 03hwren 07master:f563e7868fb9: avs2: correct avs2 description
[21:34:56 CEST] <jamrial> atomnuker: if you didn't think that set solved the main issue, why didn't you say as much in the relevant thread?
[21:42:39 CEST] <atomnuker> lately I've had very little time to spend on reading the ML
[23:45:13 CEST] <cone-580> ffmpeg 03James Almer 07master:b955a33314d4: ffmpeg: simplify refcounting packets for the muxing queue
[00:00:00 CEST] --- Wed Aug 8 2018
1
0
[00:10:19 CEST] <ArsenArsen> there is a transcode example but it does a load more than just transcode (like do filters)
[00:16:03 CEST] <DHE> they're examples. prune them, mix and match them
[02:13:32 CEST] <pi-> https://paste.pound-python.org/show/rn84VHFtaoubs1fh12cA/
[02:13:53 CEST] <pi-> ^ can anyone see a cleaner way of doing this?
[02:15:58 CEST] <pi-> https://paste.pound-python.org/show/Wwd5oMqY3r45kuKtv20P/
[02:16:07 CEST] <pi-> ^ this is the complete function
[02:16:23 CEST] <pi-> What is the developer doing with args_ensure_speed?
[06:21:07 CEST] <johnnny22> Hi, I'm trying to seek at 08:48:46 using -ss on the input, but then I get a info msg saying "could not seek to position 113584.864" . Why is it trying that time instead of 31726 ?
[06:23:48 CEST] <johnnny22> the input is an HLS stream that is 'ended'
[06:29:03 CEST] <johnnny22> oh humm
[06:32:29 CEST] <johnnny22> I'm actually not totally grasping the situation, but I'm guessing it partially has to do with the fact that the streams props are as follow: Duration: 03:59:52.00, start: 81858.864056
[06:32:47 CEST] <johnnny22> I basically want to seek at a given timestamp :o/
[06:34:01 CEST] <Cracki> you want to seek to EIGHT hours into a stream?
[06:34:05 CEST] <Cracki> are you sure it's that long?
[06:34:37 CEST] <Cracki> why do you want to seek to a time that isn't there?
[06:34:45 CEST] <Cracki> no, really, I'm asking you WHY
[06:34:56 CEST] <Cracki> not a rhetorical question
[06:34:59 CEST] <johnnny22> well, to be honest, i want to seek at 22:48:46.13 which is a timestamp in the stream.
[06:35:22 CEST] <johnnny22> humm
[06:35:25 CEST] <Cracki> how long is your stream
[06:35:40 CEST] <johnnny22> according to ffprobe just under 4hours
[06:35:46 CEST] <Cracki> and, is it?
[06:35:57 CEST] <johnnny22> ya
[06:36:05 CEST] <Cracki> so?
[06:36:12 CEST] <Cracki> does what you want make sense?
[06:36:47 CEST] <johnnny22> but the 1st timestamp is around 22:43:00 or so
[06:37:15 CEST] <Cracki> what are you talking about
[06:37:40 CEST] <johnnny22> the timestamps in the mpegts, i guess the pts/dts values
[06:37:48 CEST] <Cracki> where do these "timestamps" come from
[06:37:54 CEST] <Cracki> and why do you think your file is that long?
[06:38:23 CEST] <Cracki> what does "first" timestamp even mean?
[06:38:25 CEST] <johnnny22> the stream is 4h long (3h58m) it's start time is : "start: 81858.86405" according to ffprobe.
[06:38:34 CEST] <Cracki> why didn't you say so?
[06:38:43 CEST] <johnnny22> sorry if i wasn't clear
[06:39:18 CEST] <johnnny22> I did specify the stream props above, but eh :)
[06:39:32 CEST] <johnnny22> i didn't state everything clearly at the beginning
[06:42:10 CEST] <johnnny22> so, if I recap: My stream is 3h58m long and starts at 81858.86405 according to ffprobe. This means the stream starts around time 22:43:00 or so. I'd like to seek the input using "-ss 22:48:46.13" on the input, but when I try this using -v info, i get an error message saying "could not seek to position 163984.994" .
[06:42:29 CEST] <johnnny22> I'm using -copyts too.
[06:42:56 CEST] <johnnny22> If I use : "-ss 22:48:46.13" on the output, it actually works.
[06:43:17 CEST] <johnnny22> But then, my outputted timestamps start at 0 and the copyts seems to have no effect.
[06:49:50 CEST] <johnnny22> to be honest, i don't mind using it on the output, but I'd need the timestamps to be right too
[06:52:35 CEST] <johnnny22> i'll play around some more with different output formats to see clearer.
[06:59:19 CEST] <johnnny22> i'm really baffled by this 163984.994 value it comes up with
[07:02:07 CEST] <johnnny22> i guess on the input, the ss position can only be a position from beginning, while on the output, it can apply to the timestamps too.
[07:04:53 CEST] <johnnny22> or at least with i copyts of the input
[08:04:54 CEST] <freedrull> i'm overlaying a gif on a video, it works but the framerate of the gif seems lower in the output ? is there any way i can address this? https://gist.github.com/mcfiredrill/6b50981e030d0230b9c1d8d9cd1559ea
[08:21:33 CEST] <fred__tv> Hi, very new to ffmpeg : is it possible to play an ip camera rtsp stream into a device framebuffer ? any documentation ?
[14:05:38 CEST] <Nacht> I'm trying to use the basic rotated text overlay using an alphamerge filter. However, I notice that due to the text being on a black background, the eventual text has somewhat black edges. Any way to remedy this ? I tried changing the background color, but then alphamerge doesn't work anymore.
[14:06:30 CEST] <Nacht> This is the command I use: https://pastebin.com/pBCK2BBp
[14:40:52 CEST] <tomtomb> Hi All, i'm trying to concat a bunch of files, and getting the error "Application provided invalid, non monotonically increasing dts to muxer in stream XX" a lot of times and it seems the concat is stuck... is there any way to fix this error?
[14:42:13 CEST] <BtbN> it's not an error.
[14:42:38 CEST] <BtbN> If you concat a bunch of unrelated files, of course the timestamps don't match up
[14:45:58 CEST] <tomtomb> BtbN, oh! gotcha, thanks!, i'm also getting the following messages, "edit unit sync lost on stream 0, jumping from 4459 to 4458", "cannot find current edit unit for stream 0, invalid index?", do those make sense too?
[15:36:36 CEST] <tomtomb> BtbN, is there any way to "unsubscribe" from those messages?
[17:26:23 CEST] <termos> Is there a way to get x264 to share encoding data across renditions? I have the same video transcoded several times, I figure I can re-use the motion vector and macro block-divison steps for example
[17:30:21 CEST] <DHE> termos: I believe that's a thing in x265 (at the API level) but not x264
[17:30:34 CEST] <termos> I see, thanks
[17:30:42 CEST] <DHE> not sure how shared MVs would work if you're rescaling the picture though
[17:33:44 CEST] <termos> was hoping I could scale those, the scale transform should not change directions afaik
[18:07:17 CEST] <acetone> Hi all!, I am encoding raw images in C to mjpeg avi, I figured out conversion and stuff, but I am getting bottom half of the picture purple
[18:07:22 CEST] <acetone> like this: https://imgur.com/a/6rZWEBP
[18:07:35 CEST] <acetone> do you know, what the issue may be?
[18:08:37 CEST] <Mavrik> acetone: that means that your picture buffers aren't the right size
[18:08:46 CEST] <Mavrik> You're only filling out half of the picture :)
[18:15:31 CEST] <acetone> thanks, for the yuv420p it should be x*y*4 bytes?
[18:16:39 CEST] <atomnuker> no, stride[0]*height + stride[1]*(height >> 1) + stride[2]*(height >> 1)
[18:20:18 CEST] <acetone> atomnuker: thanks, well AVframe seems to be set up correctly. But I think, that I am approaching this from wrong angle
[18:20:53 CEST] <acetone> if the image is not skewed, but cut in half
[18:21:19 CEST] <Mavrik> It just looks like you're not filling out the last half of luma (and perhaps other two channels)
[18:21:29 CEST] <Mavrik> If you'd have strides wrong, you'd get diagonal stripes
[18:22:05 CEST] <iive> unless he uses double stride, then he gets shrunk image :D
[18:22:17 CEST] <iive> but it looks proportional.
[18:24:41 CEST] <acetone> yeah proportions are OK, but now I am looking at conversion and the frame I am filling has linesize[0] = 960 linesize[1]=480 linesize[2]=480
[18:25:04 CEST] <acetone> and it should be half of 1920x1080
[18:25:43 CEST] <acetone> that seems to be OK
[18:30:52 CEST] <acetone> for some reason I am flipping the frame and doing some color conversion - I will try to disable that
[18:32:16 CEST] <acetone> also scale context is from 1920x1080 to 960x544 instead of 960x540, but afaik it should be. colors from AV_PIX_FMT_BGR32 to AV_PIX_FMT_YUVJ420P
[19:26:06 CEST] <yagiza> Hello!
[19:27:21 CEST] <durandal_1707> Hello!
[19:28:04 CEST] <yagiza> Is this the correct place to ask questions about using FFMpeg/LIBAV API?
[19:28:51 CEST] <Mavrik> mhm
[19:31:03 CEST] <yagiza> Mavrik, was that "yes" or "no"?
[19:33:58 CEST] <yagiza> It seems noone's around to answer.
[19:34:03 CEST] <yagiza> Anyway.
[19:34:09 CEST] <yagiza> I'll try.
[19:34:54 CEST] <yagiza> Do any1 around here have experience with RTP stream demuxing?
[19:35:20 CEST] <yagiza> If no, maybe someone can suggest me a correct place to ask?
[19:35:46 CEST] <durandal_1707> do you have some kind of bug to report?
[19:36:03 CEST] <yagiza> I have a problem and I can't find a place to get help.
[19:36:30 CEST] <yagiza> I'm not sure if it's a but in the liubrary, or just I'm doiung something wrong.
[19:36:49 CEST] <durandal_1707> what kind of problem?
[19:36:54 CEST] <yagiza> There is a feature, which I cant get working.
[19:37:14 CEST] <yagiza> And there is no working example of using it .
[19:37:59 CEST] <yagiza> The feature is "sdp_flags=custom_io" options of rtsp demuxer.
[19:39:21 CEST] <yagiza> When I specify the option, giving an SDP file, the option is accepted and SDP processed correctly, but nothig happens.
[19:40:35 CEST] <yagiza> It reads SDP data from my custom I/O procedures, but then it just listens IP and port specified in SDP instead of reading RTP data from my custom I/O.
[19:40:57 CEST] <yagiza> Just like no option specified.
[19:42:05 CEST] <yagiza> And I don't know where to ask about it.
[20:14:27 CEST] <acetone> Just for the record - I had srcSliceH in sws_scale() set to target instead of source... RTFD, or the joy of glueing the code.
[20:14:40 CEST] <acetone> Anyway, thanks everyone :)
[20:15:30 CEST] <acetone> I guess tomorrow I will be here trying to do the same process with png codec...
[22:09:33 CEST] <wingrime> Hi all!
[22:09:58 CEST] <wingrime> I have some problems with rtmp streaming
[22:10:11 CEST] <wingrime> constant framedrops
[00:00:00 CEST] --- Wed Aug 8 2018
1
0
[02:46:47 CEST] <JEEB> michaelni_: did you note anything else about that ismv patch?
[06:50:39 CEST] <cone-958> ffmpeg 03Gyan Doshi 07master:076b19660e7c: avcodec/libaomenc: correct range for cpu-used
[11:13:57 CEST] <loosechainsaw> i am attempting to use gpu acceleration in my app to decode video. How do I copy the entire frame->data buffer into cuda to i can convert it to bgra?
[11:37:10 CEST] <michaelni_> JEEB, no, only what i wrote
[12:08:36 CEST] <JEEB> michaelni: fate-lavf-ismv? that I fixed
[12:08:48 CEST] Action: JEEB has been traveling around so hasn't noticed anything else
[12:32:22 CEST] <jdarnley> How is a decoder supposed to signal an interlaced stream and field order to avcodec and the user?
[12:33:07 CEST] <nevcairiel> Avframe has fields for that
[12:33:16 CEST] <jdarnley> There is the AVFieldOrder enum in AVCodecContext but the doxy says that is set by the user on decoding (which doesn't make sense to me).
[12:35:54 CEST] <jdarnley> nevcairiel: you mean the "int interlaced_frame" and "int top_field_first" members?
[12:36:07 CEST] <nevcairiel> Yeah
[12:36:15 CEST] <jdarnley> I guess you do and it is what I need.
[12:36:58 CEST] <nevcairiel> Those things can change midstream in most codecs, which is why it's not mirrored as a stream level property
[19:53:39 CEST] <pi-> (REPOST) Seeking ffmpeg consultant https://paste.pound-python.org/show/SIeD9VyutK8MeIB6Immd/
[20:54:10 CEST] <cone-341> ffmpeg 03Vittorio Giovara 07master:ce7ca726b2ca: vf_tonemap: Fix logic for detecting the maximum peak of untagged sources
[20:54:10 CEST] <cone-341> ffmpeg 03Vittorio Giovara 07master:e467179cfbe2: vf_tonemap[_opencl]: Move determine_signal_peak() to a shared file
[20:54:10 CEST] <cone-341> ffmpeg 03Vittorio Giovara 07master:572ef567a528: vf_tonemap_opencl: Move update_metadata() to a shared file
[20:54:10 CEST] <cone-341> ffmpeg 03Vittorio Giovara 07master:aa8e5eecac97: vf_tonemap: Update hdr metadata with the new peak value
[00:00:00 CEST] --- Tue Aug 7 2018
1
0
[00:14:35 CEST] <DHE> bencoh: turns out leak sanitizer works out just fine if you recompile EVERYTHING (including x264, etc) with it... work required but worth it.
[05:48:55 CEST] <ayohmang> i'm compiling ffmpeg on solaris 11.3 sparc, some ancient solaris command such as grep,sed,awk need to be replaced with gnu conterparts in order to compile succesfully source code. just rename sed in /usr/sbin to sed.orig and and reference gnu sed in /usr/local/bin.. after a while i cant reboot solaris vm. im running on solaris 11.3 vm.
[08:32:47 CEST] <botik101> hello - i am using ffmpeg to extract many frames from video. what is the maximum number of frames i can extract using select filter? I noticed that most likely it will depend on the maximum length of the ffmpeg string?
[11:54:13 CEST] Action: pi- (REPOST) Seeking ffmpeg consultant https://paste.pound-python.org/show/eni5jLABXdJ1756nnzKk/
[12:01:16 CEST] <TheAMM> What are you offering, pi-?
[12:05:25 CEST] <pi-> TheAMM: I invite any interested party to offer a consultancy rate. My bad, I failed to put that in the post.
[12:12:01 CEST] <King_DuckZ> hello, when I send frames to ffmpeg, do they have to be in the right order even if they have a timestamp? I'm writing a multithreaded program and I'm not sure if I should make sure frames are sent in the right order or not
[12:12:19 CEST] <King_DuckZ> the timestamp would be correct obviously
[12:18:19 CEST] <DHE> frames going into an encoder need to be in ascending PTS order. packets going into a muxer need to be in ascending DTS order (if DTS is unset, DTS == PTS).
[12:18:53 CEST] <DHE> you should hold some kind of lock while performing any operation on a single AVXxxxContext object if said object may be used from multiple threads
[12:50:00 CEST] <King_DuckZ> DHE: ok, I'll make sure they are output in the right order from my side then, thanks!
[16:43:55 CEST] <SortaCore> hey folks
[16:44:17 CEST] <SortaCore> how do lossless ogg (presumably with flac inside)?
[16:44:29 CEST] <SortaCore> or should I just as well create .flac directly
[16:44:50 CEST] <furq> you should just create flac directly
[16:45:01 CEST] <furq> ogg flac isn't well supported and flac uses vorbis comments for tagging anyway
[16:45:08 CEST] <furq> so unless you want to attach other streams there's no point
[16:45:20 CEST] <SortaCore> ok, danke
[16:50:45 CEST] <barhom> https://trac.ffmpeg.org/ticket/7346 < this issue is killing me, atbd did y ou find any solution to your issue?
[17:00:57 CEST] <atbd> barhom: yes, my issue was engendered by an old code which did not take rollover into account. So it had started to filter everything once the rollover happened
[17:01:30 CEST] <atbd> ffmpeg is not the culprit
[17:05:01 CEST] <atbd> barhom: have you look at ffmpeg code to see in which case those messages appears ?
[17:08:58 CEST] <atbd> it comes from "rfast -g 50 -keyint_min 100 -sc_threshold 0 \
[17:08:58 CEST] <atbd> -b:v 900k -maxrate 900k -bufsize 2000k -c:a libfdk_aac -b:a 64k \
[17:09:10 CEST] <atbd> oups sorry
[17:10:07 CEST] <atbd> it comes from "avfilter_graph_request_oldest" in libavfilter/avfiltergraph.c:1396
[18:34:20 CEST] <IES> I am trying to use ffmpeg to stream a camera to youtube live. Everytime I try to do anything but -c:v copy I get extremely high CPU times. For example simply changing -c:v libx264 and instantly I get 200% CPU time. This is on a Ubuntu Linux VMWare host. I am using ffmpeg version N-90813-g4ac0ff8 Copyright (c) 2000-2018 the FFmpeg developers. Any ideas or suggesions please?
[18:35:24 CEST] <BtbN> Encoding video does use a lot of CPU. So nothing unusual there.
[18:38:54 CEST] <IES> But that much? I need to add some filters for time, date and weather. It uses so much CPU that I basically crashes the server after a period of time.
[18:39:18 CEST] <IES> There has to be something that can be done. FFMPEG would be useless if it did this for everyone.
[18:42:41 CEST] <bruce-> do you use the ultrafast x264 profile?
[18:42:56 CEST] <IES> Yes if I use anything else I can't even get 30FPS.
[18:43:51 CEST] <IES> Does FFMPEG rely on graphics card, memory, CPU? Memory and CPU are abundant but as a vmware host graphics is not great.
[18:45:59 CEST] <IES> Or is FFMPEG just not a good choice for me to use? Something better?
[18:47:32 CEST] <c_14> in most cases it won't use the GPU. Mainly CPU and a bit of memory
[18:47:40 CEST] <c_14> and 200% for x264 is on the low side
[18:47:49 CEST] <c_14> though it depends on your video resolution
[18:48:00 CEST] <furq> it shouldn't be using that much with a live source
[18:48:10 CEST] <c_14> Oh, input's live
[18:48:30 CEST] <BtbN> depends on the CPU
[18:48:45 CEST] <BtbN> if this is some ARM or crappy Atom CPU
[18:48:59 CEST] <BtbN> Or a 4K feed or something
[18:49:26 CEST] <BtbN> and really, 200%, depending on how many cores there are, is really not a lot for x264
[18:53:51 CEST] <IES> Really? How do people get this to work consistantly? I am trying to run a 24/7/365 camera and if it is over taxing the CPU 24/7 that kind of makes no sense. How does EVERYONE else in the world run a 24/7/365 stream consistantly without issues? This is running on an ESXi server that has plenty of CPU and Memory. I can throw 16 cores at it and 64 or even 128 GB of ram but upping either the
[18:53:51 CEST] <IES> CPU or Memory makes 0 difference unless there are some flags I need to set as well to utilize the cores or extra memory.
[18:55:04 CEST] <IES> This really seems like in this day and age it should be easy to accomplish. But again maybe ffmpeg is not the right tool for this job?
[18:56:58 CEST] <furq> IES: pastebin the command and output
[18:57:18 CEST] <furq> and also i guess /proc/cpuinfo wouldn't hurt (or just summarise it)
[19:07:11 CEST] <DHE> often -preset:v fast (or faster, or veryfast) can make it go better.
[19:07:17 CEST] <DHE> well, faster anyway.
[19:08:12 CEST] <DHE> other people do GPU or other hardware offload. any mid-to-high end nvidia GPU in the last 4 years will have hardware H264 encoding offload if you run the nvidia binary drivers.
[19:08:27 CEST] <DHE> (other options exist, but I don't have the hardware)
[19:13:06 CEST] <IES> https://pastebin.com/G3LmHUF9
[19:14:49 CEST] <DHE> source resolution?
[19:15:19 CEST] <DHE> 22 megabit video is impressive...
[19:19:21 CEST] <furq> if this is 4k then there's probably not much you can do
[19:19:24 CEST] <furq> other than rescale it
[19:19:45 CEST] <furq> also -crf will override -b:v
[19:25:05 CEST] <BtbN> IES, 200% cpu usage is far from over taxing.
[19:25:46 CEST] <BtbN> The event-stream I ran recently was using over 1000% CPU consistently. Also, that's a terrible way to measure CPU usage.
[19:26:12 CEST] <BtbN> It's meaningless, specially when you don't know the total amount of cores and threads.
[19:27:09 CEST] <BtbN> 384k for aac is also insane
[19:27:17 CEST] <BtbN> 128k is fine, unless this is 5.1 or something
[19:28:18 CEST] <BtbN> Also, that CPU of yours, E5-2680 v3, is a 12 core 24 thread CPU. 200% is absolutely nothing on that. It means it's using 2 cores.
[19:28:43 CEST] <BtbN> you should probably even limit it to 6 or 8 threads, more is mostly pointless
[19:29:04 CEST] <BtbN> Given that it's a Xeon E5, you probably even have two of them.
[19:33:34 CEST] <ayohmang> im compiling on solaris 11.3 which a little bit pain. install gnu grep,diff,sed,awk because old solaris similar command doesnt supported. make and make install working fine. but after reboot, my vm wont boot anymore.
[19:35:21 CEST] <ayohmang> solaris 11.3 sparc on oracle vm solaris zone
[21:20:05 CEST] <pi-> If I wish to encode as say .mp4, do I have a choice of available codecs? In which case, how can I choose one that scales well to multicore?
[21:22:14 CEST] <pi-> Also, is there a CPU efficient way to prepend (say 1s) black to a video?
[21:29:27 CEST] <DHE> pi-: it varies by container. mp4 supports a number of codecs, though I imagine h264 will be your preferred video codec
[22:10:17 CEST] <leif> When compiling ffmpeg with the lame mp3 encoder, would it make sense to use a version of lame compiled with --enable-nasm or not? (Or does it not really make much of a difference.)
[22:10:45 CEST] <leif> (I'm having a hard time figuring out what lame and/or ffmpeg do with nassm, so I'm not really sure what the effects are.)
[22:12:09 CEST] <DHE> assembly implementations of algorithms, when done right, are faster than C
[22:12:28 CEST] <DHE> plus you can do things more easily like make use of MMX, SSE, 3dNow, AVX, and whatever other instructions exist
[22:12:58 CEST] <DHE> it's usually better to enable it if available. but once ffmpeg or Lame are built, nasm doesn't really matter anymore.
[22:13:21 CEST] <teratorn> DHE: not necessarily true, and C libraries /help/ you write parallel code, not the reverse
[22:13:37 CEST] <teratorn> at least ones designed to not get in the way of doing so
[22:14:10 CEST] <teratorn> but you're right sometimes it's just easier to use the instruction set
[22:15:39 CEST] <Cracki> I wonder what use a standalone assembler is when you can do inline assembly in C and C++
[22:16:05 CEST] <leif> DHE and teratorn That makes sense.
[22:16:24 CEST] <leif> So basically it's just an optional assembler you can use. That makes sense, thanks. :)
[22:16:36 CEST] <pi-> Would h264 be suitable for preserving > 16kHz audio content?
[22:16:38 CEST] <furq> you should absolutely use it for ffmpeg itself
[22:16:45 CEST] <furq> it'll actually throw a big warning at you if you don't
[22:16:52 CEST] <furq> but i don't think it makes much difference for lame
[22:17:25 CEST] <pi-> DHE: "it varies by container" <-- what do you mean by 'container'?
[22:17:44 CEST] <DHE> Cracki: it's often easier to get upgraded versions of nasm than upgraded binutils when new CPU instructions come out
[22:17:50 CEST] <Cracki> hm
[22:18:46 CEST] <DHE> also i've seen inline asm wreak havoc with some compiler optimizations like LTO. (I do hope they've fixed that)
[22:19:07 CEST] <DHE> pi-: the actual file format. mp4 is the container, and it contains H264 video and, oh, AAC audio or something
[22:21:50 CEST] <pi-> ah, tx
[22:23:54 CEST] <pi-> I don't actually need to mess with the video stream. Apart from prepending black for k1 seconds and k2 seconds. So I suppose I should stick with whatever file format the src video is.
[22:24:18 CEST] <Cracki> prepending black picture or still audio for some containers means just setting an offset
[22:24:27 CEST] <pi-> * and freezing the last frame for k2 seconds
[22:28:32 CEST] <pi-> Cracki: source videos are guaranteed to be a AVI or MP4
[22:29:22 CEST] <pi-> Is there an easy fix for pre-pending black and freezing the last Frame?
[22:33:19 CEST] <TheAMM> pi-: fyi, h264 is a video codec and irrelevant to audio
[22:33:36 CEST] <TheAMM> As you've found out, AAC can handle over 16khz audio
[22:34:13 CEST] <TheAMM> But I don't know your max range, so it's not really all that useful to say "it can do above X"
[22:36:26 CEST] <TheAMM> You can (ab)use the overlay video filter to hold the last frame (https://video.stackexchange.com/questions/10825/how-to-hold-the-last-frame-… for example)
[23:48:17 CEST] <ArsenArsen> does anyone have an implementation of clean reencode and remux (any format to any other format with all the conversions done to the recommended codecs of the target format, lets say webm (vp8) to mp4 (h264)) implemented in C or C++
[23:51:20 CEST] <Mavrik> ffmpeg.c would be the right thing ? :P
[23:52:38 CEST] <ArsenArsen> na I need to programatically call it without subprocessing (since I want to do more with the mid result, eg show it live as it is transcoded)
[23:52:51 CEST] <ArsenArsen> which also means that i need to do it really fast so it can happen in real time
[23:58:01 CEST] <Mavrik> Sure, but my point is - it's the implementation of transcoding that supports all of that ;)
[23:58:09 CEST] <Mavrik> (might wanna look into examples/ directory first tho.)
[00:00:00 CEST] --- Tue Aug 7 2018
1
0
[16:09:02 CEST] <durandal_1707> hello fellow ffmpeg devs, whats up?
[16:14:54 CEST] <atomnuker> I wanna play beach volleyball but I'd be happy with plain 6-person indoor volleyball too
[16:15:12 CEST] <durandal_1707> looks like its too hot to even write something
[16:17:56 CEST] <durandal_1707> atomnuker: you are near beach?
[16:18:31 CEST] <jdarnley> "What's up?" Not much, I'm getting kind of thirsty.
[16:19:53 CEST] <atomnuker> durandal_1707: no, nowhere near, stuck in london, and can't go elsewhere currently because its even warmer
[21:31:43 CEST] <cone-141> ffmpeg 03Aman Gupta 07master:e77a3e996f3b: avcodec/mediacodecdec: fix spurious newline in trace logging
[23:20:22 CEST] <pi-> Hello everyone! I'm hunting for a ffmpeg expert to help me through an AV processing (Python) pipeline. Spec https://paste.pound-python.org/show/30HeA6XIIJ8No0PsR3kn/
[23:20:48 CEST] <pi-> https://ffmpeg.org/consulting.html redirects to the 'ffmpeg-devel mailing list'
[23:21:04 CEST] <pi-> So hopefully this post is not inappropriate.
[23:21:33 CEST] <pi-> I'm posting here as it is more convenient/synchronous than email
[23:21:43 CEST] <TheAMM> Weren't you just in #ffmpeg?
[23:22:00 CEST] <pi-> If anyone reading this is interested to engage, please PM me or write pi|pipad|org
[23:22:04 CEST] <pi-> TheAMM: yup
[23:22:39 CEST] <TheAMM> What you're asking is user support, not development
[23:23:03 CEST] <TheAMM> ffmpeg development*
[23:33:52 CEST] <pi-> TheAMM: yup, it's unclear whether or not it is appropriate to post here. The official consultancy page directs to the development mailing list. I would imagine this channel is on a par with that mailing list.
[23:34:07 CEST] <pi-> (sorry if I've made a mistake).
[23:34:41 CEST] <TheAMM> "Welcome to the FFmpeg development channel | Questions about using FFmpeg or developing with libav* libs should be asked in #ffmpeg" - topic
[23:42:05 CEST] <pi-> Yes, my question is neither. My question is regarding sourcing a ffmpeg consultant. So it is unclear to me whether or not it is on-topic.
[23:44:13 CEST] <atomnuker> yeah, its on topic
[23:44:37 CEST] <pi-> yay
[00:00:00 CEST] --- Mon Aug 6 2018
1
0
[03:06:48 CEST] <Case_Of> atomnuker: i am testing cyanrip in my chroot
[03:08:16 CEST] <Case_Of> Stream #0:0: Audio: flac, 44100 Hz, stereo, s16, 128 kb/s
[03:08:16 CEST] <Case_Of> &
[03:08:27 CEST] <Case_Of> 128kb/s by default
[03:09:37 CEST] <Case_Of> atomnuker: what a cd is using as default bitrate?
[03:10:07 CEST] <Cracki> 441
[03:10:08 CEST] <Cracki> 00
[03:10:35 CEST] <Cracki> that's 1411.2 kbit/s
[03:10:50 CEST] <Cracki> so the 128 kb/s for *flac* are bogus
[03:11:23 CEST] <Cracki> you know... it's ok to ask the channel, no need to chase specific people
[03:11:42 CEST] <Case_Of> i was asking atomnuker because it's his ripping program
[03:11:45 CEST] <Case_Of> cyanrip
[03:12:17 CEST] <Cracki> hm
[03:12:31 CEST] <Case_Of> so let's try cyanrip -b 1411
[03:12:41 CEST] <Cracki> does flac even work with bitrates?
[03:13:02 CEST] <Case_Of> good question
[03:13:14 CEST] <Case_Of> ffmpeg considers that flac has bitrate
[03:13:34 CEST] <Cracki> if I were a flac encoder, I'd ignore bitrate
[03:14:18 CEST] <Case_Of> then how could it be done?
[03:14:28 CEST] <Case_Of> to get a lossless rip?
[03:17:38 CEST] <Cracki> flac is lossless
[03:17:53 CEST] <Cracki> dude you are asking questions that tell me you don't understand the tools
[03:18:00 CEST] <Cracki> you've been at this for a few days
[03:19:28 CEST] <Case_Of> that's possible
[03:20:40 CEST] <Case_Of> Cracki: was it you that recommended me whipper few days ago?
[03:20:51 CEST] <Cracki> no
[03:20:55 CEST] <Case_Of> ok
[03:21:50 CEST] <Case_Of> because actually i prefer whipper method
[03:21:53 CEST] <Cracki> my impression is that you're obsesses with "lossless", but you don't seem to comprehend how CDs are read
[03:22:48 CEST] <Case_Of> then enlight me :)
[03:23:54 CEST] <Cracki> read up on how data on a CD is arranged, specifically how much error correcting data is stored
[03:24:13 CEST] <Cracki> reading an audio cd perfectly isn't too difficult
[03:24:36 CEST] <Case_Of> yeah probably
[03:24:42 CEST] <Cracki> and you _have_ been told what these tools do (read slowly, read multiple times, check hashes against a database, ...)
[03:24:57 CEST] <Case_Of> both whipper and cyanrip read the cd perfectly i think
[03:24:58 CEST] <Cracki> and you _have_ had the chance to figure out what FLAC is
[03:25:28 CEST] <Case_Of> but cyanrip is doing postprocess conversion, so i think it's a wrong approach
[03:25:53 CEST] <Cracki> so you should understand that flac is more like zip than mp3
[03:26:04 CEST] <Case_Of> ok
[03:26:05 CEST] <Cracki> wat
[03:26:09 CEST] <Cracki> you "think"?
[03:26:18 CEST] <Cracki> what do you think it does?
[03:26:35 CEST] <Case_Of> it says encoding
[03:27:30 CEST] <atomnuker> Case_Of: oh, if you read the logs it says "lossy bitrate"
[03:27:39 CEST] <atomnuker> lavf still reports bitrate even if a format is lossless
[03:27:52 CEST] <atomnuker> I guess I can unset it if the codec is lossless though
[03:28:23 CEST] <atomnuker> and yes, bitrate is very much ignored for lossless formats
[03:28:34 CEST] <Case_Of> but ffmpeg is still showing it
[03:28:41 CEST] <Case_Of> so it's maybe not cyanrip fault
[03:29:00 CEST] <Case_Of> ffmpeg -i song.flac still shows that bitrate
[03:30:13 CEST] <Case_Of> ffmpeg should ignore that
[03:32:35 CEST] <atomnuker> well, I think it shows average bitrate
[03:33:18 CEST] <Case_Of> so by default the average bitrate set by ffmpeg is 128kbps?
[03:47:10 CEST] <atomnuker> no, that's the cyanrip default, in ffmpeg it depends on the encoder used
[03:51:01 CEST] <Case_Of> ok
[03:59:49 CEST] <johnnny22> hey
[04:29:27 CEST] <Case_Of> atomnuker: my gentoo chroot for cyanrip https://caseof.tk/cyanrip_subsystem.tar.xz
[06:28:33 CEST] <johnnny22> wouldn't be nice if the hls demuxer could support a start_media_sequence as an alternative to the start_live_index ?
[06:30:59 CEST] <JEEB> i think the chinese guy hacking on the hls/dash stuff looks at the trac issue tracker, so feel free to request it there
[08:11:31 CEST] <Wallboy> Can someone explain what setpts really does? I often see tutorials on filters and see "setpts=PTS-STARTPTS" used quite a lot with no real explanation of why/what it's doing besides "zeroing out the timestamp to avoid sync issues". What is the value of PTS? and the value of STARTPTS? What does the expression actually equate to? Does it apply on each frame? I've already done research on PTS and
[08:11:31 CEST] <Wallboy> I know WHAT it is and how it describes when a particular frame is supposed to be shown. I just don't understand what PTS-STARTPTS is supposed to accomplish
[08:21:52 CEST] <greysondn> Wanting to pipe raw frames from ffmpeg used to decode into python and then back out into a second ffmpeg process for reencoding. I've been here once before and established that, while perhaps I struggle a bit with the nature of video codecs, I know what I'm doing. My source is "lossless" x264 in RGB color space, I'll be using Python's PILLOW library, can someone *please* just give me some guidance on setting up the two pipes in a
[08:22:26 CEST] <greysondn> (I was here once before and this was actually a suggested solution that I'm finally getting around to looking at, for the record.)
[08:29:17 CEST] <greysondn> Derp. Python 3.7, my derp for not being clearer there.
[11:11:46 CEST] <Mavrik> mornin
[11:12:17 CEST] <Mavrik> Wallboy, what that really does is subtracts timestamp of the first frame (STARTPTS) from each frames timestamp
[11:12:34 CEST] <Mavrik> so essentially it makes sure first frame starts at timestamp 0 instead of whatever else
[11:13:07 CEST] <Wallboy> so it ONLY applies to the first frame?
[11:13:14 CEST] <Mavrik> no, to each frame
[11:13:30 CEST] <Mavrik> pretty much all filters apply to all frames
[11:13:38 CEST] <Wallboy> to me STARTPTS is the first PTS... so in my mind naturally that would be... 0... so you see my confusion
[11:13:48 CEST] <greysondn> Been three hours but for he record I'm still here. Just started dumping what should be my source video for my question about three hours ago.
[11:13:59 CEST] <greysondn> No hurry, just noticed signs of life was all.
[11:14:27 CEST] <Wallboy> what is the CURRENT PTS MINUS the STARTPTS changing?
[11:14:31 CEST] <Mavrik> Wallboy, there's absolutely no rule that the first frame should start at 0 :)
[11:14:42 CEST] <Mavrik> in a file or a stream
[11:14:54 CEST] <Wallboy> so we are subtracting a very very small value from the current PTS?
[11:14:55 CEST] <Mavrik> think live streams - how would you start at 0 when connecting in a middle of a live video? :)
[11:15:05 CEST] <Mavrik> Why would the value be small?
[11:15:22 CEST] <Wallboy> well given a non live stream... an normal input file
[11:15:28 CEST] <Wallboy> why would the STARTPTS not be 0
[11:15:35 CEST] <Mavrik> Because someone created it like that.
[11:15:39 CEST] <Mavrik> Again, there's no rule.
[11:15:40 CEST] <Mavrik> At all.
[11:15:46 CEST] <Mavrik> It can start wherever.
[11:15:46 CEST] <Wallboy> isn't the PTS the time to display a video frame... when i first laucnah a video, the first frame shoudl be displayed at... 0? no?
[11:15:57 CEST] <Mavrik> If should be yes
[11:16:02 CEST] <Mavrik> But that doesn't mean the first PTS has value of 0.
[11:16:15 CEST] <Mavrik> If you cut a video in half.
[11:16:26 CEST] <Mavrik> Why would you expect the second half to have first timestamp of 0?
[11:16:34 CEST] <Wallboy> yes, because it's a NEW video
[11:16:35 CEST] <Mavrik> Cutting doesn't change the timestamps
[11:17:01 CEST] <Mavrik> Retimestamping the video would be pointless waste of CPU... and could bring in sync issues.
[11:17:21 CEST] <Mavrik> Because there's also no rule that you have audio frames with exact same PTS as video
[11:17:39 CEST] <Wallboy> so in general what is the first PTS value of a "normal" mp4 or avi for the sake of example, be?
[11:17:49 CEST] <Wallboy> for the first frame
[11:17:49 CEST] <Mavrik> It can be whatever.
[11:17:58 CEST] <Mavrik> You're trying to look for a rule that doesn't exist.
[11:18:05 CEST] <Mavrik> It can literaly be any number.
[11:18:20 CEST] <Mavrik> It can be 0 or 8549385943
[11:18:36 CEST] <Wallboy> but if it was a value that was 15 seconds... and i opened the file in my video player, and not got a video for 15 seconds... i would be thinking something is wrong with this video
[11:18:59 CEST] <Mavrik> Yes, but PTS isn't absolute time
[11:19:13 CEST] <Mavrik> The player really cares about spacing between PTS values of frames
[11:19:15 CEST] <Mavrik> Not their exact values.
[11:19:30 CEST] <Mavrik> Every player will just start immediately playing from first frame.
[11:19:35 CEST] <Wallboy> I guess what i'm really confused about is what the expression (PTS-STARTPTS) is doing?
[11:19:39 CEST] <Wallboy> what is that accomplishing?
[11:19:44 CEST] <Wallboy> and why do you see this often after trim filter
[11:19:47 CEST] <Mavrik> It's making sure that the file you output will start at 0
[11:20:01 CEST] <Mavrik> It's generating a pretty file you're hoping to have - the one that starts at 0 PTS :P
[11:20:17 CEST] <Mavrik> So it subtracts first time stamp from all the others
[11:20:23 CEST] <Mavrik> So if your input has timestamps that are like:
[11:20:24 CEST] <Wallboy> ok, but then why is it not setpts=0?
[11:20:29 CEST] <Mavrik> 110, 120, 130, 140, 150
[11:20:30 CEST] <Wallboy> if it makes sure it "starts at 0"
[11:20:40 CEST] <Mavrik> Your output will be (110-110), (120-110) ...
[11:20:44 CEST] <Mavrik> or in other words, 0, 10, 20, ...
[11:20:59 CEST] <Mavrik> Because setpts=0 would set timestamp on EVERY frame to 0
[11:21:15 CEST] <Mavrik> Telling the player "show all of these frames at once!"
[11:21:26 CEST] <Mavrik> And generating something that's not playable ;P
[11:22:08 CEST] <Wallboy> so when in general in a complex filter chain would setpts=PTS-STARTPTS be needed? or better... when is it NOT needed?
[11:22:39 CEST] <Mavrik> No idea why it's needed in your case.
[11:22:45 CEST] <Mavrik> In most cases it shouldn't be needed.
[11:22:51 CEST] <Mavrik> But hard to say because I don't know what you're doing.
[11:22:53 CEST] <Wallboy> i see it in almost all usages of the trim filter
[11:23:04 CEST] <Wallboy> with the reason as "to avoid quirks with timestamps, this is needed"
[11:23:54 CEST] <Mavrik> *shrug*
[11:24:04 CEST] <Mavrik> I'd expect that to introduce a bit of sync issues.
[11:24:06 CEST] <Wallboy> https://trac.ffmpeg.org/wiki/FilteringGuide
[11:24:10 CEST] <Mavrik> But as I said, perhaps it's legitimate.
[11:24:16 CEST] <Wallboy> "a good idea to pass all overlay inputs through setpts"
[11:24:30 CEST] <Wallboy> as in the guy who wrote that doesn't know if it's needed
[11:24:35 CEST] <Mavrik> ah
[11:24:42 CEST] <Mavrik> for overlay it makes sense
[11:25:04 CEST] <Mavrik> because you're joining multiple videos
[11:25:10 CEST] <Mavrik> and if they don't start at the same timestamp
[11:25:22 CEST] <Mavrik> They won't start at the same time.
[11:27:17 CEST] <Wallboy> about a year ago, i was having audio sync problems with lib-rubberband and a video that was going out of sync, someone suggested the setpts filter with that expression, and it did solve the issue. I didn't try to understand the why of it, and now a year later, I'm refactoring a program I'm writing that uses ffmpeg and am just trying to understand certain filters
[11:29:00 CEST] <Wallboy> i still don't understand the "start at 0 timestamp" i keep seeing with PTS-STARTPTS
[11:30:16 CEST] <Wallboy> i'll have to study it more... i'm sure i'll have a "ohhhhh of course" moment lol
[11:30:34 CEST] <furq> startpts is the pts of the first selected frame
[11:30:34 CEST] <Mavrik> Perhaps use ffprobe to print out pts of all frames in your streams?
[11:30:38 CEST] <Mavrik> Before and after processing?
[11:31:55 CEST] <furq> basically if you're doing trim;trim;concat then each clip you give to concat needs to start at 0 or else you'll get big pts discontinuities
[11:32:13 CEST] <furq> which will manifest themselves in a variety of fun ways
[11:34:10 CEST] <furq> so trim=start_pts=100:end_pts=200,setpts=PTS-STARTPTS will have 100 deducted from every pts value so you get 0-100 instead of 100-200
[11:34:54 CEST] <Wallboy> i have a filterchain that takes a video and appends an OUTRO video using concat, but in between that main video and outro video, i create a third video that acts as a fade between the main video and outro video
[11:35:23 CEST] <Wallboy> so trims and concat IS used in my chain, but i only had to do it to fix an audio sync issue with the main video
[11:35:48 CEST] <Wallboy> from what i can recall when i set this up a year ago and just am going through code to refactor/understand things better
[11:36:46 CEST] <Wallboy> I'll have to re-read your guys comments tomorrow to undrstand better, cause i'll be honest, i'm a few too many bourbons in right now to try and understand this atm lol (hey it's the long weekend where i live :P)
[11:37:14 CEST] <Wallboy> but thanks for answering, i'm sure I'll have a "eureka" moment tomorrow
[17:42:03 CEST] <kepstin> rrg: cheap usb grabbers are actually pretty decent at dealing with poor quality vhs signals
[17:42:55 CEST] <kepstin> rrg: only reason you'd want tbc is if frames in the resulting video have some lines shifted horizontally
[17:43:00 CEST] <rrg> i already did recordings with it and as far as i remember those werent that great
[17:43:31 CEST] <rrg> was 1 or 2 years ago
[17:44:17 CEST] <Cracki> are luma and chroma of a single at least aligned to each other?
[17:45:12 CEST] <kepstin> Cracki: no reason they wouldn't be, iirc vhs stores in a composite format so they'd all be together
[17:45:23 CEST] <rrg> have to look for the recordings ...
[17:45:36 CEST] <Cracki> depending on severity, some post-capture filtering might be possible. I'm not sure how to align lines properly though... the content of two lines would need to be aligned, but if they have originally "shifted" content, that would fail to give the right result
[17:45:54 CEST] <Cracki> one would have to overscan and hope the fringes of the picture can be used for alignment
[17:46:19 CEST] <Cracki> best results on uncompressed video ;)
[17:46:35 CEST] <kepstin> rrg: but yeah, if the recordings just look bad in general - well, that's vhs. If you have the specific issue of horizontally shifted lines, TBC would help.
[17:49:20 CEST] <kepstin> make sure that you're capturing in 4:2:2 or 4:1:1 sampling rather than 4:2:0 if hardware supports it, so you have separate chroma per line. Makes later filtering easier.
[17:50:24 CEST] <rrg> left and right edge are wavy
[17:50:41 CEST] <rrg> i think a tbc is probably what i need
[17:51:55 CEST] <rrg> also some stoppers but i think that was the problem of the bad windows software of the grabber brand - will record this time raw under linux with the help of the nvidia card
[17:53:10 CEST] <Cracki> what does "the nvidia card" have to do with grabbing?
[17:54:32 CEST] <kepstin> well, if you have really poor cpu, i guess using a hardware encoder means you can keep up with realtime capture
[17:54:58 CEST] <kepstin> but even a pretty low end modern computer should have no issue doing hundreds of fps in x264 at sd resolution.
[17:57:34 CEST] <rrg> i thought that last time the cpu couldnt keep up
[17:58:17 CEST] <rrg> i have stoppers and the usb grabber had to be cooled ... D:
[18:10:02 CEST] <Cracki> take care to encode that stuff at highest possible quality, if you need to do any filtering (tbc in software)
[18:11:16 CEST] <Cracki> i forwarded dscastro. he has this problem: (rtsp camera feed) -> trancode to mpeg4 -> upload to s3 bucket
[18:13:55 CEST] <dscastro> Cracki: i spend two days tweaking a python code to grab rtsp feed and write files, just finished within minutes a ffmpeg version :)
[18:26:31 CEST] <pi-> Varying '-threads' value doesn't appear to affect computation time on my MacBook Pro.
[18:26:37 CEST] <pi-> Am I missing something?
[18:26:40 CEST] <No0n3Left> Im trying to put a .opus file in a .ogg file, but every time I try, it recodes the opus into vorbis. Opus can be embeded in (and Im pretty sure is officially supported by) OGG, so how can I tell it just to put it in an ogg container and not to recode it
[18:26:51 CEST] <pi-> Is it likely to take advantage of say a 32-core LinuxVM?
[18:29:07 CEST] <Mavrik> No0n3Left, what's your command line?
[18:29:26 CEST] <Mavrik> pi-, are you using an encoder that can properly use threads?
[18:29:27 CEST] <No0n3Left> Mavrik: ffmpeg -i Original.opus New.ogg
[18:29:37 CEST] <No0n3Left> Also have tried -c copy, but that doesnt actually change it to ogg
[18:29:39 CEST] <Mavrik> Yeah, that's going to reencode with default settings
[18:29:42 CEST] <Mavrik> and trash quality :P
[18:29:47 CEST] <Mavrik> -c copy is what you want.
[18:29:58 CEST] <c_14> No0n3Left: there's no difference between .opus and .ogg
[18:30:09 CEST] <c_14> .opus is just the file extension for "opus in ogg"
[18:30:11 CEST] <No0n3Left> If I do -c copy, then check it with ogginfo, it says its not valid ogg
[18:30:32 CEST] <No0n3Left> It just says Type Unknown
[18:31:21 CEST] <Cracki> what version of ogginfo do you use?
[18:31:33 CEST] <Cracki> use ffprobe.
[18:32:25 CEST] <No0n3Left> NVM, ffprobe shows it as valid ogg
[18:32:35 CEST] <Cracki> sounds like ogginfo is outdated
[18:32:47 CEST] <c_14> I think ogginfo just doesn't know about opus
[18:33:27 CEST] <Cracki> don't blame ffmpeg for ogginfo not understanding the file ;)
[18:33:42 CEST] <No0n3Left> Yeah, didnt realise ogginfo didnt know opus
[18:33:53 CEST] <c_14> No0n3Left: the only thing you need to do to "convert" between .opus and .ogg is rename the file
[18:34:12 CEST] <c_14> the file formats are otherwise identical
[18:34:54 CEST] <No0n3Left> Ok, thanks
[18:38:33 CEST] <furq> No0n3Left: there's a fork of ogginfo for opus
[18:38:34 CEST] <furq> opusinfo
[18:38:49 CEST] <furq> it is weird they wouldn't just merge them but shrug
[18:41:03 CEST] <No0n3Left> furq: I dont even have that command on my system. The ogg tools are a mess sometimes. Especially the kate ones. Wish ffmpeg supported kate, but I dont think it does.
[18:41:22 CEST] <c_14> No0n3Left: separate package opus-tools (probably)
[18:41:50 CEST] <c_14> ogginfo is in the vorbis-tools package and opusinfo in the opus-tools package (at least on my distro)
[18:42:56 CEST] <furq> i forgot what kate was so i googled it and the top page of matches is all about a woman called kate ogg
[18:43:06 CEST] <furq> so i guess that speaks to how popular ogg kate is
[18:43:42 CEST] <c_14> Isn't kate also the text editor?
[18:43:51 CEST] <furq> yeah
[18:43:52 CEST] <No0n3Left> Yeah, but its really the only good way to embed subtitles in ogg
[18:44:26 CEST] <furq> is there any reason to use theora nowadays
[18:45:10 CEST] <furq> i guess even if there is you can just mux it into mkv
[18:46:14 CEST] <No0n3Left> Theora is the losseless one right?
[18:46:34 CEST] <furq> no
[18:46:49 CEST] <furq> theora is the ogg video codec
[18:46:56 CEST] <furq> i assume you're using that if you need subtitles
[18:47:25 CEST] <No0n3Left> No, just with audio. IDK. Like to keep subtitles embeded in audio if I can. Not really needed
[18:49:04 CEST] <No0n3Left> Whats wrong with theora though? AFAIK its one of the only open and decent video codecs
[18:50:49 CEST] <Mavrik> furq, hmm, using Theora these days sounds pretty insane
[18:51:11 CEST] <Mavrik> Isn't it stuck on like DivX level of coding standard
[18:51:19 CEST] <Mavrik> yp.
[18:53:00 CEST] <furq> it's not even that good
[18:53:37 CEST] <furq> No0n3Left: vp8/vp9 are acceptably open for most people and they're less ancient
[18:53:49 CEST] <furq> and av1 whenever they get around to making that usable
[18:56:18 CEST] <No0n3Left> Ok, thats good to know
[18:59:52 CEST] <No0n3Left> [M
[18:59:52 CEST] <No0n3Left> i[M#
[21:13:29 CEST] <johnnny22> what exactly is this "Enable interaction on standard input" about exactly ? What kind of interaction are we talking about here and where would it be documented ?
[21:17:08 CEST] <BtbN> Where do you see that?
[21:19:37 CEST] <johnnny22> Within the https://ffmpeg.org/ffmpeg-all.html#Main-options --> -stdin option
[21:19:49 CEST] <furq> johnnny22: hit ? while ffmpeg is running
[21:20:50 CEST] <johnnny22> aaah, thanks
[21:21:44 CEST] <johnnny22> makes sense!
[21:51:53 CEST] <acetone> hello, I am trying to encode raw frames with avcodec_encode_video2(), but it keeps throwing exception. Can you help me?
[21:57:37 CEST] <BtbN> ffmpeg does not throw exceptions. You mean it crashes? Or returns an error?
[22:05:56 CEST] <acetone> BtbN yeah, msvc handles it as an exception... But it chrashes.
[22:06:59 CEST] <DHE> well ffmpeg is C, but an 'exception' is another language thing like C++
[22:08:13 CEST] <acetone> I am comparing process to one that is working, and I can not see difference. So AVframe seems to be OK. Can it crash because of messed up codec context?
[22:09:52 CEST] <acetone> problem is, that AVCodecContext has so many fields, that it is hard to debug
[22:10:47 CEST] <DHE> the return code from avcodec_encode_video2 is a negative number and av_strerror() can convert it to a human-readable string
[22:11:37 CEST] <DHE> the other thing you can try is turning on logging or raising the print cutoff. I forget what the default is...
[22:12:50 CEST] <acetone> avcodec_encode_video2 chrashes, so there is no error code
[22:12:59 CEST] <acetone> also console is silent
[22:13:33 CEST] <DHE> so full segfault...
[22:13:44 CEST] <acetone> I am accessing avcodec_encode_video2 from another software so it is library...
[22:46:52 CEST] <pi-> I asked earlier: I'm using `-threads=0` which IIRC should optimise for the number of CPU cores available. However I'm getting no noticeable performance benefit.
[22:47:21 CEST] <pi-> Someone suggested maybe I am using a codec that doesn't support parallellization.
[22:47:25 CEST] <DHE> well that's usually the default anyway
[22:47:25 CEST] <TheAMM> Someone will correct me, but that's encoder specific
[22:47:46 CEST] <TheAMM> libvpx for example isn't able to count the cores
[22:47:55 CEST] <BtbN> 0 is the default, so unless you were intentionally limiting to 1 before, there won't be any difference
[22:48:09 CEST] <pi-> tx, good knowledge
[22:48:19 CEST] <pi-> How to know which codec I'm using?
[22:48:29 CEST] <pi-> Do I have any choice in the matter?
[22:48:42 CEST] <BtbN> You're telling it which codec to use
[22:48:56 CEST] <pi-> I need to separate streams, insert blips into the audio stream, re-merge.
[22:49:08 CEST] <pi-> I want to export .mp4
[22:50:19 CEST] <pi-> I'm encoding Digital content > 17kHz, so it's important that a compression algorithm doesn't erode the information content
[22:50:42 CEST] <pi-> If I set .mp4, is that determining the codec?
[22:51:08 CEST] <TheAMM> You mean you have audio above 17khz?
[22:51:22 CEST] <pi-> Thatyup
[22:51:27 CEST] <furq> pi-: -h muxer=mp4
[22:51:29 CEST] <pi-> -that
[22:51:34 CEST] <furq> will tell you what the default codecs are
[22:51:41 CEST] <TheAMM> If you're only touching the audio, you don't have to re-encode the video
[22:51:47 CEST] <furq> but i could just tell you that they're x264 and aac
[22:52:31 CEST] <pi-> I wish my outsource dev could have at least been bothered to pop his head into this channel
[22:52:33 CEST] <furq> i have no idea what the cutoff for the builtin aac encoder is but i'd be surprised if it was above 17khz
[22:52:49 CEST] <furq> it doesn't look like it lets you set it
[22:53:30 CEST] <furq> also yeah you probably don't need to touch the video stream
[22:53:40 CEST] <furq> and this will be a few orders of magnitude quicker if you don't
[22:54:32 CEST] <pi-> I've got a couple of other cases to handle: in one case the audio track is supplied separately. Can that be done without fiddling with the video?
[22:54:42 CEST] <furq> sure
[22:54:56 CEST] <furq> -i foo.mp4 -i bar.m4a -map 0:v -map 1:a -c copy baz.mp4
[22:55:30 CEST] <furq> as a general rule you should never listen to anyone on the internet outside of this channel about ffmpeg
[22:55:41 CEST] <furq> they're almost always extremely wrong
[22:58:57 CEST] <FurretUber> Hi, is there a way to capture the audio of a specific application using pulseaudio, instead of an entire source?
[23:00:03 CEST] <BtbN> The API allows it, but I'm not sure if ffmpeg implements it.
[23:01:01 CEST] <johnnny22> is there a way to ask ffmpeg to only quit on a keyframe when the user presses [q] ?
[23:01:15 CEST] <poutine> I am reading about HLS, and am having trouble wrapping my mind around EXT-X-DISCONTINUITY a bit, I'm reading https://tools.ietf.org/html/draft-pantos-http-live-streaming-23#section-4.3… but what I don't understand is "timestamp sequence", is that referring to PTS/DTS within the segments themselves, if they change, it must be signaled by this discontinuity tag?
[23:01:58 CEST] <poutine> number, type, and identifiers I assume is just that it has the same PAT/PMT stuff
[23:02:26 CEST] <poutine> also referring to mpegts segments specifically
[23:02:35 CEST] <pi-> How might I go about sourcing a ffmpeg expert for consultancy? I know it's frowned on on Freenode, and I apologise, but if anyone here might be willing, please PM me.
[23:02:42 CEST] <DHE> the nice thing about mepgts is that you can literally just concatenate all the .ts files together and get a playable video
[23:03:08 CEST] <poutine> DHE, I have noticed though that players treat directly concatted files differently
[23:03:14 CEST] <c_14> pi-: the ffmpeg-devel mailing list
[23:03:17 CEST] <poutine> than ffmpeg concatenating them
[23:03:25 CEST] <poutine> seek/duration times
[23:03:33 CEST] <BtbN> ffmpeg also only does exactly that
[23:03:42 CEST] <BtbN> seeking and duration in mpegts just aren't well defined
[23:04:07 CEST] <DHE> mpegts has okay timestamps (1/90,000 timebase) but no durations on frames
[23:04:17 CEST] <BtbN> and no index
[23:04:47 CEST] <DHE> the concat filter does do things assuming that the timestamps originate from 0 for each file, whereas with HLS it's assumed the timestamps just keep counting between files and don't reset
[23:05:23 CEST] <DHE> there is a `random access indicator` suggesting a mpegts chunk is a good place to start playing from, but you have to go hunting for such a marked chunk
[23:06:06 CEST] <DHE> but yeah, it's intended as a streaming format which has its ups and downs
[23:06:41 CEST] <poutine> DHE, There's no way to make ffmpeg start its timestamping from the end of another file's to eliminate discontinuities?
[23:06:57 CEST] <poutine> like if I were live streaming hls, and only knew what was one program ahead at any given time
[23:07:41 CEST] <DHE> poutine: I think HLS was intended to be friendly for a simple app that just splits off a live feed into HLS without any work being done. just look for that random access indicator and split the file on that marker
[23:07:57 CEST] <DHE> it's not QUITE that simple but it's damned close
[23:09:37 CEST] <poutine> Thanks, looking into it
[23:09:55 CEST] <DHE> well, I don't expect the average user to actually look into the mpegts file format
[23:10:20 CEST] <poutine> I've looked at PAT/PTS/DTS/PES/PMT tables, scte35 table injection, etc
[23:10:37 CEST] <DHE> well you've done your reading
[23:10:40 CEST] <poutine> did not mean all of those were tables, but am familiar with some
[23:13:25 CEST] <DHE> protip: install the GUI version of wireshark (if you don't have it already) and open a .ts file with it to see the file format directly...
[23:17:54 CEST] Action: DHE is waiting while valgrind finds his code bugs... while the program runs at ~2% speed.... :/
[23:25:59 CEST] <bencoh> I guess you tried asan before going for valgrind?
[23:27:53 CEST] <DHE> bencoh: valgrind include --show-reachable=yes and works better with applications without requiring a recompile...
[23:28:22 CEST] <bencoh> and is much slower, yes :)
[23:28:28 CEST] <bencoh> but yeah I get your point
[00:00:00 CEST] --- Mon Aug 6 2018
1
0