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 2019
- 2 participants
- 58 discussions
[05:16:18 CEST] <Jook> any ffmpeg dev here?
[06:40:36 CEST] <nicolas17> is aom-av1 single-threaded?
[06:41:09 CEST] <nicolas17> speed=0.0136x lol
[06:44:22 CEST] <another> you can add tiles for more multithreading
[06:46:11 CEST] <nicolas17> 35 frames (in 6 minutes) and it didn't write anything yet, bah I wanted to see the bitrate so far
[06:48:01 CEST] <another> you can also tweak -cpu-used
[06:48:49 CEST] <nicolas17> how damn big is this buffer? when can I expect it to write something to disk? >.>
[06:49:51 CEST] <another> also: make sure you have a recent version aom libaom
[06:49:59 CEST] <another> *of
[06:51:17 CEST] <another> there have been a lot of speedups since 1.0.0
[06:52:43 CEST] <nicolas17> I think the sunk cost fallacy is stopping me from Ctrl-Cing and trying tiles/mt
[06:55:29 CEST] <another> you can also segment your input and encode multiple segments at the same time to better utilise multiple cores
[07:05:05 CEST] <nicolas17> finally wrote something
[07:05:17 CEST] <nicolas17> another: that sounds interesting, how would I concatenate the segments though?
[07:07:39 CEST] <nicolas17> concat demuxer?
[07:18:28 CEST] <MontyCarleau> Hey all, I'm using -map_channel to map each channel to its own file, but I'd like to only create files for channels that exist.
[07:19:56 CEST] <MontyCarleau> -map_channel 0.0.0 ch0.wav -map_channel 0.0.1 ch1.wav will work fine for a stereo file, but it will fail for a mono file. Adding a ? after 0.0.1 will let it pass, but a (potentially large) empty file will be created if the input is mono.
[09:17:04 CEST] <machtl> hi guys... i need some help with metadata passing in udp streams
[09:17:57 CEST] <machtl> i need concat multiple files and output it to -f mpegts udp://
[09:18:39 CEST] <machtl> now i want to parse the console output of ffplay and get what file is currently playing
[09:19:56 CEST] <machtl> therefore i would need to be able to somehow insert changing metadata or concat somehow some characters to ffplay which will be pushed to the console
[09:20:15 CEST] <machtl> i wouldnt mind using -loglevel debug for this
[11:02:31 CEST] <safinaskar> is there some video player for linux, which can play video backwards?
[11:02:53 CEST] <safinaskar> support for all codecs is not important. if it supports at least one video format, this is OK
[11:03:30 CEST] <safinaskar> i need playback in both directions. i. e. i want to play video, then pause at any moment, then start playing backward, then switch to forward playing etc
[11:03:50 CEST] <safinaskar> frame-by-frame is not enough, i need real backward playing
[11:05:28 CEST] <safinaskar> currently i use this: i convert video into "rawvideo" using ffmpeg. then i convert this "rawvideo" into *.ppm.xz images using hand-written C++ program (this program spawns xz binary for every frame)
[11:06:00 CEST] <safinaskar> then i play this bunch of *.ppm.xz files using my own hand-written C++ player, which renders every frame into linux TTY framebuffer
[11:06:15 CEST] <safinaskar> and my player supports playing in both ways
[11:06:31 CEST] <safinaskar> so, is there saner solution? maybe player i need exists?
[11:20:48 CEST] <furq> safinaskar: apparently gstreamer supports that, idk if any players expose that functionality though
[11:21:02 CEST] <furq> https://gstreamer.freedesktop.org/documentation/tutorials/basic/playback-sp…
[11:22:13 CEST] <furq> it's not a trivial thing to do with inter-frame codecs so most players/libs don't bother trying
[11:22:54 CEST] <furq> ffmpeg will do it if you don't mind buffering the entire decoded video in memory, which you probably do
[11:25:19 CEST] <safinaskar> furq: thanks
[11:25:48 CEST] <safinaskar> furq: "inter-frame codecs" - i don't need support for all codecs. at least one codec will go (and i will convert my video to that codec)
[11:26:49 CEST] <safinaskar> furq: "ffmpeg will do it if you don't mind buffering the entire decoded video in memory" - you mean ffmpeg ability to reverse video? i need different thing. i need player, which can play in both ways. i. e. i want to be able to switch playing from forward to backward in any moment
[11:27:39 CEST] <furq> well i assume there's some way of getting mpv etc to do it, but it'd be using the reverse filter
[11:27:48 CEST] <furq> which buffers the whole clip
[11:29:15 CEST] <safinaskar> furq: gstreamer docs don't show code for vala language. this is bad
[11:30:24 CEST] <safinaskar> furq: "there's some way of getting mpv etc to do it" - what way? i read mpv man page and i don't see mentions of reverse playing
[11:31:00 CEST] <safinaskar> furq: let's assume for a moment that buffering whole clip is OK
[11:31:04 CEST] <safinaskar> furq: what can i do then?
[11:47:00 CEST] <durandal_1707> safinaskar: see wm4 mpv AGPL branch, it have such support
[11:49:36 CEST] <safinaskar> durandal_1707: ok, i will see
[12:01:46 CEST] <safinaskar> durandal_1707: i could not find it
[12:08:37 CEST] <durandal_1707> https://github.com/mpv-player/mpv/pull/6781
[12:09:19 CEST] <safinaskar> durandal_1707: thanks
[12:09:23 CEST] <durandal_1707> he removed his repo though, he is too sensitive
[15:18:40 CEST] <safinaskar> durandal_1707: i finally was able to build the repo you send
[15:18:42 CEST] <safinaskar> durandal_1707: thanks
[15:18:52 CEST] <safinaskar> durandal_1707: now i am trying to understand how to use this feature
[15:25:09 CEST] <safinaskar> "commit 2b39a48448efb68fbe10d9042540c39923eea205. Implement backwards playback. You can bet there are shit tons of bugs. It's literally forcing square pegs into round holes"
[15:25:12 CEST] <safinaskar> from git
[16:38:31 CEST] <zerodefect> I'm playing an MP4 2160p24 encoded with HEVC using ffplay. How do I determine which codec was used for decode? I don't see anything obvious in ffplay output.
[16:38:55 CEST] <zerodefect> Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv), 3840x2160, 2010 kb/s, 24 fps, 24 tbr, 24k tbn, 24 tbc (default)
[18:00:42 CEST] <Hello71> I think it's builtin unless you use -hwaccell
[18:00:45 CEST] <Hello71> s/ll/l/
[19:31:12 CEST] <Hackerpcs> how to specify multiple options for the writer on ffprobe? "-of csv=p=0=s=A" doesn't work
[19:42:29 CEST] <Hackerpcs> nvm, it's "-of csv=p=0:s=A"
[19:51:20 CEST] <fred1807> I streaming local mp4 files to a rtmp server
[19:51:39 CEST] <fred1807> but my machine is too slow, and video keeps hanging
[19:51:55 CEST] <fred1807> is it possible to ffmpeg buffer , a lot.. ?
[19:54:09 CEST] <DHE> if you're transcoding, sure
[20:01:23 CEST] <BtbN> In the most simple case, just stream the mp4 unmodified? It most likely is h264 + aac already.
[20:01:36 CEST] <BtbN> so just remux to flv, and stream to rtmp
[20:10:09 CEST] <fred1807> I am transcoding all files to h264 first..
[20:10:17 CEST] <fred1807> so there is not change in the streaming spec
[20:10:40 CEST] <BtbN> Do that in advance then and stream the results
[20:11:22 CEST] <fred1807> the movie files lib, is already all the free space i have..
[20:11:30 CEST] <fred1807> but that would work...
[20:11:50 CEST] <BtbN> It's the most buffering you can possibly get.
[20:12:03 CEST] <fred1807> indeed
[20:12:12 CEST] <fred1807> I have 4gb of ram
[20:12:18 CEST] <fred1807> I see ffmpeg only using 512mb...
[20:12:35 CEST] <fred1807> can I make it use more ram , maybe?
[20:13:10 CEST] <BtbN> I wouldn't know how to setup output buffering on top of my head
[20:18:00 CEST] <fred1807> impossible to add a watermark without reencoding, right?
[20:22:35 CEST] <durandal_1707> yes, possible. but you need 1tb of ram
[20:24:01 CEST] <BtbN> And a killer connection to stream that uncompressed stuff?
[20:28:50 CEST] <fred1807> -crf 0 ?
[20:30:14 CEST] <fred1807> vcodec copy makes it smooth like a breeze
[20:30:27 CEST] <fred1807> problema is that the client browser player breaks with the movie change
[20:30:27 CEST] <durandal_1707> why you need of ffmpeg to use more RAM?
[20:30:56 CEST] <BtbN> There isn't really any way to avoid that, the timestamps don't match up between the files
[20:31:18 CEST] <BtbN> How are you even playing rtmp in a browser? Still using flash?
[20:31:54 CEST] <fred1807> no... I am seding to restream.io
[20:31:58 CEST] <fred1807> and watching on twitch
[20:32:11 CEST] <fred1807> or sending directly to twitch
[20:32:36 CEST] <BtbN> You will need to send one continous stream then, or cut and restart between independend files
[20:59:14 CEST] <zerodefect> thanks @Hello71
[21:23:09 CEST] <brontosaurusrex> What would be a method to check if there is a significant difference in fields, before deinterlacing, which could auto-decide if double-deint makes sense or not (like should it use yadif 0 or 1)?
[21:25:54 CEST] <brontosaurusrex> I do have crude 'isInterlaced' script working, using 'idet' filter.
[21:26:20 CEST] <brontosaurusrex> But it needs to get significantly smarter to decide stuff like that.
[21:40:48 CEST] <Jook> any ffmpeg dev here?
[21:41:17 CEST] <DHE> just ask your question
[21:41:43 CEST] <Jook> DHE are you ffmpeg dev
[21:42:07 CEST] <pink_mist> Jook: why in the world do you need only an ffmpeg dev?!
[21:42:09 CEST] <DHE> irrelevant
[21:42:37 CEST] <Jook> okay: how come nobody can fix this? https://trac.ffmpeg.org/ticket/7912
[21:43:41 CEST] <DHE> because you failed to follow the rules for bug submission
[21:44:03 CEST] <Jook> dhe what do you mean
[21:56:57 CEST] <durandal_1707> devs are busy with real life issues
[23:44:37 CEST] <severs> Hi, I'm using ffmpeg to reencode an eac3 file at the same bit rate (1535k). Then muxing back to mkv with mkvmerge.
[23:45:22 CEST] <severs> For some reason, the original audio skips every second or so (playing in Kodi with audio passthrough to HDMI)
[23:46:05 CEST] <severs> so, something ffmpeg does to the file makes the sync better. So my question is:
[23:48:07 CEST] <severs> is there an option to make ffmpeg just copy the eac3? Other than -c:a copy, because that creates a bit-exact copy of the original (duh)
[23:51:02 CEST] <severs> I doubt I can tell the difference if I reencode, but was wondering if there's a way to copy the input audio, but use ffmpegs output format routines, in case that's the difference that makes the syncwork
[23:53:21 CEST] <BtbN> That's what -c copy does
[23:53:26 CEST] <BtbN> not reencode
[23:58:06 CEST] <severs> right, but the reencoded file works, while the original skips. So I think there's something about the reencoded file that is "more correct" than the original
[23:58:36 CEST] <severs> was hoping to get there without actually encoding
[23:59:25 CEST] <severs> I guess I'll look at the 2 files to see if anything sticks out
[00:00:00 CEST] --- Sat Aug 10 2019
1
0
[00:13:33 CEST] <BtbN> "no mention of the poor Ryzen performance." I'm not aware of any performance issues on Ryzen, what is that guy talking about?
[00:13:45 CEST] <BtbN> (talking about the 4.2 changelog)
[00:15:37 CEST] <kierank> BtbN: crappy benchmarks
[00:15:43 CEST] <kierank> most benchmarks are useless
[00:15:49 CEST] <kierank> just noise in power saving throttling
[00:16:06 CEST] <BtbN> ffmpeg benchmarks?
[00:19:08 CEST] <Lord_Nightmare> forgive me if this question is stupid, but: in https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/adpcm.c around line 229, there's two functions for returning the next 16-bit signed PCM value when fed with an IMA ADPCM nybble, and the two functions are almost identical
[00:19:38 CEST] <Lord_Nightmare> is there a reason there are separate functions, rather than the first one calling the second, or both calling a common function?
[00:20:39 CEST] <TD-Linux> I don't actually know how to lock ryzen clocking yet. I have a dedicated cannonlake box for that purpose right now
[00:21:04 CEST] <BtbN> You set the governor to performance I'd guess?
[00:21:12 CEST] <BtbN> On Windows you just change the power plan to Max Performance
[00:21:26 CEST] <BtbN> But Generally Windows drives their clocks just fine
[00:22:01 CEST] <kierank> BtbN: cpu can still go into c-states
[00:22:16 CEST] <kierank> most of the benchmarks on phoronix use files
[00:22:19 CEST] <kierank> and other such nonsense
[00:23:50 CEST] <BtbN> If it's on tmpfs, it should be fine
[00:25:55 CEST] <durandal_1707> Lord_Nightmare: please mention functions you are talking about
[00:26:13 CEST] <Lord_Nightmare> sorry
[00:26:38 CEST] <Lord_Nightmare> static inline int16_t adpcm_ima_expand_nibble(ADPCMChannelStatus *c, int8_t nibble, int shift)
[00:26:48 CEST] <Lord_Nightmare> static inline int16_t adpcm_ima_wav_expand_nibble(ADPCMChannelStatus *c, GetBitContext *gb, int bps)
[00:27:26 CEST] <Lord_Nightmare> in the latter case, it has a GetBitContext pointer since presumably the .wav variant of ima adpcm allows nybbles of a size other than 4 bits
[00:27:35 CEST] <durandal_1707> later one supports different bps adpcm variants
[00:27:36 CEST] <BtbN> They do look like one could be implemented using the other
[00:27:44 CEST] <Lord_Nightmare> i need to check the IMA ADPCM spec document
[00:27:55 CEST] <Lord_Nightmare> the only significant difference i see is the way delta is calculated
[00:28:04 CEST] <durandal_1707> and one is faster than other one
[00:28:32 CEST] <BtbN> How hot is that function?
[00:28:44 CEST] <durandal_1707> very
[00:29:32 CEST] <durandal_1707> if fuzz are being speed up why not this one actually used code
[00:30:05 CEST] <Lord_Nightmare> i'm trying to think of some way that the code on lines 244-252 and on lines 267-275, which is 100% identical, could be reduced to appearing just once, without adding another function unless it would be compiled inline in both cases without wasting extra register/stack operations
[00:30:35 CEST] <Lord_Nightmare> i guess it could be done as a common #define IMA_SOMETHING but that's sort of ugly
[00:30:44 CEST] <durandal_1707> you are thinking too much imho
[00:30:52 CEST] <TD-Linux> both amd and intel have various other reclocking unrelated to cpu governor (recent ones actually have a hardware governor and don't really use the linux one at all)
[00:31:20 CEST] <TD-Linux> on my intel machine have BIOS options to disable most of it
[00:31:52 CEST] <TD-Linux> (which is why it's a dedicated machine - if I had to reboot every time to run checkasm it'd be obnoxious)
[00:32:00 CEST] <durandal_1707> if you find nicer way to implement it, feel free to send patch
[00:32:36 CEST] <Lord_Nightmare> http://www.cs.columbia.edu/~hgs/audio/dvi/IMA_ADPCM.pdf is the original ima adpcm spec, which stupidly doesn't define the endianness for packing 4-bit adpcm nybbles to a byte
[00:32:54 CEST] <Lord_Nightmare> i think some codecs do it one way and some do the other
[00:33:14 CEST] <durandal_1707> yes, quite possible
[00:34:15 CEST] <kierank> BtbN: they arent
[00:34:28 CEST] <durandal_1707> the other code covers thing not covered with complete specs
[00:34:46 CEST] <Lord_Nightmare> another thing that the ima adpcm spec document does not do is define where the values in that 89-entry step size table actually come from
[00:34:55 CEST] <Lord_Nightmare> its a simple calculation
[00:35:32 CEST] <durandal_1707> yes?
[00:35:41 CEST] <Lord_Nightmare> IMA ADPCM is basically an expanded/enhanced version of the old OKI adpcm from the MSM5205 adpcm decoder IC, which hias its own codec called OKI or Dialogic ADPCM
[00:35:51 CEST] <Lord_Nightmare> durandal_1707: one sec
[00:35:58 CEST] <Lord_Nightmare> I have some code for it, I'll pastebin it
[00:37:53 CEST] <Lord_Nightmare> wait, its just 5 lines
[00:37:57 CEST] <Lord_Nightmare> should i paste it directly?
[00:38:15 CEST] <Lord_Nightmare> er, 6 lines
[00:38:32 CEST] <durandal_1707> pastebin
[00:38:36 CEST] <Lord_Nightmare> ok
[00:39:15 CEST] <Lord_Nightmare> recompiling to make sure it has the correct results, I wrote this 2 years ago
[00:43:47 CEST] <Lord_Nightmare> easier to just dump the file on dropbox: https://www.dropbox.com/s/lcjx0umwxur37dm/stepgen_ima.c?dl=0
[00:44:35 CEST] <durandal_1707> not for me
[00:44:41 CEST] <Lord_Nightmare> one liner would be int stepval = min(floor(16.0 * pow(11.0 / 10.0, (double)(step-8))), 32767); // where step is 0 thru 88
[00:45:17 CEST] <BtbN> That's several magnitudes slower
[00:45:25 CEST] <Lord_Nightmare> that just generates the table
[00:45:50 CEST] <Lord_Nightmare> i'm not proposing doing that every sample
[00:46:35 CEST] <Lord_Nightmare> also the values that puts out are very slightly wrong; that equation was used to generate the original table, then two entries were tweaked by hand before the ima thing. I think.
[00:47:23 CEST] <durandal_1707> maybe, also there is already oki decoder
[00:47:25 CEST] <Lord_Nightmare> the output of that equation is "7,8,9,9,10,12,13,14,..." while the IMA spec is "7,8,9,10,11,12,13,14,..."
[00:47:35 CEST] <Lord_Nightmare> the rest of the numbers match exactly
[00:48:43 CEST] <Lord_Nightmare> if you wanted to generate the table once, on startup (rather than using a pre-initialized array), that's the only time I can think where that code would make sense
[00:48:56 CEST] <Lord_Nightmare> otherwise its of academic interest only
[00:49:15 CEST] <durandal_1707> hmm, i would check reference binary
[00:49:36 CEST] <durandal_1707> of thing firdt doing it
[00:50:25 CEST] <Lord_Nightmare> interestingly i found out that there's two different oki decoding specs: the msm5205 did not clamp the accumulator to a 12 bit range, so it would wrap if it overflowed or underflowed; the later oki chips all clamp the range
[00:51:18 CEST] <Lord_Nightmare> interestingly, the yamaha ym2610 ADPCM_A codec, which is a modified variant of msm5205, uses the msm5205 behavior where overflowing/underflowing is allowed, and many samples on the neogeo (gunshot in metal slug and others) take advantage of this
[00:52:10 CEST] <Lord_Nightmare> yamaha ym2610 ADPCM_B codec however is 100% identical to the .wav "Yamaha ADPCM" codec
[00:52:40 CEST] <Lord_Nightmare> which is a different type of adpcm (Jayant instead of Oki)
[00:53:07 CEST] <durandal_1707> yea, there is huge amount of adpcm variants
[00:53:08 CEST] <Lord_Nightmare> though i suppose you could say that oki is an optimized variant of jayant where there's only one multiply instead of 2...
[00:56:36 CEST] <durandal_1707> https://news.ycombinator.com/item?id=20629325
[00:57:31 CEST] <durandal_1707> troll spotted there...
[01:03:15 CEST] <jkqxz> tmm1: I would weakly prefer the CBS A/53 and related stuff set polished and finished off to putting it into VAAPI as you have in that patch.
[01:03:37 CEST] <jkqxz> tmm1: Though I haven't looked at that set in a long time.
[02:48:04 CEST] <cone-168> ffmpeg 03Michael Niedermayer 07n4.3-dev:HEAD: Revert "avformat/rtpdec_rfc4175: Fix incorrect copy_offset calculation"
[04:09:03 CEST] <Compnn> Lord_Nightmare, is your change binary identical output with all ima adpcm samples? :D
[09:07:59 CEST] <Lord_Nightmare> Compnn: i haven't made any changes yet (I don't have an ffmpeg build environment set up anyhow; i'm using mingw32-w64 on windows)
[10:00:33 CEST] <cone-289> ffmpeg 03Ruiling Song 07master:98e419cbf544: avfilter/vf_convolution: add x86 SIMD for filter_3x3()
[12:07:34 CEST] <mkver> Do we actually have a place for patches that should only be applied after an ABI break?
[12:09:57 CEST] <rcombs> mkver: you apply the patch but have the breaking part behind FF_API_[whatever], and test by bumping the major version locally
[12:10:54 CEST] <mkver> Ok. And what should be put in the APIChanges file?
[12:16:47 CEST] <BtbN> The api change
[12:21:52 CEST] <nevcairiel> most ABI-incompatible changes are removals, so the APIChanges would get the deprecation or whatever of the old thing
[12:24:12 CEST] <mkver> I actually meant what date I should put into the APIChanges file: The current date or leave a placeholder for the actual date of the version bump.
[12:25:37 CEST] <mkver> My ABI-incompatible change is changing avio_enum_protocols: From const char * (void **opaque, int output) to const char * (const void **opaque, int output).
[12:57:40 CEST] <nevcairiel> we've had const additions before, just check what they did
[16:01:57 CEST] <cone-654> ffmpeg 03Linjie Fu 07master:af3ddd581faf: lavf/vf_vpp_qsv: add support for QSV transpose filter
[17:10:02 CEST] <vel0city> is there a fast way to update patch versions? atm I'm passing --annotate to send-email and changing each commit's subject line one by one every time
[17:18:54 CEST] <jkqxz> vel0city: git format-patch -v2 ...
[17:25:00 CEST] <vel0city> @jkqxz: ahh, thanks!
[20:27:31 CEST] <mkver> ff_h264dsp_init() contains these lines: if (ARCH_AARCH64) ff_h264dsp_init_aarch64(c, bit_depth, chroma_format_idc);
[20:27:31 CEST] <mkver> if (ARCH_ARM) ff_h264dsp_init_arm(c, bit_depth, chroma_format_idc);
[20:27:31 CEST] <mkver> and also some more for other architectures. No #if, just if. These functions are all declared in h264dsp.h, but the definition is in arch-specific files and some of them won't be compiled. What if a compiler does not remove the dead code during compilation? Wouldn't linking fail?
[20:27:50 CEST] <J_Darnley> Yes
[20:28:16 CEST] <J_Darnley> Which is why we require dead code elimination (if that's the term)
[20:29:42 CEST] <J_Darnley> I think msvc used to be one that didn't do it if you enabled some debugging options.
[20:30:44 CEST] <durandal_1707> some people come once in a while with patches to fix compilers that does not support dead code elimination
[20:32:53 CEST] <nevcairiel> full debug doesnt work with MSVC indeed, but DCE is used in so many places that we just gloss over that
[20:33:02 CEST] <nevcairiel> i usually just enable debug for the files i currently work on
[21:31:23 CEST] <mkver> michaelni: "awnser" in your most recent commit message.
[22:36:16 CEST] <durandal_1707> michaelni: drop your leadership role, will you?
[22:43:12 CEST] <michaelni> durandal_1707, iam not leader, and please stop these attacks against me.
[22:45:03 CEST] <durandal_1707> not attacking at all
[22:46:35 CEST] <durandal_1707> im purely request for new ffmpeg leadership, when one is ignored to join security mailing list
[22:47:01 CEST] <jamrial> you're being aggressive, attack or not
[22:47:01 CEST] <nevcairiel> noone cares for your complaints
[22:47:22 CEST] <jamrial> there are better ways to complain or be heard. there's no need to be aggressive
[22:47:36 CEST] <durandal_1707> and when security is run by single person completely
[22:48:01 CEST] <jamrial> there's more than one person in the security email alias
[22:48:39 CEST] <durandal_1707> i see only one person do the actual paid work
[22:48:40 CEST] <jamrial> two years ago there was drama about it, and the list of people being forwarded the emails was made public
[22:52:23 CEST] <durandal_1707> that one person constantly sends bunch of patches per day, some of questionable quality
[22:53:47 CEST] <durandal_1707> also that single person holds bunch of infrastructure stuff
[22:57:09 CEST] <nevcairiel> except there is more then one person on the security mailing list
[22:57:29 CEST] <durandal_1707> irrelevant
[22:57:31 CEST] <nevcairiel> and personally, i would not vote for you for security, if i'm being honest
[22:57:57 CEST] <durandal_1707> thanks for your honesty
[22:59:21 CEST] <kierank> lol
[23:14:29 CEST] <durandal_1707> and since when this leader had sent some useful addition like implementing non trivial new feature to ffmpeg?
[23:18:27 CEST] <kierank> durandal_1707: integer overflows are important
[23:19:03 CEST] <durandal_1707> these are the most benign patches of all
[23:19:24 CEST] <durandal_1707> except ugly to look at
[23:19:30 CEST] <kierank> a lot of the runtime ones are ridiculous I agree
[23:19:59 CEST] <kierank> the one which counts iterations of an infinite loop is horrible
[23:23:31 CEST] <kierank> some of them are good patches though
[23:23:43 CEST] <durandal_1707> why some people claim that ffmpeg maintenance is so producing bad quality
[23:24:01 CEST] <kierank> ?
[23:24:41 CEST] <durandal_1707> look at that ycombinator posts
[23:25:04 CEST] <durandal_1707> bad ugly legacy non maintained code
[23:32:41 CEST] <J_Darnley> durandal_1707: if you want a new leader nominate me for HDFL
[23:34:11 CEST] <durandal_1707> minister of human development and family life?
[23:34:33 CEST] <J_Darnley> hostile dictator for life
[23:36:34 CEST] <durandal_1707> also i fixed numerous security issues, pro bono
[23:36:36 CEST] <kierank> Link?
[23:38:23 CEST] <kierank> Oh god
[23:38:27 CEST] <kierank> I read that thread
[23:38:35 CEST] <kierank> j-b: oh god that hn thread
[23:58:15 CEST] <nevcairiel> why do people read hn, its such a cesspool these days
[00:00:00 CEST] --- Thu Aug 8 2019
1
0
[00:10:40 CEST] <durandal_1707> 767. rule of security: do not put many things on same server
[00:11:37 CEST] <kierank> durandal_1707: did they teach you that at cia?
[00:12:44 CEST] <durandal_1707> no, at mossad
[00:24:19 CEST] <durandal_1707> michaelni: you havent removed me from fate rsync samples upload access?
[00:28:50 CEST] <durandal_1707> im working on msrle encoder and i cant figure out how to simply skip run but without overflowing bounds
[00:29:33 CEST] <durandal_1707> i get bit exact output but with benign errors
[00:30:09 CEST] <kierank> durandal_1707: why you work on encoder for windows 3.0
[00:31:05 CEST] <durandal_1707> because windows 3.0 cant use dav1d
[02:33:10 CEST] <Compnn> uploads is on vlc server iirc
[02:34:30 CEST] <Compnn> samples repo is on ffmpeg but also vlc has their own
[02:34:37 CEST] <Compnn> vlc has not given us access to that, at least not me
[02:34:55 CEST] <Compnn> kierank, durandal_1707 why not get access to vlc sample repo? http://streams.videolan.org j-b hmmmm ?
[02:35:13 CEST] <Compnn> and you'll find same reason that ffmpeg doesnt hand it over
[02:36:08 CEST] <Compnn> used to have multimedia_mike running our samples repo
[02:36:30 CEST] <Compnn> kierank, you run a lot of servers, why not host a samples repo too ?
[02:36:43 CEST] <Compnn> and give everyone access , upload incoming as well
[02:37:25 CEST] <Compnn> kierank, please let me know my login when you get it up and running.
[02:40:34 CEST] <Compnn> last i looked ffbox also was low on space
[10:50:30 CEST] <Heisenberg> Where should I modify h264.c to add new side data to frames ?
[10:54:53 CEST] <kierank> Heisenberg: what are you adding
[11:02:05 CEST] <Heisenberg> It is basically data describing "how much motion there is in a frame" so it can be represented by uint8_t* and I would create a new AVFrameSideDataType to identify it. In comparison, hevcdec.c has a different control flow which integrates a "set side data step". But I don't see where I should set this side data in h264dec.c.
[12:11:19 CEST] <cone-962> ffmpeg 03Andreas Rheinhardt 07master:b307d74fe6ae: compat/cuda: Change inclusion guards
[12:12:10 CEST] <cone-962> ffmpeg 03Andreas Rheinhardt 07release/4.2:fc6f02b29772: compat/cuda: Change inclusion guards
[16:28:25 CEST] <durandal_1707> who controls FFmpeg leader?
[16:34:37 CEST] <thilo> we all do
[16:35:38 CEST] <thardin> master blaster controls ffmpeg
[16:35:55 CEST] <rcombs> like, the cleaning product?
[16:42:50 CEST] <relaxed> rcombs: from Mad Max
[16:55:01 CEST] <durandal_1707> the more fuzzing is made faster, the more new fuzzing issues will krept out
[17:26:54 CEST] <thardin> the amount of fuzzing fixes is both a good and bad thing
[17:27:05 CEST] <thardin> bad in that the code is able to have such issues in the first place
[17:27:21 CEST] <thardin> somethingsomething formal verification
[17:27:40 CEST] <thardin> or langsec in general
[17:27:45 CEST] <jdarnley> something somehing twos complement
[17:35:51 CEST] <durandal_1707> rust
[18:03:13 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:005de57d843d: avcodec/bink: Add many end of input checks
[18:03:14 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:d555a220b461: avcodec/atrac9dec: Remove impossible condition
[18:03:15 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:208225bd7822: avcodec/atrac9dec: Check grad_range[1] more tightly
[18:03:16 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:8e4b522c9146: avcodec/apedec: Do not partially clear data array
[18:03:17 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:2cb1f7973508: avcodec/vc1_block: Check get_vlc2() return before use
[18:03:18 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:99a172f3f4d0: avcodec/mss3: Check for the rac stream being invalid in rac_normalize()
[18:03:19 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:392c028cd23d: avcodec/apedec: Fix 2 signed overflows
[18:03:20 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:8174e5c77d8a: avcodec/cbs_av1_syntax_template: Check ref_frame_idx before use
[18:03:21 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:fe2e1cfc191d: avcodec/cfhd: Fix linesize type
[18:03:22 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:58e084bd2c7b: avcodec/cfhd: Check destination space for bayer before writing
[18:03:23 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:76133d7c8bfe: avformat/vividas: Fix memleak of AVIOContext in track_header()
[18:03:24 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:652ea23cb34b: avformat/realtextdec: Check for duplicate extradata in realtext_read_header()
[18:03:25 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:aecc9b96d613: avcodec/vorbisdec: Check parameters in vorbis_floor0_decode() before divide
[18:03:26 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:5a5f12e3b3f2: avcodec/vorbisdec: Implement vr->classifications = 1
[18:03:27 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:ccca484324e0: avcodec/ralf: Fix integer overflow in apply_lpc()
[18:03:28 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:3c06ba171697: avcodec/ralf: Fix undefined pointer in decode_channel()
[18:03:29 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:549fcba8fc83: avcodec/dirac_parser: Fix overflow in dts
[18:03:30 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:8305a4509af2: avcodec/loco: Check for end of input in pixel decode
[18:03:31 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:43015afd7ce9: avcodec/mss1: check for overread and forward errors
[18:03:32 CEST] <cone-962> ffmpeg 03Andreas Rheinhardt 07master:f12e662a3d3f: libavcodec/iff: Use unsigned to avoid undefined behaviour
[19:10:33 CEST] <cone-962> ffmpeg 03Jacob Siddall 07master:9051092e7366: avformat/rtpdec_rfc4175: Fix incorrect copy_offset calculation
[19:10:34 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:172a43ce36e6: avcodec/sanm: Check extradata_size before allocations
[19:10:35 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:02f909dc24b1: avcodec/vqavideo: Set video size
[19:10:36 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07master:be4fb282f9fb: avcodec/alsdec: Check for block_length <= 0 in read_var_block_data()
[19:51:00 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:99ecd0cfc926: avcodec/atrac9dec: Check grad_range[1] more tightly
[19:51:01 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:25aa7ddd3150: avcodec/apedec: Do not partially clear data array
[19:51:02 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:889fdc690a3f: avcodec/vc1_block: Check get_vlc2() return before use
[19:51:03 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:8b8f5fd05e7e: avcodec/mss3: Check for the rac stream being invalid in rac_normalize()
[19:51:04 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:739f93ebe1a2: avcodec/apedec: Fix 2 signed overflows
[19:51:05 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:f06fced6df9f: avcodec/cbs_av1_syntax_template: Check ref_frame_idx before use
[19:51:06 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:8d171808847e: avformat/vividas: Fix memleak of AVIOContext in track_header()
[19:51:07 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:f9597a5a111b: avformat/realtextdec: Check for duplicate extradata in realtext_read_header()
[19:51:08 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:4c16a8fe6719: avcodec/vorbisdec: Check parameters in vorbis_floor0_decode() before divide
[19:51:09 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:8b95d93e078c: avcodec/vorbisdec: Implement vr->classifications = 1
[19:51:10 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:414144a371bf: avcodec/ralf: Fix integer overflow in apply_lpc()
[19:51:11 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:5764b92f82c2: avcodec/ralf: Fix undefined pointer in decode_channel()
[19:51:12 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:3a3c02be9a4d: avcodec/dirac_parser: Fix overflow in dts
[19:51:13 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:11f01ad26c99: avcodec/loco: Check for end of input in pixel decode
[19:51:14 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:772d91d6b0c6: avcodec/mss1: check for overread and forward errors
[19:51:15 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:6443b95de666: avcodec/sanm: Check extradata_size before allocations
[19:51:16 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:06688a8cc51a: avcodec/vqavideo: Set video size
[19:51:17 CEST] <cone-962> ffmpeg 03Michael Niedermayer 07release/4.2:d5cd7fe5af3e: avcodec/alsdec: Check for block_length <= 0 in read_var_block_data()
[19:51:18 CEST] <cone-962> ffmpeg 03Andreas Rheinhardt 07release/4.2:34a40aeb73fe: libavcodec/iff: Use unsigned to avoid undefined behaviour
[20:06:17 CEST] <cone-962> ffmpeg 03James Almer 07release/4.2:f4b254e29921: avformat/av1: add color config values to AV1SequenceParameters
[20:06:18 CEST] <cone-962> ffmpeg 03James Almer 07release/4.2:a2df7e44b39a: avformat/av1: split off sequence header parsing from the av1C writing function
[20:06:19 CEST] <cone-962> ffmpeg 03James Almer 07release/4.2:6e53b43d487e: avformat/av1: rename some AV1SequenceParameters fields
[20:06:20 CEST] <cone-962> ffmpeg 03James Almer 07release/4.2:5152602ba8f4: avformat/av1: combine high_bitdepth and twelve_bit into a single bitdepth value
[20:06:21 CEST] <cone-962> ffmpeg 03James Almer 07release/4.2:d1c81070bce2: avformat/dashenc: update stream extradata from packet side data
[20:06:22 CEST] <cone-962> ffmpeg 03James Almer 07release/4.2:35e9d9cbf738: avformat/dashenc: fix writing the AV1 codec string in mp4 mode
[20:46:08 CEST] <durandal_1707> i dislike 4.2 release name
[20:55:10 CEST] <BradleyS> FFmpeg 4.3 "Paul"
[20:58:51 CEST] <thilo> FFmpeg 4.3 "Too late again"
[20:59:29 CEST] <kierank> durandal_1707: FFmpeg 4.3 "fuzz"
[21:40:08 CEST] <thardin> hot fuzz
[21:40:34 CEST] <durandal_1707> zzuf toh
[21:56:54 CEST] <jamrial> rcombs, BtbN: there's a configure fix for cuda_llvm
[21:57:17 CEST] <BtbN> I saw it, but I'm not sure if it's really neccesary
[22:18:31 CEST] <durandal_1707> this v360 tweet become almost viral
[22:48:34 CEST] <RiCON> BtbN: here's an example broken config.log: https://i.fsbn.eu/Lxvf.txt
[22:50:08 CEST] <BtbN> That's odd. Almost like the source_link variable is empty
[22:50:19 CEST] <RiCON> you can reproduce it in MSYS2 by not setting "MSYS=winsymlinks:nativestrict"
[22:50:57 CEST] <RiCON> it's not empty, it's the same thing as source_path, which is source_path=/build/ffmpeg-git
[22:51:16 CEST] <BtbN> I don't think the extra space is gonna break anything, so feel free to add that (and backport it to 4.2). But I kinda want to double check that configure is working properly.
[22:51:25 CEST] <RiCON> i don't have commit rights
[22:52:48 CEST] <RiCON> one would expect the -L/mingw64/lib options to also be broken, but maybe GCC has some extra patches that clang doesn't
[22:53:45 CEST] <BtbN> Probably depends on if clang.exe is MSYS-Aware or globally installed
[22:54:07 CEST] <nevcairiel> single-letter options with a path f ollowing it have a special msys hack
[22:54:20 CEST] <nevcairiel> it just doesnt work with longer options like -include
[22:54:27 CEST] <RiCON> yeah, that's it
[22:54:30 CEST] <nevcairiel> unless you use a space
[22:54:47 CEST] <RiCON> just tried with `winpty echo -L/mingw64` and `winpty echo -include/mingw64`
[22:55:02 CEST] <RiCON> the first one converts the path as expected, the second doesn't
[22:55:40 CEST] <BtbN> I really do wonder why source_link isn't just . though
[22:55:52 CEST] <RiCON> out-of-root build
[22:56:09 CEST] <RiCON> configure is in the parent dir
[22:56:15 CEST] <BtbN> With an out-of-tree build it should be just "src", using the src symlink created in the out-of-tree root
[22:56:28 CEST] <RiCON> it's an inner out-of-tree build
[22:56:41 CEST] <RiCON> there's no case for ../
[22:56:43 CEST] <BtbN> That doesn't matter. It's either "." or "src"
[22:57:02 CEST] <BtbN> Or am I reading that equation wrong?
[22:57:29 CEST] <RiCON> ffmpeg-git-repo/build_directory
[22:57:38 CEST] <BtbN> configure, line 5468.
[22:57:51 CEST] <BtbN> Whenever it's not "." or "src", create a symlink called "src" and set it to src
[22:58:03 CEST] <RiCON> yeah, but there's no symlinks enabled by default in MSYS2
[22:58:17 CEST] <BtbN> hm
[22:58:34 CEST] <RiCON> you need to set "MSYS=winsymlinks:nativestrict" before running (ba)sh
[22:58:38 CEST] <nevcairiel> proper symlinks have a spotty history on windows
[22:58:52 CEST] <nevcairiel> only recently you can use them without admin rights and special settings
[22:59:27 CEST] <RiCON> `ln -s` does a copy if symlinks are disabled
[22:59:37 CEST] <nevcairiel> so out-of-tree windows builds will use the else path often
[23:00:11 CEST] <nevcairiel> msys2 should really detect if windows links are supported without special rights and then just use them automatically
[23:00:13 CEST] <RiCON> at most there could be an extra elif in L3762 for the `test -f ../configure` case
[23:00:19 CEST] <cone-962> ffmpeg 03Ricardo Constantino 07master:5ac28e9cc190: configure: cuda_llvm: fix include path for MSYS2
[23:00:27 CEST] <nevcairiel> that seems slightly excessive
[23:00:41 CEST] <cone-962> ffmpeg 03Ricardo Constantino 07release/4.2:75384bc46441: configure: cuda_llvm: fix include path for MSYS2
[23:04:18 CEST] <RiCON> thanks
[23:36:19 CEST] <cone-962> ffmpeg 03Ricardo Constantino 07n4.2:HEAD: configure: cuda_llvm: fix include path for MSYS2
[23:52:30 CEST] <rcombs> jamrial: looks fine to me, assuming clang is fine with the space
[23:52:58 CEST] <rcombs> jamrial: might want to test with a path containing a space, though?
[23:53:05 CEST] <rcombs> (I don't think the current code will handle that either)
[23:53:53 CEST] <jamrial> paths with a space are escaped, i think
[23:54:44 CEST] <nevcairiel> it'll also yell at you if you try to do a out-of-tree build with a path with spaces
[00:00:00 CEST] --- Tue Aug 6 2019
1
0
[03:34:40 CEST] <Beam_Inn> hello! :D
[03:34:44 CEST] <Beam_Inn> Can anyone tell me how to ensure that each file I create has a new name?
[03:34:44 CEST] <Beam_Inn> I'm trying to make a generic command.
[03:43:26 CEST] <furq> Beam_Inn: https://manpages.debian.org/buster/coreutils/mktemp.1.en.html
[03:44:15 CEST] <furq> or if you just want to never let ffmpeg overwrite anything then -n
[03:44:25 CEST] <furq> that will just quit ffmpeg though
[05:16:16 CEST] <lain98> hi, i'm trying to determine whether a video passed to my program has open gop or closed gop. is there a way to do it easier than described here https://stackoverflow.com/a/32786212 and is that accurate ?
[08:25:19 CEST] <YellowOnion> is it possible to seek to first iframe?
[10:07:17 CEST] <HexGlaze> Hi, I'm having some issues turning a few .png images into an animation. For some reason, the first converted image is always corrupted. Do you need pictures or is there something obvious I missed?
[10:12:11 CEST] <durandal_1707> need full uncut console output with command, use pastebin or similar
[10:13:57 CEST] <HexGlaze> Ok
[10:16:27 CEST] <HexGlaze> durandal_1707: https://pastebin.com/iSHYv4T6
[10:18:54 CEST] <durandal_1707> check if same happens with different encoder
[10:19:12 CEST] <HexGlaze> Yep, tried with VP9
[10:20:29 CEST] <HexGlaze> I couldn't figure out to make a working APNG, but can try given the correct options.
[10:50:48 CEST] <lofo> hi! I'm using FFmpeg to do many manipulation among which is a .png rescaling. I do not understand why fully transparent png (no colored pixel) are converted into fully black pngs
[10:53:03 CEST] <durandal_1707> HexGlaze: is first input frame to encoder correctly decoded by ffmpeg?
[10:56:49 CEST] <HexGlaze> durandal_1707: Seems so, I put a black frame first, and it still corrupts the second frame
[10:59:27 CEST] <lofo> this is the simplest command to reproduce it : ffmpeg -i <input> -vf scale=<width>:<height> <output>
[11:00:01 CEST] <lofo> if you give it a .png filled with fully transparent pixels it will hand you back a fully black image
[11:00:41 CEST] <HexGlaze> Yup, as above, but with white lines somewhere.
[11:00:55 CEST] <HexGlaze> https://endianness.com/files/mpv-shot0001.jpg
[11:01:37 CEST] <HexGlaze> Original: https://endianness.com/files/hotel002.png
[11:03:34 CEST] <HexGlaze> Ah yes, It'll happily turn a blank png black and then also do the same to the second.
[11:05:20 CEST] <lofo> are we having related issues @HexGlaze ? i've missed the beginning or your conversation
[11:05:47 CEST] <HexGlaze> lofo: exactly the same issue.
[11:07:06 CEST] <HexGlaze> I'm just not resizing
[11:12:45 CEST] <lofo> just tried with padding instead of resizing. same result
[11:15:13 CEST] <relaxed> lofo: pastebin your command and output
[11:20:40 CEST] <lofo_> https://pastebin.com/3BZhSgPA
[11:21:33 CEST] <lofo_> sorry if i've posted the lin ktwice.
[11:23:34 CEST] <relaxed> can you post the png you're testing with?
[11:24:06 CEST] <relaxed> or use HexGlaze's https://endianness.com/files/hotel002.png
[11:24:06 CEST] <HexGlaze> Do you want mine?
[11:25:07 CEST] <lofo_> https://filebin.net/qdmr89rwlj2t0a85
[11:27:11 CEST] <relaxed> HexGlaze: encoding rgba png to jpeg results in an all black image, but I'm not seeing any issues when scaling it back to a rgba png
[11:28:34 CEST] <lofo_> the same command worked on HexGlaze's image. But my fully transparent one doesnt
[11:29:11 CEST] <HexGlaze> relaxed: I'm trying to turn a few frmes into video
[11:31:52 CEST] <lofo_> could my problem be a bug ? i'm clueless
[11:32:39 CEST] <relaxed> lofo_: adding "-pix_fmt monob" for the output, ffmpeg displays "[swscaler @ 0x5594ebdfebc0] full chroma interpolation for destination format 'monob' not yet implemented"
[11:33:17 CEST] <lofo_> i cant connect the dots
[11:34:54 CEST] <relaxed> your input png is using monob colorspace and when I tried to force it to use the same for the output it shows this message
[11:35:40 CEST] <relaxed> it should work if you're dealing with rbga png, such as the one HexGlaze posted
[11:35:46 CEST] <lofo_> oh so if i change colorspace to a supported one that should solve it
[11:36:03 CEST] <HexGlaze> Ehh, I think it could be a bug since only the first 1-2 frames are mangled
[11:36:10 CEST] <lofo_> i'm using LodePNG to generate my png so i think its definitively possible
[11:36:17 CEST] <relaxed> er, I meant rgba png
[11:37:39 CEST] <relaxed> HexGlaze: yeah, I think so
[11:38:29 CEST] <HexGlaze> Same occurs across different encoders too.
[13:33:21 CEST] <snatcher> ffmpeg -i i.webm -map_metadata -1 -c:v copy -c:a copy -fflags +bitexact -flags:v +bitexact -flags:a +bitexact o.webm
[13:33:25 CEST] <snatcher> ffmpeg -i i.webm -map_metadata -1 -c:v copy -c:a copy -fflags +bitexact -flags:v +bitexact -flags:a +bitexact -f webm - >o.webm
[13:33:40 CEST] <snatcher> why checksum is different?
[13:36:46 CEST] <relaxed> HexGlaze: adding -vf alphaextract should fix the issue
[13:37:11 CEST] <HexGlaze> Leme try
[13:37:52 CEST] <relaxed> well, maybe not
[13:38:06 CEST] <relaxed> it's not all black, though
[13:38:35 CEST] <snatcher> ffmpeg -y -i i.webm -map_metadata -1 -c:v copy -c:a copy -fflags +bitexact -flags:v +bitexact -flags:a +bitexact -f webm /dev/stdout >o.webm
[13:38:45 CEST] <snatcher> is there a better way to do it?
[13:39:39 CEST] <HexGlaze> relaxed: That just ruins everything
[13:39:48 CEST] <relaxed> indeed
[13:40:48 CEST] <furq> snatcher: the mkv/webm muxer writes some header values at the end
[13:40:56 CEST] <furq> which it obviously can't do if the output isn't seekable
[13:41:25 CEST] <HexGlaze> Hmm, how do I turn a few images into an apng?
[13:41:48 CEST] <furq> -i %d.png out.apng
[13:43:06 CEST] <HexGlaze> furq: Wirks with no image mangling, thanks
[13:45:05 CEST] <relaxed> HexGlaze: if you imagemagick installed, convert hotel002.png -background white -flatten out.png
[13:45:51 CEST] <HexGlaze> relaxed: No need, apng works great.
[13:46:27 CEST] <relaxed> do many browsers support apng?
[13:46:50 CEST] <furq> everything but ie/edge now
[13:46:58 CEST] <furq> chrome finally gave in a year or so ago
[13:47:43 CEST] <HexGlaze> relaxed: Yep, palemoon supports it, so any bloated browser will support it.
[13:47:57 CEST] <furq> well firefox always supported it so that's a bad yardstick
[13:48:06 CEST] <furq> google refused to support it for ages
[13:48:21 CEST] <furq> i think they did some kind of hostage exchange for vp9 in firefox
[13:49:02 CEST] <furq> i assume edge will support it when the move to blink happens (if that hasn't happened already)
[13:49:21 CEST] <HexGlaze> Interesting the resulting APNG is smaller than a single png from the source
[14:01:07 CEST] <snatcher> ffmpeg -y -i i.webm -map_metadata -1 -c:v copy -c:a copy -fflags +bitexact -flags:v +bitexact -flags:a +bitexact -f webm /dev/stdout | md5sum
[14:01:22 CEST] <snatcher> hmm also piped checksum
[14:02:18 CEST] <snatcher> how can i output _file_ content not a _stream_ to stdout in such a case?
[14:03:15 CEST] <furq> you can't
[14:03:22 CEST] <furq> stdout is a stream
[14:04:57 CEST] <snatcher> so i cannot calculate checksum of file without metadata without creating a temporary file? rly?
[14:05:22 CEST] <furq> not of the file itself
[14:05:23 CEST] <fred1807> I have a ffmpeg broadcast, video is form another ffmpeg pipe, and audio is from local mpd's httpd stream. Sometimes the stream breaks, because of some error in mpd stream or video ffmpeg... I have noticed ffmpeg process wont die...
[14:05:30 CEST] <furq> you can use the hash muxer to get the checksums of the actual streams
[14:06:53 CEST] <furq> it also depends on the muxer, i assume mpegts or something would work
[14:12:24 CEST] <snatcher> hash muxer calculates >hash of the input converted to raw audio and video, is there a way to calculate hash without resource intensive conversion?
[14:31:45 CEST] <relaxed> snatcher: you want to stream a file to stdout, get it's checksum and save it to a file?
[14:35:16 CEST] <snatcher> relaxed: checksum for a piped _file_ without metadata
[14:37:59 CEST] <relaxed> like so, ffmpeg -i input.mkv -c copy -f matroska - 2>ffmpeg.log | tee >(md5sum >hast.txt) >out.mkv
[14:41:45 CEST] <snatcher> relaxed: in your example checksum in hash.txt is checksum for _stream_ not a _file_
[14:49:11 CEST] <relaxed> run a second process then
[14:51:56 CEST] <snatcher> relaxed: i don't need out.mkv
[14:56:08 CEST] <snatcher> cat i.webm | ffmpeg -i - -map_metadata -1 -c:v copy -c:a copy -fflags +bitexact -flags:v +bitexact -flags:a +bitexact -f webm - | md5sum
[14:56:13 CEST] <relaxed> snatcher: ... - 2>ffmpeg.log | md5sum -
[14:57:31 CEST] <snatcher> relaxed: >checksum for _stream_ not a _file_
[14:57:35 CEST] <snatcher> because of pipe
[14:58:29 CEST] <snatcher> while i need checksum of _file_ without saving it to disk
[15:01:47 CEST] <BtbN> You're aware that checksum will differ from an actual file you write to disk?
[15:04:37 CEST] <snatcher> BtbN: yes and i'm trying figure out how to get _file_ checksum without saving it
[15:04:49 CEST] <BtbN> You don't
[15:05:21 CEST] <BtbN> mkv/webm has an index, which it will write at the end by seeking back to the beginning of the file.
[15:05:36 CEST] <BtbN> If the output is not seekable, i.e. stdout, it can't write it.
[15:07:07 CEST] <snatcher> cat i.webm | ffmpeg -y -nostdin -i /dev/stdin -map_metadata -1 -c:v copy -c:a copy -fflags +bitexact -flags:v +bitexact -flags:a +bitexact -f webm /dev/stdout | md5sum
[15:08:11 CEST] <snatcher> if there was -nostdout option
[15:08:15 CEST] <BtbN> ...?
[15:08:30 CEST] <BtbN> nostdout if "-f null -"
[15:08:34 CEST] <BtbN> then it won't output anything
[15:08:51 CEST] <snatcher> BtbN: that's different
[15:08:54 CEST] <relaxed> I feel like this an x,y problem
[15:09:13 CEST] <relaxed> is an*
[15:09:18 CEST] <BtbN> But you are never going to get the same checksum for an mkv file pipe to stdout vs. one written directly to disk (or any seekable output)
[15:10:02 CEST] <snatcher> cat i.webm | ffmpeg -y -nostdin -i /dev/stdin -map_metadata -1 -c:v copy -c:a copy -fflags +bitexact -flags:v +bitexact -flags:a +bitexact -f webm /dev/stdout >o.webm; md5sum o.webm
[15:10:09 CEST] <snatcher> why correct checksum in this case?
[15:10:25 CEST] <BtbN> That's still not seekable
[15:17:42 CEST] <snatcher> BtbN: i need to output _file_ content as _file_ content not as seekable stream
[15:18:08 CEST] <BtbN> Then output it to a file, and not a stream?
[15:18:17 CEST] <snatcher> but because ffmpeg too smart it outputs it as seekable stream because of pipe
[15:18:47 CEST] <BtbN> stdout is a stream, nothing will change that. It can't seek back in it.
[15:18:58 CEST] <snatcher> i don't need file(s) on disk, disk(s) has resource
[15:19:13 CEST] <BtbN> Then you're not gonna get a proper mkv/webm
[15:19:20 CEST] <BtbN> You need to write ot somewhere seekable
[15:21:00 CEST] <snatcher> BtbN: why example above with /dev/stdout as output file write non-seekable to o.webm?
[15:21:15 CEST] <BtbN> Because stdout is not seekable
[15:21:19 CEST] <BtbN> you write bytes to it. The end.
[15:22:04 CEST] <snatcher> wait
[15:22:29 CEST] <snatcher> BtbN: is seekable in above example
[15:22:40 CEST] <BtbN> No, stdout is never seekable
[15:22:49 CEST] <furq> o.webm has a seek index
[15:22:52 CEST] <furq> that's not the same thing though
[15:23:43 CEST] <snatcher> >because ffmpeg too smart it outputs it as seekable stream because of pipe, right? can i cheat ffmpeg somehow?
[15:23:56 CEST] <furq> no these are two different things
[15:24:02 CEST] <BtbN> You're gonna have to cheat your entire OS, and reimplement large parts of it.
[15:24:03 CEST] <furq> stdout is a stream, not a file
[15:24:12 CEST] <furq> in general, not just in ffmpeg
[15:24:17 CEST] <furq> you can't seek in stdout ever
[15:24:39 CEST] <furq> so you can't seek back to the beginning of the file and rewrite the header without reopening the file
[15:26:09 CEST] <furq> if there is a way to cheat it in ffmpeg it'd be to rewrite libavformat to write the header correctly upfront
[15:26:18 CEST] <furq> which might be possible if you're just remuxing but would need specialcasing
[15:26:49 CEST] <BtbN> It would also force it to keep the entire output in RAM until the very end, and then dump it out in one go.
[15:27:00 CEST] <BtbN> Might as well just mount a tmpfs and write a seekable file onto there.
[15:27:12 CEST] <furq> yeah tmpfs is the least stupid way around this
[15:30:31 CEST] <snatcher> i see in above example ffmpeg works with o.webm because /dev/stdout -> o.webm
[15:31:11 CEST] <furq> that shouldn't make any difference
[15:31:17 CEST] <furq> the redirection is done by your shell
[15:32:39 CEST] <BtbN> "... /dev/stdout > file.webm" is identical to "... file.webm", cause the shell will just put the files fd to the stdout fd. But you gain nothing then and might as well just write to the file.
[15:33:30 CEST] <BtbN> The moment you pipe it to another program the shell will stop doing that.
[15:34:10 CEST] <furq> yeah that
[15:34:18 CEST] <furq> you can't seek if the fd is a pipe
[15:34:57 CEST] <furq> https://manpages.debian.org/buster/manpages-dev/lseek.2.en.html
[15:56:18 CEST] <snatcher> https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/issues/344#issuecomment…
[15:58:28 CEST] <snatcher> some seekable in-memory buffer object can be passed as stdout to ffmpeg command with python, still need to figure out how
[15:59:41 CEST] <BtbN> snatcher, just mount a tmpfs somewhere. Write the file on there, checksum it, delete it.
[15:59:50 CEST] <BtbN> Exact same effect, a lot less of a hassle.
[15:59:56 CEST] <BtbN> Usually /tmp already is a tmpfs even
[16:00:47 CEST] <snatcher> BtbN: i know about tmpfs but i prefer self-sufficient way
[16:00:56 CEST] <BtbN> ...?
[16:04:03 CEST] <snatcher> way without tons of tmpfs mount/umount/support checks sigterm hooks for it etc in the script
[16:06:34 CEST] <DHE> I think the answer is "can't really be done in ffmpeg alone"
[16:07:51 CEST] <BtbN> So you'd rather write a huge complex python script, then write a file to /tmp? What?
[16:11:06 CEST] <iive> i think /dev/shm is guaranteed to be tmpfs
[16:11:58 CEST] <BtbN> Isn't that location rather deprecated though?
[16:12:28 CEST] <BtbN> Also, why not just write the damn file to disk? If you delete it right after there's a fairly high chance it'll never even hit the actual disk.
[16:17:48 CEST] <iive> BtbN, it's used by the kernel for shared memory, so no.
[16:18:13 CEST] <kepstin> rather, it's used by the *c library* for shared memory
[16:18:26 CEST] <kepstin> kernel doesn't care either way, it's just a tmpfs
[16:26:50 CEST] <iive> well, you don't get sysv shared memory without it, and X11 does depend on that one.
[18:02:15 CEST] <blizzow> I have a v4l2 device at /dev/video0. How can I stream /dev/video0 in 1280x720 - YUV420P - H.264 format via RTSP over TCP?
[18:06:13 CEST] <blizzow> v4l2-ctl --list-formats-ext -d /dev/video0 shows that I can get [1]: 'MJPG' (Motion-JPEG, compressed)/Size: Discrete 1280x720/Interval: Discrete 0.033s (30.000 fps).
[18:16:09 CEST] <relaxed> blizzow: have you seen https://trac.ffmpeg.org/wiki/Capture/Webcam ?
[18:21:26 CEST] <blizzow> relaxed, I have not. I'm still struggling with RTSP:// over TCP output and don't see anything in that page about using ffmpeg or ffplay for pushing to rtsp.
[18:22:15 CEST] <fred1807> how can I rewrite this ffmpeg command, that creates a slideshow with fade fot 5 photos files, to glob all photos in dir ? https://arin.ga/3XcMk7/raw
[18:23:55 CEST] <relaxed> blizzow: sorry, I only glanced and saw "v4l2-ctl". maybe this will help, https://trac.ffmpeg.org/wiki/StreamingGuide
[18:27:59 CEST] <blizzow> relaxed, I think that one is a little closer. Do you know if I'd have to implement some kind of transcoding? Or just use this: ffmpeg -i input -f rtsp -rtsp_transport tcp rtsp://:8888/live.sdp?
[19:00:58 CEST] <Henry151> hi folks, i ran command like "ffmpeg -i original.mkv -vf subtitles=original.mkv final.mp4" expecting it would burn the subtitles into the video itself, but it didn't. Any idea why?
[19:03:43 CEST] <durandal_1707> subtitles filter works with only text subtitles files as argumesnt
[19:04:06 CEST] <Henry151> i see
[19:04:12 CEST] <Henry151> any workaround?
[19:04:48 CEST] <durandal_1707> extract subtitles from mkv file first
[19:07:05 CEST] <Henry151> i see
[19:07:38 CEST] <Henry151> i think i did this the other day, thanks, i had forgotten the process, much appreciated, i'll look in my bash history and find the commands i used last time.
[19:12:59 CEST] <lain98> anyone up ?
[19:25:29 CEST] <durandal_1707> issue?
[19:28:00 CEST] <relaxed> fred1807: https://pastebin.com/raw/7MbSfJrn
[19:32:28 CEST] <fred1807> relaxed: Amazing bash skills!
[19:32:52 CEST] <fred1807> thank you
[19:33:57 CEST] <relaxed> you're welcome
[19:42:34 CEST] <lain98> trying to figure out if a video is open gop closed gop. dont know if this is the best way https://stackoverflow.com/a/32786212.
[19:43:11 CEST] <lain98> and if the comment on SO is correct way of figuring out closed gop/open gop.
[19:51:43 CEST] <Mavrik> Sounds legit.
[19:56:13 CEST] <fred1807> relaxed: do you know how to make it crossfade, instead of fadeout/fadein ?
[20:11:12 CEST] <fred1807> ffmpeg -pattern_type glob -i "*.jpg" -vf zoompan=z=1:d=4:s=1920x1080:fps=2,framerate=25 -c:v mpeg4 show.mp4
[20:11:28 CEST] <fred1807> this creates a slideshow crossfading all jpgs in folder...
[20:11:45 CEST] <fred1807> but seems that some photos crossfades, and others dont..
[20:12:17 CEST] <durandal_1707> no video crossfades, not implemented as filter
[20:27:40 CEST] <dastan> hello people
[20:28:24 CEST] <dastan> i am creating a local HLS in my pc with ffmpeg and when i try to play it no audio is in it and i dont know whats happening
[20:28:58 CEST] <dastan> the ffplay shows this: Stream #0:1: Data: bin_data ([6][0][0][0] / 0x0006)
[20:32:13 CEST] <dastan> does someone know whats happening?
[20:38:12 CEST] <blizzow> #motion
[20:41:48 CEST] <dastan> people?
[20:42:49 CEST] <durandal_1707> bin data is funky decoder
[20:43:18 CEST] <fred1807> I am trying to create this frankestein: ffmpeg -nostats -i movie.mp4 -i watermark.png -filter_complex "[0:v]scale=1280:720[bg];[bg][1:v]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -i http://localhost:8000/mpd.wav -map 00 -map 10 -map 2:a:0 -c:v mpeg2video -b:v 50M -c:a aac -b:a 160k -ac 1 -ar 44100 -f mpegts output.ts
[20:43:50 CEST] <fred1807> gues I lost myself with the -map
[21:22:44 CEST] <dastan> someone know why my ffmpeg is not saving my HLS correctly? is saving without audio
[21:34:35 CEST] <saml> can I know versions of linked libraries for ffmpeg?
[21:34:54 CEST] <saml> for example, I want to know what version of libx264 it's using
[21:35:13 CEST] <saml> it's statically linked ffmpeg
[21:39:18 CEST] <Henry151> hey, https://askubuntu.com/questions/214199/how-do-i-add-and-or-keep-subtitles-w… i'm looking here at the directions for "Image based subtitle format inputs" because i have an mkv file with bitmap dvd_subtitle format subtitles, and i'm trying to burn the 4th subtitle track (english subs) onto the video
[21:39:57 CEST] <Henry151> i want to take video.mkv and take subtitle track number 4, and burn it onto an output file called video.mp4
[21:41:15 CEST] <Henry151> i'm just confused because in that "Image based subtitle format inputs" section, they say the example command does "overlay the fourth subtitle stream over the second video stream" but i don't see that 4 and 2 represented in the command.. I want to overlay the 4th subtitle stream over the 0th video stream, i think
[21:42:58 CEST] <Henry151> for more clarity; https://bpaste.net/show/rT2z here's the output of "ffmpeg -i video.mkv"
[21:43:09 CEST] <Henry151> i want to convert to mp4 and burn the subtitles in
[21:45:54 CEST] <piggz_> hello, a quick question, hopefully im just missing something simple ... using libavcodec to programatically create a H264/mp4 video ... i followed the example code and it mostly worked ... except....
[21:46:54 CEST] <piggz_> the resulting video plays far too fast.....(and not really in vlc...)
[21:47:03 CEST] <piggz_> in player, if i force the fps to 25, it is fine
[21:47:06 CEST] <piggz_> s/mplayer
[21:47:32 CEST] <piggz_> i set the time_base properly in the codec context, so im not sure what ive missed
[21:47:37 CEST] <durandal_1707> where is code?
[21:47:39 CEST] <piggz_> any suggestion? sheers
[21:47:48 CEST] <piggz_> durandal_1707: its at work, so i cant show it right now
[21:48:12 CEST] <durandal_1707> looked at examples in source?
[21:48:20 CEST] <piggz_> durandal_1707: yep, lots!
[21:49:19 CEST] <durandal_1707> timebase is part of muxing
[21:58:26 CEST] <Henry151> durandal_1707: based on your previous guidance i was trying to extract the subtitles, but apparently you cannot just extract bitmap subtitles to text without using other programs for OCR or whatever. I don't need the subtitles to be in text format; I just want to burn them in. Can I burn bitmap subs from my mkv to an output mp4?
[21:59:05 CEST] <durandal_1707> yes
[21:59:39 CEST] <durandal_1707> with overlay filer and sone limitations
[22:00:40 CEST] <durandal_1707> bitmaps are fixed in size
[22:02:54 CEST] <Henry151> ok. I was trying to figure out how to use the overlay filter functionality but was having a tough time with it, couldn't get the command right with my trial-and-error approach.
[22:03:43 CEST] <Henry151> i was following the directions on that askubuntu link i pasted a ways above, but their section describing how to use the overlay filter was confusing for me.
[22:05:38 CEST] <piggz_> durandal_1707: apologies if you replied, laptop lost power :/
[22:06:09 CEST] <durandal_1707> muxing deals with timebase
[22:06:19 CEST] <durandal_1707> look muxer code
[22:08:03 CEST] <piggz_> durandal_1707: ok, thx ... when played in mplayer, it says the fps is 90000
[22:08:15 CEST] <piggz_> i found references to 90000 in the mp4 standard
[22:08:44 CEST] <piggz_> as that can be devided into the other standard frame rate values
[22:08:45 CEST] <piggz_> i think
[22:08:55 CEST] <durandal_1707> Henry151: i can give only hints, no full solutions
[22:09:23 CEST] <piggz_> i wonder if a different containter would work better ....something to try tomorrow
[22:09:27 CEST] <durandal_1707> piggz: thats timebase
[22:09:58 CEST] <durandal_1707> frame rate is another thing
[22:10:01 CEST] <piggz_> oh, ok
[22:10:29 CEST] <durandal_1707> perhaps you mis configured pts timestamps
[22:10:55 CEST] <piggz_> i increment the pts value by 1 each frame
[22:11:09 CEST] <piggz_> i think that what the example code does
[22:11:25 CEST] <piggz_> thoguht, that would explain why it was 900000 fps
[22:11:26 CEST] <durandal_1707> thats exact reason for such big framerate
[22:11:36 CEST] <piggz_> yes, i just realised ;)
[22:12:09 CEST] <piggz_> i guess maybe the older formats have pts increase by 1?
[22:12:51 CEST] <durandal_1707> 90000 timebase says i can give you 90000 frames per each second
[22:12:58 CEST] <piggz_> the sample code generates a 1second clip, and 25fps, generating 25 frames with pts increasing by 1
[22:13:09 CEST] <piggz_> thx, i know what to do
[22:13:26 CEST] <durandal_1707> other formats can have custom timebase to exact framerate
[22:14:18 CEST] <piggz_> thx for the help
[22:14:34 CEST] <durandal_1707> np
[22:27:42 CEST] <kepstin> piggz_: in general, i'd recommend doing most of your work in a timebase suitable for your video (e.g. 1/framerate), but when muxing it to the container make sure to rescale the timestamps to the container timebase, since the container may not support the timebase you chose.
[22:29:40 CEST] <piggz_> kepstin: how do youdetermin the mux time base?
[22:31:06 CEST] <piggz_> its not in avoutputformat
[22:33:49 CEST] <durandal_1707> check doxygen?
[22:34:45 CEST] <piggz_> will do, ta
[22:34:54 CEST] <piggz_> looking now
[22:35:12 CEST] <kepstin> piggz_: it's in the AVStream
[22:35:40 CEST] <piggz_> ah, ok, i was looking in the avformatcontext
[22:36:13 CEST] <kepstin> piggz_: you normally set the timebase field, then write the header, then read the timebase field back to see what the muxer ended up really using.
[22:37:03 CEST] <piggz_> yes, i read something like that, where someone had said it had changes from 900000 to 128000, but didnt realise it was in the avstream
[22:37:20 CEST] <piggz_> its bugged me all afternoon!
[22:37:26 CEST] <piggz_> should be a quick fix
[22:45:10 CEST] <MemeMachine888> test
[22:45:17 CEST] <MemeMachine888> sweet
[22:46:37 CEST] <MemeMachine888> ayo so I was wondering if anyone has considered Windows DirectSound audio output for FFMpeg? Or just virtual audio output in general :b MEncoder has decent Windows DirectSound audio output with device support so idk if thats something to be considered..
[22:48:04 CEST] <durandal_1707> patch welcome
[22:48:50 CEST] <durandal_1707> and its FFmpeg, not FFMpeg
[23:04:00 CEST] <fred1807> how can I ignore or avoid these errors when I have a .wav input from music player daemon? Invalid PCM packet, data has size 1 but at least a size of 2 was expected
[23:07:46 CEST] <durandal_1707> does same happens with ffmpeg?
[23:12:10 CEST] <fred1807> I have mpd httpd server streaming .wav music
[23:12:28 CEST] <fred1807> then ffmpeg grab a video file, and the music from mpd streaming
[23:12:36 CEST] <fred1807> I works for some hours, then this...
[23:13:42 CEST] <durandal_1707> you use ffmpeg protocols or?
[23:15:08 CEST] <durandal_1707> if not, dunno how can this be solved in ffmpeg
[23:16:34 CEST] <durandal_1707> because if received packet is incomplete ffmpeg will abort
[23:24:10 CEST] <fred1807> I am combining a video file with streaming audio
[23:28:41 CEST] <another> Henry151: https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo#Picture-basedsubti…
[23:28:49 CEST] <durandal_1707> wav file should be ok when playing, and should not have incomplete size
[23:29:19 CEST] <durandal_1707> yes always check our wiki page...
[23:37:26 CEST] <fred1807> do you wanna watch my live stream?
[23:37:36 CEST] <fred1807> video+music
[23:39:40 CEST] <durandal_1707> i need to zzzz, maybe others will do....
[00:00:00 CEST] --- Tue Aug 6 2019
1
0
[01:40:13 CEST] <philipl> Lynne: It works well enough on Intel that I could implement vaapi/vulkan interop in mpv
[01:40:52 CEST] <philipl> The dma_buf import works and while the format modifier extension is still missing, you can get away with it because both sides agree on the layout of common formats that matter for vaapi
[01:43:10 CEST] <J_Darnley> Anyone else get a dodgy looking email from "reasearchers in Brazil"?
[01:43:16 CEST] <philipl> yep.
[01:43:25 CEST] <philipl> I don't know what a highly configurable system is
[01:43:30 CEST] <philipl> and google won't tell me
[01:44:05 CEST] <philipl> (I mean, I could read one of those papers but I won't)
[01:44:33 CEST] <J_Darnley> durandal_1707: what do you need uploaded? new fate samples?
[01:45:37 CEST] <J_Darnley> oh, I see the related email
[01:51:53 CEST] <nevcairiel> that went straight to the bin for me, stupid mass-mailings
[01:52:06 CEST] <Lynne> philipl: well that interop is kinda broken on my machine
[01:52:21 CEST] <Lynne> random artifacts when seeking, which does hint there's no sync
[01:53:49 CEST] <Lynne> but seeking does also show random image from the swapchain which leads me to think libplacebo is doing something wrong
[01:55:47 CEST] <philipl> You'd have to discuss that part with haasn. There is certainly no explicit sync mechanism available.
[01:58:17 CEST] <haasn> What code is this in the context of?
[01:58:40 CEST] <Lynne> vaapi -> vulkan
[01:58:52 CEST] <haasn> in ffmpeg?
[01:58:54 CEST] <Lynne> yes
[01:59:19 CEST] <haasn> can you point me at the part in ffmpeg where it does this interop?
[01:59:23 CEST] <Lynne> having read the libva docs they do tell you sync after you export is up to you, but you can call vaSyncSurface() just before you export to hopefully complete all pending ops
[01:59:34 CEST] <Lynne> which didn't fix my issues
[02:00:51 CEST] <haasn> and yes the proper way to do this would be to have a shared semaphore which you can use from both APIs
[02:01:01 CEST] <haasn> I don't know anything about vaapi but that's what we do on the vulkan side of things
[02:02:15 CEST] <haasn> also currently in libplacebo the only way to use semaphores is to create them in vulkan and them import them in the other API
[02:02:52 CEST] <haasn> but it sounds like that is possible?
[02:03:01 CEST] <Lynne> nnnope
[02:03:35 CEST] <Lynne> only halfway
[02:04:13 CEST] <Lynne> you can export a vulkan semaphore to a drm sync object fd, but that's about as far as you'll get as nothing accepts drm sync objects or just plain exported semaphore fds
[02:05:18 CEST] <haasn> also I'm confused as to whether or not you're talking about ffmpeg or mpv here; the vaapi/vulkan interop in mpv is implemented in mpv
[02:05:26 CEST] <philipl> (and to be explicit, intel vulkan driver cannot doesn't support semaphore import)
[02:06:34 CEST] <Lynne> it does, signalled here on my machine and worked... with the fault it didn't error if I gave it a random fd and specified its temporal
[02:06:59 CEST] <Lynne> it did error with "invalid fd" if I said its non-temporal
[02:07:07 CEST] <philipl> Lynne: at least the driver doesn't set the "I support semaphore import" flag.
[02:08:07 CEST] <Lynne> does here, VK_KHR_external_semaphore_fd, version 1
[02:08:21 CEST] <philipl> There's a separate support flag for import and export
[02:08:25 CEST] <philipl> Only the export flag is set
[02:08:57 CEST] <haasn> also yes looking at the mpv code there is indeed no sync code at all
[02:09:06 CEST] <haasn> in the vaapi vulkan interop
[02:09:11 CEST] <philipl> There is not.
[02:09:52 CEST] <Lynne> I thought it checked that, maybe not
[02:10:46 CEST] <haasn> for some reason I didn't realize that when looking at the PR
[02:10:58 CEST] <haasn> Otherwise I would have said to not merge it until synchronization is added x_x;
[02:11:13 CEST] <haasn> I think as it is right now there's no chance that code works except by miracle/luck/coincidence
[02:11:32 CEST] <philipl> Lynne: sorry, ignore. libplacebo doesn't query import caps because it doesn't implement actually importing and using such a semaphore.
[02:11:33 CEST] <haasn> but what needs to change for us to be able to add synchronization here?
[02:11:48 CEST] <haasn> does libplacebo need semaphore import support?
[02:12:00 CEST] <philipl> haasn: there's no way to import or export a semaphore on the vaapi side
[02:12:07 CEST] <philipl> so there's no sync primitive available.
[02:12:13 CEST] <haasn> so how do they expect us to synchronize?
[02:12:43 CEST] <philipl> It's fairly clear they don't expect us to use the feature at all. But I did anyway :-)
[02:12:52 CEST] <haasn> fair enough
[02:12:57 CEST] <haasn> is it at least documented as "this doesn't work yet?"
[02:13:58 CEST] <haasn> I mean something we could do is synchronized on the CPU side
[02:13:58 CEST] <philipl> The 'luck' I was relying on was not trying to re-use resources, and hoping that the vaExport is internally complete before I hand it to vulkan.
[02:14:05 CEST] <haasn> Which sounds slightly ridiculous given that the data never leaves the GPU
[02:14:09 CEST] <philipl> At least visually, that seems to work
[02:14:33 CEST] <haasn> But we could block on the CPU until the GPU operations have completed
[02:14:43 CEST] <haasn> If vaapi has an API like that
[02:15:08 CEST] <philipl> That's what vaSyncSurface would do
[02:15:18 CEST] <philipl> "
[02:15:18 CEST] <philipl> This function blocks until all pending operations on the render target have been completed. Upon return it is safe to use the render target for a different picture.
[02:15:38 CEST] <haasn> "This does not perform any synchronisation. If the contents of the surface will be read, vaSyncSurface() must be called before doing so. If the contents of the surface are written, then all operations must be completed externally before using the surface again by via VA-API functions."
[02:15:41 CEST] <haasn> *shrug*
[02:16:42 CEST] <philipl> So I could add a vaSyncSurface after the export, but Lynne noted it had no visible effect earlier.
[02:17:01 CEST] <haasn> so vaSyncSurface before pl_tex_create does not help?
[02:17:06 CEST] <haasn> maybe it was in the wrong place
[02:17:36 CEST] <philipl> It's unclear what exactly the artifacts-on-seek are. I've noticed them too. You get one frame that looks wrong and then it's back to normal.
[02:17:39 CEST] <haasn> I see we recreate the pl_tex for every frame, so I guess there's no need for sync in the other direction
[02:17:50 CEST] <philipl> That's why i did the recreation, to avoid that need.
[02:18:06 CEST] <haasn> actually where do we pl_tex_destroy
[02:18:21 CEST] <haasn> oh, in the ra tex destroy
[02:18:43 CEST] <philipl> Yes
[02:19:06 CEST] <haasn> it might be UB to reimport the same DRM fd to several vulkan images
[02:19:25 CEST] <haasn> if you pl_tex_create() twice on th same fd the first one might still be in use internally
[02:19:44 CEST] <haasn> there's also the issue of libplacebo possibly still reading from it when you reuse that DRM fd
[02:20:47 CEST] <haasn> if you want to omit synchronization in the other direction then you need to create a new drm buffer for every frame as well
[02:20:59 CEST] <haasn> and only clean the old ones up once libplacebo is fully done using it
[02:21:05 CEST] <haasn> which, incidentally, I'm not even sure how we guarantee, currently
[02:22:08 CEST] <haasn> (I think, technically, in your uninit function you have to be sure to call pl_gpu_finish() before destroying any buffers that were imported to libplacebo)
[02:22:09 CEST] <Lynne> fds are refcounted, so I don't think importing them multiple times is a problem as long as you close() them
[02:22:50 CEST] <haasn> ra_tex_free() doesn't mean it's safe to start calling vaReleaseBufferHandle / vaDestroyImage
[02:23:18 CEST] <haasn> unless you pl_tex_export() first
[02:23:24 CEST] <haasn> but that requires sync objects be working (for obvious reasons)
[02:24:00 CEST] <haasn> so both your mapper_map() and mapper_unmap() currently just ignore synchronization and hope they get lucky
[02:24:43 CEST] <haasn> Lynne: even if it is defined behavior, it would still be defined behavior to the point where the result is undefined if you try writing to an fd via one image while reading from it via another
[02:24:48 CEST] <haasn> Without any synchronization between the two
[02:25:40 CEST] <haasn> so yeah there's just no way this can work unless vaapi gets support for either importing or exporting semaphores; and if vaapi can only export then we'll need to add import support in libplacebo (which can also currently only export)
[02:25:54 CEST] <haasn> which isn't too difficult, probably like 10-20 lines of boilerplate that need to be added
[02:26:00 CEST] <haasn> plus a new API function
[02:26:58 CEST] <philipl> haasn: well, considering how the format modifier extension has made zero progress for years, I wouldn't be expecting much on sync.
[02:27:03 CEST] <Lynne> vaapi can't export, you can sync on when you export the image but before you release it you'll need to wait on a barrier
[02:27:15 CEST] <haasn> wait on a barrier how? CPU side?
[02:27:23 CEST] <haasn> If so we can add a CPU-blocking way to wait until an image is no longer in use
[02:27:38 CEST] <haasn> which we currently don't have becuase that's just idiotic for the most part
[02:27:47 CEST] <Lynne> yeah, it is
[02:28:17 CEST] <Lynne> you can ask libva devs to support it but good luck with its glacial pace
[02:30:41 CEST] <haasn> if you want a quick work-around for testing purposes, you can do a pl_tex_download() of the first pixel and wait for that to complete in mapper_unmap()
[02:31:07 CEST] <haasn> actually the easiest way to test would be to pl_gpu_finish() at the start of mapper_unmap()
[02:31:15 CEST] <haasn> and vaSyncSurface() before pl_tex_create()
[02:31:21 CEST] <haasn> add those two function calls and see if that fixes it
[02:32:07 CEST] <haasn> that will stall the entire GPU and make performance bad, probably
[02:32:11 CEST] <haasn> but it shouldn't cause any glitches
[02:32:46 CEST] <haasn> (pl_tex_download would be a hacky way that doesn't require stalling the entire GPU; but if we confirm this fixes it I can also add an synchronous way of stalling like pl_tex_poll())
[02:33:32 CEST] <haasn> (we can literally just copy/paste the code for pl_buf_poll and make pl_tex_poll, but its use would have to be heavily disincentivized)
[02:34:16 CEST] <philipl> i will try shortly
[02:56:24 CEST] <philipl> annoyingly, I cannot reproduce the visual artifacts now. I saw them, recompiled with vaSyncSurface, stopped seeing them, recompiled without again, and still don't see them. annoying.
[03:04:48 CEST] <philipl> haasn: OK. So maybe I can still get the artifacts to appear. and vaSyncSurface, I think, gets rid of them.
[03:05:04 CEST] <haasn> with or without the gpu finish?
[03:05:13 CEST] <philipl> without gpu_finish
[03:05:46 CEST] <philipl> I don't fully understand why the sync in unmap is needed. The VA Image resources are not reused. They are freed and a new one allocated on the next export.
[03:06:12 CEST] <philipl> So, as long as ra_tex_destroy doesn't pull the VkImage out from under vulkan, it should be ok, shouldn't it?
[03:06:17 CEST] <philipl> (and it doesn't)
[03:07:25 CEST] <philipl> So I would not expect vaapi to be exporting a new surface into an existing image and corrupting something on the vulkan side
[03:08:42 CEST] <Lynne> its not corrupting a codec reference frame at least, none of the artifacts look like that and they disappear within a few output frames
[03:11:59 CEST] <philipl> Right.
[03:12:24 CEST] <philipl> Lynne: so you still see artifacts with vaSyncSurface after export, and with our without the pl_gpu_finish?
[03:14:00 CEST] <philipl> I think the sync-in-unmap should not be required. vaExportSurface returns a new fd each time (or at least a new fd for each exported surface. Re-export probably does re-use the fd). That fd is then owned by the caller, and is held by libplacebo/mpv until the ra_tex_destroy, which is internally ensured to be delayed until the tex is no longer in use.
[03:14:23 CEST] <philipl> So if you export the next surface while still in use, it will use a different fd. The fd will not be free for re-use until the ra_tex_destroy really completes.
[03:14:51 CEST] <philipl> The only way you'd get overlapping reads/writes here is if the underlying memory for the exported surface is re-used independent of the fd, which seems insane.
[03:22:18 CEST] <Lynne> dunno, give me a diff to test
[03:26:08 CEST] <philipl> Lynne: https://github.com/philipl/mpv/commit/bedbd3447b5ac7fe26b03082052a586dd9a45…
[03:26:16 CEST] <philipl> Uncomment the pl_gpu_finish to test that part.
[04:06:09 CEST] <haasn> philipl: I'm more worried about vaDestroyImage pulling the image contents out from underneath the VkImage
[04:06:19 CEST] <haasn> before the GPU is done reading from them
[04:08:25 CEST] <haasn> but it's possible it will work in practice if the actual buffer is refcounted internally
[04:08:42 CEST] <haasn> and the image contents will stick around until both the vaapi *and* the VkImage views have been destroyed
[04:09:45 CEST] <haasn> it depends on whether or not the vaapi side of things internally knows that the same area of memory is still being accessed by vulkan too
[04:10:14 CEST] <haasn> because in theory vaapi's acquire/write/release loop doesn't have any dependence on vulkan currently
[04:10:22 CEST] <haasn> if there is one, it must be internal to the driver somehow?
[04:13:16 CEST] <philipl> vaDestroyImage doesn't actually get called in the vulkan path
[04:13:21 CEST] <philipl> It's there for GL only
[06:26:31 CEST] <haasn> ah
[06:26:39 CEST] <haasn> so when does the image get freed in the vulkan path?
[07:49:37 CEST] <philipl> haasn: There is no VA Image in the vulkan path. There is the surface, which is exported, and then the fd which is transferred to the caller. so it is freed when the pl tex is finally destroyed.
[09:15:18 CEST] <haasn> ah, I see
[09:15:23 CEST] <haasn> so ownership of the memory moves to libplacebo
[09:15:26 CEST] <haasn> seems fine then
[10:05:11 CEST] <durandal_1707> i gonna write msrle encoder for fun
[10:10:54 CEST] <thardin> huh, both bmp and avi can be msrle
[10:13:40 CEST] <thardin> 00 02 05 01 Move 5 right and 1 down
[10:13:41 CEST] <thardin> funky
[11:11:41 CEST] <Lynne> philipl: vaSyncSurface() alone fixes pretty much everything
[12:42:07 CEST] <philipl> Lynne: thanks. I'll make that a proper PR
[14:24:12 CEST] <durandal_1707> kierank: you no more active, why?
[14:24:59 CEST] <kierank> durandal_1707: ?
[14:26:08 CEST] <durandal_1707> with developing and chatting
[14:27:14 CEST] <kierank> No interesting projects in ffmpeg any more
[14:27:49 CEST] <kierank> There is interlaced mpeg-4 sstp but trust would involve changing masterpiece that is mpeg4video code
[14:28:59 CEST] <kierank> that*
[14:30:52 CEST] <durandal_1707> rewrite it from scratch
[15:03:37 CEST] <Lynne> its fine, someone is implementing 608 captioning in av1, the codec built specifically for the modern internet
[15:06:02 CEST] <Lynne> I give it no more than 2 years until someone figures out how to signal in-band interlacing
[15:14:53 CEST] <durandal_1707> noooooo
[15:16:57 CEST] <kierank> Lynne: 608 is mandatory by law in the usa
[15:17:03 CEST] <kierank> you can go to jail if you don't use it
[15:17:41 CEST] <durandal_1707> country?
[15:22:22 CEST] <kierank> durandal_1707: ?
[15:22:31 CEST] <nevcairiel> silly subtitle metadata at least doesnt influence the video in any way otherwise
[15:23:19 CEST] <durandal_1707> kierank: country in usa with that law?
[15:23:30 CEST] <kierank> usa is the country
[15:23:31 CEST] <nevcairiel> usa is the country
[15:23:33 CEST] <nevcairiel> :D
[15:23:38 CEST] <J_Darnley> Subtitles should only ever be an external ass file.
[15:23:48 CEST] <kierank> the fcc disagrees
[15:24:20 CEST] <kierank> and as you know the fcc won't let me be
[15:24:27 CEST] <nevcairiel> the US is so terribly plaged by legacy rules and regulations, they'll never be able to shake those off because they are entirely stagnant
[15:24:33 CEST] <nevcairiel> plagued*
[15:25:06 CEST] <kierank> europe isn't any better
[15:25:09 CEST] <kierank> sunday trading laws anyone
[15:26:31 CEST] <durandal_1707> kierank: so its global to whole usa and not state specific?
[15:26:36 CEST] <kierank> yes
[15:27:24 CEST] <Lynne> is it only a requirement if the signal carries some public tv or something, so twitch and youtube are exempt?
[15:27:49 CEST] <nevcairiel> its broadcast, not internet...yet
[15:27:56 CEST] <kierank> it's a requirement if you have a tv in a public place
[15:27:59 CEST] <kierank> or any form of stream
[15:28:22 CEST] <kierank> https://www.fcc.gov/consumers/guides/captioning-internet-video-programming
[15:29:42 CEST] <nevcairiel> doesnt that basically just say that you cant remove captions if its a reproduction of TV content
[15:30:14 CEST] <kierank> exactly so they need a way to have it in av1
[15:31:37 CEST] <kierank> you can say, whatever I only watch anime like most people in OSS but 99% of the world watch sports and whatever
[15:31:46 CEST] <kierank> OSS multimedia*
[15:49:03 CEST] <JEEB> captions and alert messages and all that jazz
[15:50:11 CEST] <JEEB> but yea, at least the caption crap is just additional packets in the video stream, only affects rate control :p
[16:18:29 CEST] <cone-480> ffmpeg 03Stefan Schoenefeld 07master:39a5c0ac0651: avcodec/h263dec: fix hwaccel decoding
[16:18:29 CEST] <cone-480> ffmpeg 03Stefan Schoenefeld 07master:ad97be9fa30d: avcodec/h263dec: enable nvdec hwaccel
[16:19:48 CEST] <cone-480> ffmpeg 03Stefan Schoenefeld 07release/4.2:af3541fc7ec0: avcodec/h263dec: fix hwaccel decoding
[16:19:50 CEST] <cone-480> ffmpeg 03Stefan Schoenefeld 07release/4.2:e33ea0f50374: avcodec/h263dec: enable nvdec hwaccel
[16:22:50 CEST] <cone-480> ffmpeg 03Stefan Schoenefeld 07release/4.1:a12e40e0213f: avcodec/h263dec: fix hwaccel decoding
[16:23:54 CEST] <cone-480> ffmpeg 03Stefan Schoenefeld 07release/4.0:1687b067dd58: avcodec/h263dec: fix hwaccel decoding
[16:25:38 CEST] <cone-480> ffmpeg 03Stefan Schoenefeld 07release/3.4:31161bc96931: avcodec/h263dec: fix hwaccel decoding
[17:33:25 CEST] <BtbN> I'm surprised how nobody ever noticed h263 hwaccel was broken that deep back
[17:34:02 CEST] <nevcairiel> i noticed that it was broken a long time ago
[17:34:12 CEST] <nevcairiel> i just didnt care, flagged it as disabled and moved on
[17:34:24 CEST] <BtbN> The fix was fairly simple
[17:34:40 CEST] <nevcairiel> fixes are always simple, finding them is the hard part :D
[17:34:51 CEST] <BtbN> But yeah, hwaccel for anything but h264/hevc/vp9 isn't overly important
[17:35:07 CEST] <BtbN> Well, and AV1, eventually
[17:41:52 CEST] <BtbN> michaelni, would backporting the clang-for-cuda-filters patch be fine to backport to 4.2? It's not a fix, but a worthy addition to have in a release imo.
[17:46:07 CEST] <BtbN> hm, git am refuses to apply the patch. No common ancestor. What.
[17:46:24 CEST] <BtbN> patch -p1 happily takes it
[17:49:57 CEST] <jamrial> BtbN: as long as it's not an api change that would require a version bump (and thus make a mess), it should be good IMO
[17:50:01 CEST] <jamrial> 4.2 is not yet released, just cut into a branch
[17:50:07 CEST] <jamrial> the whole "fixes only" is for point releases
[17:50:16 CEST] <BtbN> It's just an addition to configure
[17:50:28 CEST] <jamrial> since those should not differ feature wise compared to the .0
[17:51:00 CEST] <jamrial> then it should be ok
[17:51:00 CEST] <BtbN> I just need to find a good way to autodetect clang
[18:27:45 CEST] <J_Darnley> I recently had the same problem with `git am`
[18:28:01 CEST] <J_Darnley> Has git tried to become too smart?
[18:28:26 CEST] <J_Darnley> Apply the diff and commit using the message and author provided.
[19:00:14 CEST] <BtbN> J_Darnley, yeah, that's what I ended up doing. Super weird. Even git am -3, which usualy fixes those kind of issues, didn't work.
[19:04:49 CEST] <J_Darnley> I wasn't trying to instruct you, I was trying to instruct git am
[19:05:44 CEST] <BtbN> clang compiled CUDA kernels work fine btw.
[19:05:47 CEST] <BtbN> at least on a 1050
[19:16:20 CEST] <cone-480> ffmpeg 03Rodger Combs 07master:01994c93db43: build: add support for building CUDA files with clang
[19:22:52 CEST] <cone-480> ffmpeg 03Rodger Combs 07release/4.2:86de65fbf074: build: add support for building CUDA files with clang
[20:42:09 CEST] <taliho> Hello, is anyone available to have a quick look at this patch? http://ffmpeg.org/pipermail/ffmpeg-devel/2019-August/247525.html
[20:43:37 CEST] <taliho> It allows multiple clients to connect to a single streaming instance
[20:49:14 CEST] <durandal_1707> michaelni: give me access to ffmpeg security mailing list!
[20:53:47 CEST] <kierank> durandal_1707: ask on ml
[21:11:38 CEST] <durandal_1707> taliho: im not much in protocols, but it looks fine
[21:19:27 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:9cb0da0bfef9: avcodec/utils: fix leak of subtitle_header on error path
[21:19:28 CEST] <cone-480> ffmpeg 03Matt Wolenetz 07release/4.2:907027a4f26d: lafv/wavdec: Fail bext parsing on incomplete reads
[21:19:29 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:598496e50cfd: avcodec/brenderpix: Check input size before allocating image
[21:19:30 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:8d2e23508f20: avcodec/assdec: undefined use of memcpy()
[21:19:32 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:6b04a5dd2d7f: avcodec/eatgv: Check remaining size after the keyframe header
[21:19:33 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:8a03611020b9: avcodec/eatqi: Check for minimum frame size
[21:19:33 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:5fa0b18c95a0: avformat/mpc: deallocate frames array on errors
[21:19:34 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:a33fd082661f: avcodec/apedec: Fix multiple integer overflows and undefined behaviorin filter_3800()
[21:19:35 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:f30d67341e19: avcodec/apedec: make left/right unsigned to avoid undefined behavior
[21:19:36 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:a2c8df28c9c6: avcodec/truemotion2: Fix several integer overflows in tm2_motion_block()
[21:19:37 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:4739a6245105: avcodec/vc1_block: Fix integer overflow in ff_vc1_pred_dc()
[21:19:38 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:7f71ebded4be: avcodec/vc1_pred: Fix invalid shift in scaleforsame()
[21:19:39 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:7821480db5e3: avcodec/vp3: Check that theora is theora
[21:19:40 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:44119e5ad6ca: avcodec/vp3: Check for end of input in vp4_unpack_vlcs()
[21:19:42 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:4f57240859fb: avformat/vividas: Check if extradata was read successfully
[21:19:42 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:c9322598f4e9: avformat/vividas: Check buffer size before allocation
[21:19:44 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:c8dea60fcab5: avcodec/clearvideo: fix invalid shift in tile size check
[21:19:44 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:7ce1e57c016d: avformat/vividas: forward errors from track_header()
[21:19:45 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:c74712dae39c: avformat/vividas: Check that value from ffio_read_varlen() does not overflow
[21:19:47 CEST] <cone-480> ffmpeg 03Michael Niedermayer 07release/4.2:d09370b06088: avcodec/hnm4video: Forward errors of decode_interframe_v4()
[21:20:15 CEST] <taliho> durandal_1707: thanks for looking over the code. maybe i'll try to ping some of the maintainers if i don't get a reply
[23:29:05 CEST] <kierank> durandal_1707: what do you think of michaelni response?
[23:29:27 CEST] <kierank> michaelni: why is having access to public samples server a "security risk"
[23:30:18 CEST] <durandal_1707> you should not ever question leader opinion
[23:37:32 CEST] <michaelni> kierank, there are many other things on the same server
[23:37:55 CEST] <kierank> surely if someone has git push access there is worse they can do
[23:41:44 CEST] <kierank> michaelni: can you give durandal_1707 access to security and to uploads
[23:42:31 CEST] <kierank> he is both cia and fsb spy
[23:42:34 CEST] <kierank> so it's fine
[23:43:57 CEST] <durandal_1707> i think i have access to uploads already
[23:44:21 CEST] <durandal_1707> unless i was removed
[00:00:00 CEST] --- Mon Aug 5 2019
1
0
[01:25:24 CEST] <n000g> No. :-( I'll do that.
[01:52:47 CEST] <Hello71> vidstab is better anyways, assuming you can wait for it
[02:15:32 CEST] <n000g> Ah, it's not really important, really. I was just playing around with a little digitized Super8 video.
[02:43:26 CEST] <whitestone> does someone know the default HLS parameters that youtube use in their live streams
[07:17:27 CEST] <KodiakIT[m]> So, not sure where else would be more appropriate to ask this... I was looking at some screenshots of transcoded videos and noticed that the VP8/9 shots seemed to have fuller color than the x264/5 shots. Does the former actually have a wider color gamut than the latter, or is it likely it was just something with the encoding opts?
[11:01:29 CEST] <emOne> I have a strange "video" format that vlc player plays through ffmpeg. The only problem is that a lot of frames are dropped
[11:01:30 CEST] <emOne> the format is mxg. It has video and audio. The video are jpeg images. It has jpeg key frames which are full jpeg files.
[11:01:30 CEST] <emOne> In between the jpeg key frames the video is recorded with partial jpeg tiles that contain only the changes in the images
[11:01:33 CEST] <emOne> it is not even displaying all keyframes ..
[11:02:24 CEST] <emOne> i tried with ffmpeg -vsync 0 -f mxg -i video.mxg vido.mp4
[11:06:29 CEST] <emOne> when I convert to jpegs I get more frames
[11:09:28 CEST] <emOne> If anyone wants to check this format out drop me a message and I can upload a sample
[11:21:13 CEST] <TheLink> hello all
[11:21:21 CEST] <JEEB> ohai
[11:22:01 CEST] <TheLink> oh, of course you're here, too :P
[11:22:34 CEST] <TheLink> I wasn't really successful finding official documentation of using the videotoolbox hardware encoding with ffmpeg on macos
[11:23:17 CEST] <TheLink> only external links which were quite rudimentary
[11:23:18 CEST] <TheLink> is there such a thing?
[11:25:23 CEST] <TheLink> it seems to work so far (job is still running) and is blazingly fast on this macbook with t2 processor but I'd like to know more about which options are there to configure
[11:44:27 CEST] <durandal_1707> emOne: why you force mxg demuxer?
[11:45:11 CEST] <emOne> durandal_1707: what should I try instead?
[11:45:41 CEST] <durandal_1707> just -i doesnt work?
[11:48:49 CEST] <emOne> without -f mxg you mean?
[11:51:17 CEST] <emOne> durandal_1707: it isn't pretty
[11:51:27 CEST] <emOne> durandal_1707: should I send you a sample?
[11:51:54 CEST] <durandal_1707> what is not pretty?
[11:52:29 CEST] <durandal_1707> just pastebin ffmpeg -i output?
[11:53:19 CEST] <emOne> https://gofile.io/?c=4zSzO7
[11:54:31 CEST] <durandal_1707> im not on desktop, pastebin "ffmpeg -i that_file" output
[11:55:10 CEST] <emOne> 1 sec
[11:57:08 CEST] <emOne> https://pastebin.com/ffef3Zed
[11:58:55 CEST] <durandal_1707> so it only drcodes 14 frames?
[11:59:33 CEST] <durandal_1707> best to open ticket on trac and someone will look at that bug
[12:01:37 CEST] <emOne> durandal_1707: when I output to jpg it produces 42 jpg frames
[12:02:15 CEST] <emOne> but I think I remember that it also has partial jpg frames, which are just the tiles inside the image that changed
[12:02:28 CEST] <emOne> it is one strange format, but it never worked properly in ffmpeg
[12:02:48 CEST] <durandal_1707> is that 42 frames correctly looking?
[12:15:19 CEST] <durandal_1707> emOne is that 42 frames correctly looking?
[12:16:04 CEST] <emOne> they look correct yes durandal_1707
[12:17:48 CEST] <emOne> someone more knowledgable should have a look because something is not right though
[12:18:09 CEST] <emOne> I there are missing frames in between
[12:18:14 CEST] <emOne> I think *
[12:22:17 CEST] <durandal_1707> feel free to open ticket, then sure someone will look
[12:26:03 CEST] <emOne> durandal_1707: thank you. I will do
[12:27:07 CEST] <emOne> durandal_1707: I think the company behind the video format probably just made an awful and buggy video format
[12:35:25 CEST] <TheLink> interestingly it looks like quicktime player can't play the resulting file
[12:35:57 CEST] <TheLink> iina and so mpv can
[12:36:16 CEST] <TheLink> though seeking results in image distortion
[12:37:36 CEST] <TheLink> ffplay doesn't seem to have this issue
[12:42:13 CEST] <TheLink> ok, need to take that back
[12:42:46 CEST] <TheLink> as ffplay has no seekbar I only tested arrow key seeking which works fine
[12:43:16 CEST] <TheLink> so does it in iina and mpv
[12:43:20 CEST] <TheLink> only big jumps with seekbar result in image corruption
[20:48:49 CEST] <devsnek> i'm seeing a large delay when doing `ffmpeg -f pulse -i default`
[20:49:17 CEST] <devsnek> is there a way to reduce the delay? i want to sync it up with `ffmpeg -f x11grab` which is near instant
[22:13:34 CEST] <tommy``> i've a 1920x1080p with dar 4:3 how can i convert in 1920x1080 with dar 16:9 and black bar left and right?
[22:27:41 CEST] <Mavrik> Are you sure it's 1920x1080?
[22:28:02 CEST] <Mavrik> And not 1440x1080
[22:28:04 CEST] <Mavrik> ?
[22:28:07 CEST] <tommy``> meida iinfo says 1920x1080 4:3
[22:28:16 CEST] <JEEB> check ffprobe -v verbose FILE
[22:28:21 CEST] <Mavrik> What does ffprobe say? Including SAR?
[22:29:08 CEST] <tommy``> https://paste.ofcode.org/KW5qzxZhrdFUd8i5W5JfQ7
[22:30:06 CEST] <tommy``> Stream #0:0: Video: h264 (High), 1 reference frame, yuv420p(progressive, left), 1920x1080 (1920x1088) [SAR 675:896 DAR 75:56], SAR 180:239 DAR 320:239, 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
[22:30:18 CEST] <JEEB> alright, so it indeed is 1920x1080 but with a funky aspect ratio :)
[22:31:17 CEST] <JEEB> anyways, you can scale+pad if you need to squeeze it to sar 1:1 and then pad
[22:31:31 CEST] <JEEB> although to be honest I would keep it as-is unless you really need to start touching it
[22:31:44 CEST] <JEEB> if some plastic box needs sar 1:1, then it might be worth trying to re-encode it
[22:32:19 CEST] <tommy``> i want to change like this:
[22:32:21 CEST] <tommy``> Stream #0:0: Video: h264 (High), 1 reference frame, yuv420p(tv, bt709, progressive, left), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
[22:32:47 CEST] <JEEB> if the content is actually non 1:1 then you squeeze and pad. so two filters. scale and pad
[22:33:45 CEST] <tommy``> ffmpeg -i video.mkv -vf scale=1920x1080,setdar=16:9 output.mkv ?
[22:35:06 CEST] <DHE> doesn't mkv allow the container to specify an aspect ratio?
[22:35:21 CEST] <DHE> could this be fixed with an mkv-specific tool to just edit the mkv without transcoding?
[22:46:48 CEST] <JEEB> tommy``: if the content is actually 16:9 then just remux with 16:9
[22:46:56 CEST] <JEEB> in mkvmerge or so :p
[22:47:01 CEST] <JEEB> no need to re-encode
[22:50:13 CEST] <kepstin> if it's actually *supposed* to be 4:3 and you want to add black bars, then `-vf scale=1440:1080,setsar=1,pad=1920:1080:-1:0` should do that.
[23:01:49 CEST] <tommy``> kepstin with that command i have only a big black bar to the right and nothing to the left :o
[23:02:28 CEST] <kepstin> hmm, i might have misread the docs. use pad=1920:1080:240:0 then
[00:00:00 CEST] --- Mon Aug 5 2019
1
0
[11:22:51 CEST] <Guest48> Hey guys. I'm a developer, running into an issue with ffmpeg. Where would be right place for looking for answers on a more deeper level (watching raw RTSP data with ngrep and finding issues in comparison to libraries that do work with udp_multicast)?
[11:25:30 CEST] <Guest48> With VLC (connecting to same RTSP server) the data is virtually identical to the data exchanged by ffmpeg, while using udp_multicast, with the exception that I can see that ffmpeg does not request the URL I request rtsp://xx.xx.xx.xx/live.sdp append with ?TrackID=1, as where VLC does).
[11:29:28 CEST] <JEEB> Guest48: VLC utilizes live555 for the rtsp I think, while FFmpeg's libavformat has its own implementation based on the UDP/RTP things - I think in libavformat/rtsp.c
[11:30:17 CEST] <Guest48> Aight @JEEB, thanks. Hadn't tried HEAD yet, so let me give that a go first.
[11:31:07 CEST] <JEEB> Guest48: the command line application can list you the same AVOptions you will see in that C file with -h demuxer=rtsp . which is a bit messy but at least there's a way to list those AVOptions from the application as well :)
[11:31:42 CEST] <JEEB> also do note that it then probably utilizes the UDP protocol underneath, and that has its own options
[11:32:18 CEST] <JEEB> in other words, if you can access the UDP multicast stream with just the UDP protocol, you should then attempt to see if it's some specific option
[11:32:30 CEST] <JEEB> like source registration etc
[11:32:42 CEST] <JEEB> and if such flags are needed, look if you can pass them from the rtsp or rtp levle
[11:32:45 CEST] <JEEB> *level
[11:39:46 CEST] <Guest48> @JEEB; yeah, I hear you, but I have to ask the RTSP server to tell the switch that the data has to come to that specific client/IP. Beside of course I can request that in a different way, but then I have another problem, because that would mean I would need to give ffmpeg a lot of meta data about the stream, which is alright, but that doesn't seem to work too smoothly either: ffprobe -analyzeduration 0 -probesize 32 -framerate 25 -rtsp_transport
[11:39:47 CEST] <Guest48> tcp -i rtsp://10.10.10.144/live.sdp --> Option framerate not found ~~ cannot find anything at trac.ffmpeg.org, other than dating back to 2012 at the latest.
[11:40:18 CEST] <Guest48> Same thing happens when I add video_size; then it tells me that I *didn't* specify video_size.
[11:40:57 CEST] <JEEB> those options really aren't for that. what you are most likely later seeing is the fact that you didn't get any video packets
[11:41:13 CEST] <JEEB> thus the decoder was never able to initialize properly
[11:41:23 CEST] <Guest48> Well, it happens with rtsp_transport tcp as well.
[11:41:40 CEST] <JEEB> yes, then it just means that for whatever reason you're not getting the stream you think you are getting
[11:41:43 CEST] <Guest48> And it does work if I remove the low probesize and analyzeduration options.
[11:41:51 CEST] <JEEB> yes
[11:42:00 CEST] <JEEB> you need to probably read more than 32 bytes of data
[11:42:08 CEST] <JEEB> to initialize a H.264 or whatever decoder
[11:43:32 CEST] <Guest48> @JEEB, yeah, so that's exactly the challenge to beat here, because I am attempting to increase the start time by providing as much data as required, but it seems that it doesn't "like that" (which is unrelatedd to tcp_transport udp_multicast, by the way). ;)
[11:43:47 CEST] <Guest48> data=meta data*
[11:44:04 CEST] <JEEB> Guest48: that will not get you H.264 etc stream resolutions etc
[11:44:17 CEST] <JEEB> the framework itself will work without any data if you are trying to minimize the amount of read data
[11:44:25 CEST] <JEEB> not sure if the command line applications handle that though
[11:44:36 CEST] <JEEB> heck, in the API you can skip probing altogether
[11:44:49 CEST] <JEEB> keep reading packets and at some point you just have more data on your input stream parameters :P
[11:46:44 CEST] <JEEB> thus I have a feeling that you're probably misunderstanding the problem if you're trying to just feed a resolution and a frame rate to ffprobe to get it to show that info. it's the decoder state it's printing there
[11:47:04 CEST] <JEEB> the libavformat/libavcodec APIs work just fine without you probing first
[11:47:12 CEST] <JEEB> not sure if the command line apps do
[11:47:15 CEST] <Guest48> Yeah, please forgive me for the confusion; replace ffprobe with ffmpeg; same result.
[11:48:12 CEST] <Guest48> @JEEB; yeah, but I am developing on a "a little bit a" higher level language; so the API is not direct available me. ;)
[11:48:29 CEST] <Guest48> I was hoping I could "keep it simple". ;)
[11:48:40 CEST] <JEEB> anyways, this doesn't seem to be a FFmpeg itself development discussion
[11:48:46 CEST] <JEEB> so please let's move FFmpeg usage discussion to #ffmpeg
[11:48:55 CEST] <Guest48> Yeah, I gotcha.
[11:49:00 CEST] <Guest48> Thanks anyway, @JEEB.
[17:08:28 CEST] <thardin> the heck, got spam to a mostly dead email cribbed from ffmpeg commits
[17:08:47 CEST] <thardin> I guess it's not too unexpected
[17:12:09 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:b4bf7226aff2: avcodec/vp3: Check that theora is theora
[17:12:09 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:58c7f419ce75: avcodec/vp3: Check for end of input in vp4_unpack_vlcs()
[17:12:09 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:db6ed2b82864: avcodec/vp8: do vp7_fade_frame() later
[17:30:33 CEST] <durandal_1707> when new release is going to appear?
[17:31:06 CEST] <durandal_1707> also when irc bot will be fixed?
[17:33:50 CEST] <durandal_1707> if nothing happens soon, i will demand from current leader to sidestep from all its current positions
[17:35:16 CEST] <thardin> please send the codes
[17:35:59 CEST] <durandal_1707> codes of what?
[17:39:39 CEST] <Lynne> sssh, you got your double fft now
[17:40:30 CEST] <durandal_1707> yes, thank you very much, how to thank you?
[17:43:11 CEST] <Lynne> dunno, finish a decoder?
[17:43:36 CEST] <cone-715> ffmpeg 03James Almer 07master:0c7cfd2c1919: avformat/av1: add color config values to AV1SequenceParameters
[17:43:37 CEST] <cone-715> ffmpeg 03James Almer 07master:68e48e5d97c1: avformat/av1: split off sequence header parsing from the av1C writing function
[17:43:38 CEST] <cone-715> ffmpeg 03James Almer 07master:0d597a69bad6: avformat/av1: rename some AV1SequenceParameters fields
[17:43:39 CEST] <cone-715> ffmpeg 03James Almer 07master:9a44ec94100a: avformat/av1: combine high_bitdepth and twelve_bit into a single bitdepth value
[17:43:40 CEST] <cone-715> ffmpeg 03James Almer 07master:ce6a98e83061: avformat/dashenc: update stream extradata from packet side data
[17:43:41 CEST] <cone-715> ffmpeg 03James Almer 07master:1cf2f040e34b: avformat/dashenc: fix writing the AV1 codec string in mp4 mode
[17:43:47 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:7d74b36f1577: avformat/vividas: Check if extradata was read successfully
[17:43:48 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:171286f6a4fa: avformat/vividas: Check buffer size before allocation
[17:43:49 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:3addf0d4825b: avcodec/clearvideo: fix invalid shift in tile size check
[17:43:50 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:38f2ecc07be7: avformat/vividas: forward errors from track_header()
[17:43:51 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:97ae13ba240f: avformat/vividas: Check that value from ffio_read_varlen() does not overflow
[17:43:52 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:076dd1473b10: avcodec/interplayvideo: Avoid ff_get_buffer() during init
[17:44:14 CEST] <jamrial> michaelni: huh, a race
[17:44:29 CEST] <durandal_1707> ac4, imm5, siren? or something else?
[17:44:36 CEST] <michaelni> jamrial, seems so
[17:46:46 CEST] <nevcairiel> ac4
[17:47:35 CEST] <durandal_1707> it will not be complete as cant get samples with full coverage
[17:48:34 CEST] <durandal_1707> i could just finish last transform step that adds high spectrum audio data
[17:51:00 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:8e41675e1868: avformat/vividas: Check if extradata was read successfully
[17:51:01 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:c3ef24d9baf6: avformat/vividas: Check buffer size before allocation
[17:51:02 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:5dc94924d0fb: avcodec/clearvideo: fix invalid shift in tile size check
[17:51:03 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:8bac648359b7: avformat/vividas: forward errors from track_header()
[17:51:04 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:07357cd93355: avformat/vividas: Check that value from ffio_read_varlen() does not overflow
[17:51:06 CEST] <cone-715> ffmpeg 03Michael Niedermayer 07master:a3adc3b6a0a8: avcodec/interplayvideo: Avoid ff_get_buffer() during init
[20:15:33 CEST] <durandal_1707> anything new happened since i was missing?
[20:16:11 CEST] <Lynne> nope, but set up a repeater or a client somewhere
[20:16:31 CEST] <durandal_1707> that costs
[20:17:07 CEST] <Lynne> no old raspberry pi gathering dust?
[20:17:26 CEST] <durandal_1707> not that lucky
[20:19:13 CEST] <durandal_1707> all android irc clients sucks, consumes battery a lot
[20:21:35 CEST] <durandal_1707> so we still do not have volunteer for uploading stuff?
[20:23:43 CEST] <durandal_1707> i can do it, once i get back access to private key
[20:46:27 CEST] <Illya> jkqxz: do you know what happened to the Vulkan filtering stuff? Looks like atomnuker just stopped working on it?
[21:54:22 CEST] <Lynne> last I heard still no one had implemented that modifiers extension to import/export reliably that google sluggishly released
[21:55:13 CEST] <Lynne> oh and there was something about things working by luck or with tearing because there's no synchronization yet
[21:55:57 CEST] <durandal_1707> which filters you use not?
[22:30:52 CEST] <cone-378> ffmpeg 03Michael Niedermayer 07master:9af8ce754b70: avcodec/hnm4video: Forward errors of decode_interframe_v4()
[22:30:58 CEST] <Illya> durandal_1707: I didn't have any particular filters in mind but was just wondering since I've been looking a lot at vulkan lately
[22:31:27 CEST] <Illya> Lynne: ok thanks. I'll maybe take a look at it when I've finished my current work
[22:47:00 CEST] <Lynne> no need really, drm devs did implement a public interface to create semaphores that you can import/export to/from vulkan
[22:47:31 CEST] <Lynne> only problem: they're completely decoupled from anything else, objects, frames, etc.
[22:49:23 CEST] <Lynne> it was probably made for driver devs but if drm doesn't give you apis to bind from/to drm objects then what will?
[00:00:00 CEST] --- Sun Aug 4 2019
1
0
[00:19:57 CEST] <dastan> hello people
[00:20:11 CEST] <dastan> is it possible to accelerate a decklink (blackmagic) output with cuda?
[00:20:21 CEST] <dastan> is it possible to accelerate a decklink (blackmagic) output with cuda(nvidia)?
[00:25:53 CEST] <kepstin> dastan: decklink stuff is all raw video, not sure what you would use cuda for?
[00:26:31 CEST] <dastan> i want to hardware accelerate the decklink video insertion
[00:30:12 CEST] <BtbN> ...?
[00:30:15 CEST] <BtbN> That doesn't make sense
[00:33:49 CEST] <dastan> why?
[00:34:15 CEST] <dastan> i get this when i convert the video conversion in the normal way
[00:34:37 CEST] <dastan> (h264 (native) -> v210 (native))
[00:35:49 CEST] <dastan> is not possible to create this (h264_cuda -> v210 (native))
[00:36:27 CEST] <dastan> i am making the conversion from h264 with software, is it possible to convert it with hardware?
[00:37:52 CEST] <another> if your hardware supports h264 encoding
[00:38:18 CEST] <dastan> yes it supports
[00:38:22 CEST] <dastan> but how?
[00:41:49 CEST] <klaxa> huh, shouldn't that be decoding?
[00:42:29 CEST] <another> err, yeah. thx klaxa
[00:43:54 CEST] <klaxa> if you are lucky you can just use ffmpeg -c:v h264_cuvid -i some_h264.mkv
[00:44:08 CEST] <klaxa> if all the drivers are present and your ffmpeg is built with the correct support
[00:44:19 CEST] <klaxa> i think at least
[00:44:48 CEST] <klaxa> (see: ffmpeg -codecs | grep h264 and ffmpeg -help decoder=h264_cuvid)
[00:45:26 CEST] <another> and hope you have better luck than klaxa :D
[00:55:03 CEST] <dastan> i am looking in the nvidia-smi that i can only allocate 2 process because the memory is 210 MiB
[00:55:25 CEST] <dastan> i dont know if MiB is MB, but the card has 2GB
[00:56:01 CEST] <dastan> and nvidia is sending messages with an error saying is out of memory
[00:56:11 CEST] <dastan> where i can change the memory?
[03:09:30 CEST] <cmptr> :close
[03:14:35 CEST] <fred1807> how much power do I need in my VPS to proper streamg 1080p videos to rtsmp youtube, flawless ?
[03:33:05 CEST] <NubNubNub> kepstin FYI i tried the streamselect and it's working like a charm
[10:04:08 CEST] <machtl> hi guys!
[10:05:01 CEST] <machtl> how can i reuse an input with concat? i will post a pastebin afterwards
[10:08:01 CEST] <machtl> https://pastebin.com/1SBhV9XD
[10:09:00 CEST] <machtl> i want to reuse the input 1... also the problem is that i would need to "start" the input of the stream when the first filter starts (otherwise the trim wont work)
[10:11:20 CEST] <furq> [0:v]scale=1280x720:force_original_aspect_ratio=1,split=2[v0][v1]
[10:14:56 CEST] <furq> or even [0:v]scale=1280x720:force_original_aspect_ratio=1,split,concat[concatvideo]
[10:15:07 CEST] <furq> if i'm reading that filterchain right
[10:15:20 CEST] <furq> i have no idea about the trimming thing, i'm not sure why you'd want a fixed trim on a live input
[10:15:58 CEST] <durandal_1707> split,concat will eat lots of RAM if input is too long
[10:16:08 CEST] <furq> yeah you probably just want to use loop for that
[10:16:38 CEST] <furq> scale,loop=2
[10:17:02 CEST] <durandal_1707> loop also eats memory :) and that is invalid command for loop
[10:17:55 CEST] <durandal_1707> you better use concat demuxer with loop option and scale final output
[10:18:47 CEST] <durandal_1707> if input is not too long, say few seconds, it is fine to use split,concat
[10:19:09 CEST] <furq> i'm guessing it's more than that if the trim starts at 224 seconds
[10:20:18 CEST] <durandal_1707> for reusing long inputs you better use intermediate files
[10:20:29 CEST] <machtl> hmm yes its actually a bigger project
[10:23:25 CEST] <machtl> here is the bigger output: https://pastebin.com/CDGeNeyx
[10:23:35 CEST] <machtl> not output the ffmpeg commands
[10:24:56 CEST] <machtl> there are 2 things bothering me, 1 is that the "stream" aa0 doesnt start because of the trim (I/O Error) therefore i added the dummies (which dont help as well)
[10:26:19 CEST] <machtl> and the second is that i cant re-use the inputs
[10:27:30 CEST] <furq> well for the last part you want split/asplit
[10:27:36 CEST] <furq> i don't even know where to start with the rest of that
[10:31:02 CEST] <durandal_1707> whenever you reuse input with split, its better to store up to split intermediate file
[10:31:44 CEST] <machtl> furq: is it that bad :) ?
[10:31:48 CEST] <durandal_1707> and then instead of intermediate_file -vf split do -i intermediate_file -i intermediate_file twice
[10:33:01 CEST] <furq> it's mostly the trimming live inputs that concerns me
[10:33:16 CEST] <furq> you're going to end up buffering a ton of stuff waiting for that
[10:34:23 CEST] <machtl> yes, i couldnt find another option to have the input of the livestreams at the live position in the videos
[10:39:39 CEST] <machtl> i wouldnt need to do that if it is possible to "restart" the input of the livestream to the actuall live stream
[10:39:48 CEST] <machtl> position
[10:41:02 CEST] <machtl> and end when the mapped video is over
[11:34:17 CEST] <ocx32> hello community, so i am trying to create a kind of a bridge from WEBRTC to RTP, my question is can i take the SDP that is embedded in WEBRTC and use the same one for RTP or is it better to generate a new one? can the same SDP be used in the webrtc and RTP SDPpayload? Thanks
[12:44:29 CEST] <machtl> does someone know an icecast stream for testing which has an audioclock or counter or something?
[17:02:26 CEST] <lyncher3> hi. I'm trying to add metadata OBUs to a AV1 bitstream. What are the muxing guidelines?
[17:13:05 CEST] <dastan> hello
[17:14:36 CEST] <dastan> i want to ask where i can find documentation about the QSV flags....i have a document that mix filter complex with hwupload, scale_qsv and things like that but i dont find documentation about
[18:49:31 CEST] <tepiloxtl> Hey. Im trying to use ffmpeg with vaapi (for twitch streaming, but I think thats not important). Ive been basing my attempts on this github gist https://gist.github.com/Brainiarc7/7b6049aac3145927ae1cfeafc8f682c1 and ffmpeg docs https://trac.ffmpeg.org/wiki/Hardware/VAAPI. My problem is that I cant find a way to make my output even close to quality that I was achieving on Windows
[18:50:20 CEST] <tepiloxtl> Heres my command https://pastebin.com/Vf7x1kh3. My CPU is Intel i5-4460. Can I do anything to make quality better, or is it as optimal as it can be?
[18:51:34 CEST] <tepiloxtl> I was trying to use higher bitrate, but I need to stay around 6-10M for twitch. Trying to run with -qp 23 made bitrate quickly baloon up to 50M before my Pc locked up
[18:52:28 CEST] <fred1807> is it possible to breadcast many video files, without breaking the stream ?
[18:57:39 CEST] <tepiloxtl> This is one of the better results I achieved, but its still not exactly appetising to watch: https://www.twitch.tv/videos/461064865
[18:57:56 CEST] <HickHoward> uhh
[18:58:09 CEST] <HickHoward> so, i have some file with a "s302m" track
[18:58:30 CEST] <HickHoward> and i want to decode that s302m track without the result being one big noisy sound file
[18:58:37 CEST] <HickHoward> and idea as to how i can actually achieve this?
[19:05:02 CEST] <Spring> What is the 'Unique ID' metadata from WebMs as exposed in MediaInfo? Tried searching for 'webm "unique id"' but couldn't find exact answers
[19:05:42 CEST] <Spring> it's a long, random-looking string
[19:06:32 CEST] <Spring> I haven't observed it in WebMs I've downloaded but do see it in ffmpeg-transcoded ones I have
[19:08:59 CEST] <Mavrik> Spring, it seems to be just a kinda random number
[19:09:55 CEST] <Mavrik> Spring, it's not even a UUID/GUID so it's not unique at all :)
[19:10:59 CEST] <Spring> closest I got was this, which mentions TrackUID and other 'UID's but most is crossed out and the only current comment is the Track one should be '0', http://wiki.webmproject.org/webm-metadata/global-metadata
[19:11:43 CEST] <Mavrik> Spring, see https://www.matroska.org/technical/specs/index.html
[19:11:45 CEST] <Mavrik> FileUID
[19:11:57 CEST] <Mavrik> And source: https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/matroskaenc.c#L1794
[19:12:08 CEST] <cehoyos> HickHoward: It is most likely Dolby-E, there is a patch on the development mailing list that may allow to decode the audio.
[19:12:41 CEST] <cehoyos> But you forgot to provide the complete, uncut "ffmpeg -i" console output
[19:12:53 CEST] <Spring> interesting, at least I know what it's for
[19:13:11 CEST] <Spring> (now)
[19:13:31 CEST] <Mavrik> (webm is essentially matroska/mkv so it uses the same codepath on ffmpeg)
[19:13:45 CEST] <Mavrik> That's probably the reason why you see structures not supposed to be added to webm in there :)
[19:15:19 CEST] <JEEB> I guess we need a similar thing like in movenc for a mode/profile?
[19:15:29 CEST] Action: JEEB doesn't remember if that already exists
[19:19:12 CEST] <HickHoward> here's the "complete, uncut" console output
[19:19:12 CEST] <HickHoward> https://pastebin.com/TgnFEhLN
[20:11:31 CEST] <Ua-Jared> Hey all, I was here yersterday asking this question so tell me to go away if I'm getting annoying, haha. My problem is that I'm trying to use ffmpeg to decode an H.264 stream from a camera. I like using ffmpeg for this purpose because it'll use my GPU somewhat for better performance (with the -hwaccel flag set). Anyways, my problem is that I then w
[20:11:31 CEST] <Ua-Jared> ant to process these decoded, uncompressed images in my Java program. I tried piping the output of ffmpeg into my Java program, but I can't seem to get it to work. The command I used was ./ffmpeg -hwaccel dxva2 -threads 1 -loglevel verbose -i "rtsp://admin:admin@192.168.15.20/media/video2" -f matroska pipe:1 | java Test , and my Java program loo
[20:11:32 CEST] <Ua-Jared> ks like this (just reads from stdin) https://pastebin.com/ycevPw8i
[20:11:36 CEST] <Ua-Jared> To be honest I don't even know if I'm approaching this right. Fundamentally I'm just trying to use ffmpeg to do some gpu-accelerated decoding of the H264 stream, and then somehow further process the decoded images in my Java program. Is there some other way I should do it?
[20:19:44 CEST] <kepstin> Ua-Jared: the overhead of handling the pipe and decoded frames is probably not worth it just to get hardware decoding going, unless you're *really* limited on cpu core count or power :/
[20:20:40 CEST] <kepstin> in your example ffmpeg command, ffmpeg would actually be re-encoding the stream (using a software encoder) to h264 in matroska, which is definitely not what you want
[20:21:28 CEST] <kepstin> and of course video data is binary, not text, so you'd want to be using binary read/write methods on the System.in io object.
[20:22:47 CEST] <kepstin> i'd recommend either figuring out how to get hardware decoding working with javacv, or switch to a different language that can use libavcodec,etc. directly.
[20:23:26 CEST] <kepstin> if you're really set on java, you can write a libavcodec wrapper that does all the c bits and provides a simple interface then use that from jni I guess?
[20:24:53 CEST] <kepstin> You can get raw video going through pipes fine - indeed, I've done it for some applications (a python script that generates video, sent to an external ffmpeg to encode) - but it requires careful buffer handling since pipe buffers aren't normally big enough to hold an entire raw video frame so you get a lot of blocking io :/
[20:24:57 CEST] <kepstin> at least on linux.
[20:25:30 CEST] <DHE> yeah I did something like that back in the day with mencoder and some HUGE -buffer -and -audio-buffer values...
[20:25:48 CEST] <Ua-Jared> kepstin: dang, I was wondering about that too :( . And dang! I should have understood what that command was doing. To be honest I'm still a total noob about all thing video, but I have read enough to start understanding it (I think). I know the video files are called "containers", and I know inside the containers are the video data (encoded by some
[20:25:49 CEST] <Ua-Jared> format) and audio data (encoded by some format). And I know some containers (eg,.mp4) will only allow certain types of encoded video (eg, h.264). So that makes sense that matroska container would need *some* video format for the data inside, and ffmpeg just uses h264. And yeah, I do understand that the binary from that pipe definitely wasn't goin
[20:25:49 CEST] <Ua-Jared> g to print right as characters :P .
[20:25:51 CEST] <kepstin> with my python script, I ended up buffering inside python and having threaded io handlers.
[20:26:16 CEST] <kepstin> matroska can hold some types of raw video iirc
[20:26:16 CEST] <furq> Ua-Jared: ffmpeg defines default codecs for every container
[20:26:24 CEST] <furq> so if you don't explicitly set one then it'll use those
[20:26:25 CEST] <kepstin> but if you don't specify a codec, ffmpeg picks one
[20:26:45 CEST] <kepstin> in general, you always want to explicitly specify the codec.
[20:26:53 CEST] <kepstin> the defaults have even changed between ffmpeg versions :)
[20:28:02 CEST] <kepstin> Ua-Jared: note that matroska is a complicated format, and is kind of hard to demux to get the video frames in your java code later. That's why we recommended you use "yuv4mpeg", which is a *super* simple format designed just to transfer raw video between applications.
[20:28:15 CEST] <furq> well i assume there's a matroska demuxer for java out there, but yeah
[20:28:20 CEST] <furq> y4m is simple enough to parse by hand in a few lines of code
[20:28:30 CEST] <Ua-Jared> And Thank you for the tip about further approaches! I think those are really good directions to go. I think I'm going to try to see if I can't get OpenCV to do the GPU decoding somehow. I'd like to be able to call ffmpeg source libraries in C, but JNI is rather scary, lol. Or at least it is from what I've seen of it
[20:28:47 CEST] <furq> https://wiki.multimedia.cx/index.php/YUV4MPEG2
[20:28:53 CEST] <Ua-Jared> (I know OpenCV uses ffmpeg on the backend, there's gotta be a way to do it)
[20:29:24 CEST] <Ua-Jared> Thank you furq! If I end up going the "pipe the output of ffmpeg into my Java program" route, I'll use y4m for a container
[20:29:55 CEST] <kepstin> you can also send raw video without any container, but it's harder to work with. the benefit of y4m is that it passes the video resolution, pixel format, etc. in headers.
[20:30:25 CEST] <furq> i guess you'd want to avoid java demuxers anyway if you have tight constraints on input buffer size
[20:30:39 CEST] <furq> since you probably won't have any control over how they're doing that
[20:32:14 CEST] <Ua-Jared> So just to make sure I'm thinking about this all right, when we say "raw video", we mean pure decoded and uncompressed video right? Like as I understand it, something like h264 encoded video as basically a series of "base images", and then it just stores deltas / changes in the image from there. So it requires some decoding to play on screen, becau
[20:32:15 CEST] <Ua-Jared> se it's not simply storing image after image. Would "raw video" for the video format in a container mean that the video data is really truly just image after image? I know it's uncommon and that videos are almost always compressed for storage, but just trying to get my head conceptually around it all
[20:33:33 CEST] <furq> yes
[20:33:37 CEST] <furq> it's just a stream of raw bitmap data
[20:33:39 CEST] <Ua-Jared> Because I think that "raw video" is basically what I want; just plain images to pass to Java. Apologies for my ignorance, I know it's more complicated than a 2d matrix of pixel values, but that's just how I've conceptualized it lol
[20:34:13 CEST] <Ua-Jared> Aww sweet! Ok so I have got the basics. So the raw video would be stupid large in file size (compared to say h264), but very easy to process
[20:34:15 CEST] <furq> so if you know what the frame size is (i.e. you know the dimensions, pixel format etc) then that is all you need
[20:34:38 CEST] <furq> y4m is nice if you don't know those in advance because it'll tell you those in the header
[20:34:58 CEST] <furq> and then after that you more or less just get a rawvideo stream but with markers between every frame
[20:36:07 CEST] <Ua-Jared> Awesome. So how would you tell ffmpeg to use y4m for the container format, and then "raw video" for the underlying video data inside that container?
[20:36:26 CEST] <furq> you don't need to set the codec for y4m, it can only use rawvideo
[20:36:32 CEST] <furq> so just -f yuv4mpegpipe
[20:37:25 CEST] <durandal_1707> video is 3d matrix
[20:39:32 CEST] <Ua-Jared> Ahh ok, that makes sense. Thank you furq. My gameplan going forward is a) try to research OpenCV further, and if I can't tell it (somehow) to use hwaccel with ffmpeg. And then b)maybe investigate this piping option further, taking care about large buffers and to use y4m for container format. And also keeping in mind all this might kill the added pe
[20:39:32 CEST] <Ua-Jared> rformance anyway. And then finally c)writing some JNI bidnings to call the underlying C code for ffmpeg in my Java program
[20:43:11 CEST] <furq> http://bytedeco.org/javacv/apidocs/org/bytedeco/javacv/FFmpegFrameRecorder.…
[20:43:16 CEST] <furq> maybe this
[20:43:36 CEST] <furq> and setVideoCodec(AV_PIX_FMT_DXVA2_VLD)
[20:46:58 CEST] <Ua-Jared> That actually looks super promising, I will give that a shot! Thanks for the link. I had actually just been using the "pure" OpenCV wrapper for Java, not JavaCV. I'll definitely give JavaCV a shot (I know it's kinda just a wrapper for OpenCV, but still, haha)
[20:48:09 CEST] <furq> nvm that's not a thing. i should stop listening to stackoverflow
[20:49:15 CEST] <Ua-Jared> Lol, my life for the past few days summarized. It's hard for me to keep track of all these technologies lol, JavaCV using OpenCV using FFmpeg, pretty rad.
[20:52:31 CEST] <Ua-Jared> Here's the Java 8 code I have that works pretty well, by the way. Uses the OpenCV 4.1.0 wrappers . https://pastebin.com/iUFUiWQc . I just need to figure out how to get it to use CPU :) . But it's actually MORE responsive than VLC, which kinda shocked me (i.e., less latency). But it uses more of my CPU and no GPU, whilst VLC only uses a little CPU
[20:52:32 CEST] <Ua-Jared> and some of my GPU
[00:00:00 CEST] --- Fri Aug 2 2019
1
0