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
December 2017
- 1 participants
- 62 discussions
[00:00:56 CET] <atomnuker> daddesio: I'm still doubting the decoder is correct, after that fiasco
[00:01:20 CET] <atomnuker> can you check the opus decoder does the same the reference does, minus rounding error?
[00:01:20 CET] <daddesio> are you talking about my RFC6716 patches?
[00:01:23 CET] <atomnuker> yeah
[00:01:34 CET] <daddesio> I think the Opus decoder was never RFC6716-compliant to begin with.
[00:01:44 CET] <daddesio> sadly elenril has been away due to finals
[00:02:16 CET] <daddesio> I only did the SILK decoding functions back in 2012; elenril picked up after me.
[00:06:41 CET] <cone-349> ffmpeg 03Jun Zhao 07master:a31a48261164: lavc/vaapi_encode: give a debug message if attrs unsupported.
[00:07:47 CET] <daddesio> here's what I got when I ran opus_compare on the avconv/ffmpeg output on Dec 07:
[00:07:49 CET] <daddesio> 17:20 <daddesio> here is the script I ran: https://pastebin.mozilla.org/9074295
[00:07:51 CET] <daddesio> 17:21 <daddesio> and output: https://pastebin.mozilla.org/9074296
[00:08:18 CET] <daddesio> Basically it passes only 10 of the 12 test vectors--and even then, the calculated "Opus quality metric" is pretty low most of the time.
[00:09:39 CET] <daddesio> When you open the decoded files in Audacity, it basically looks like there are random time-shifts in our output, compared to the libopus output.
[00:09:48 CET] <daddesio> idk
[00:09:58 CET] <atomnuker> I don't care about silk, just celt
[00:10:16 CET] <daddesio> It nails the first test, which I think is SILK-only.
[00:10:22 CET] <daddesio> er, CELT-only maybe
[00:10:36 CET] <atomnuker> the output is 90%+ compliant, so same as reference (which is also not 100% compliant, lol)
[00:10:56 CET] <daddesio> a lot of the outputs are like 17% or 6%
[00:11:28 CET] <atomnuker> the error is probably due to the resampler
[00:11:33 CET] <atomnuker> (ours is better)
[00:11:36 CET] <daddesio> ah :p
[00:11:58 CET] <daddesio> is it worth investigating?
[00:13:36 CET] <atomnuker> dunno, when does the resampler run on celt?
[00:13:41 CET] <atomnuker> always or only on hybrid mode
[00:16:28 CET] <daddesio> looks like CELT supports NB to FB audio.
[00:16:39 CET] <daddesio> https://tools.ietf.org/html/rfc6716#section-2
[00:22:14 CET] <atomnuker> that only adjusts the end band, not the samplerate, its always 48000hz in celt
[00:47:59 CET] <daddesio> ah
[00:48:22 CET] <daddesio> then in theory, only SILK should need resampling to 48kHz, before finally resampling to the user-requested sampling rate.
[03:56:22 CET] <cone-421> ffmpeg 03Stefan Pöschel 07master:c94b09485811: configure: Fix case of static libmp3lame
[04:10:42 CET] <wm4> durandal_1707: did you give up on the J pixfmt crap?
[04:10:50 CET] <wm4> (that is, crap removal)
[04:28:18 CET] <TimothyGu> I remember J pixfmt cleanup as one of the first patches I sent to FFmpeg...
[04:33:21 CET] <wm4> well they're still here, and we're sort of trying to get rid of them
[12:44:28 CET] <Chloe> why does av_bsf_next() use a pointer as a integer counter?
[12:44:53 CET] <Chloe> void** instead of just int*
[12:47:47 CET] <Chloe> atomnuker: were you planning on removing linked lists without changing the API? There still has to be some internal state unless you want to iterate all the items every single avcodec_next call, right?
[12:48:10 CET] <atomnuker> yes, the API can't change
[12:48:47 CET] <atomnuker> we can change how lists are done internally though
[12:49:04 CET] <atomnuker> you're free to add an api to avoid having an internal state, we could deprecate the old one
[12:49:46 CET] <Chloe> the reason bsf is able to do lists as arrays internally is because of the external api from what I can see
[12:50:16 CET] <Chloe> it passes in the state every av_bsf_next() call
[13:05:41 CET] <durandal_1707> what about filter that reports if input is vfr or cfr?
[13:09:04 CET] <Chloe> are you looking for filter ideas?
[13:09:56 CET] <durandal_1707> yes
[13:12:51 CET] <Compn> durandal_1707 : filter idea https://trac.ffmpeg.org/ticket/2104
[13:13:35 CET] <durandal_1707> Compn: if you want to get sued? sure
[13:14:05 CET] <Compn> durandal_1707 : this filter would be used far and wide, you would be a hero to these people
[13:14:18 CET] <durandal_1707> and in jail
[13:14:23 CET] <Compn> no jail
[13:15:15 CET] <durandal_1707> docs that describes how to implement it is hidden very badly
[13:15:16 CET] <atomnuker> I think the lgpl gets us out of jail (or having to move to china)
[13:16:55 CET] <Compn> durandal_1707 : use scene detection from automatic commercial removing algorithms, then add contrasting colors in a short amount of time
[13:17:43 CET] <Compn> durandal_1707 : or try just change the white flash to a black fade out
[13:18:15 CET] <durandal_1707> but it is not what paper describe
[13:19:13 CET] <Compn> if you just want to implement other work
[13:19:18 CET] <Compn> then port avisynth filters :P
[13:19:31 CET] <Compn> just the top10 popular ones
[13:38:40 CET] <durandal_1707> so does it make sense to do such filter or not? i do not want to nicolas come around saying its no go
[13:39:23 CET] <Chloe> durandal_1707: what about a shader filter?
[13:40:40 CET] <atomnuker> no, I'm doing that one
[13:42:35 CET] <durandal_1707> Chloe: are you against vfrdet filter?
[13:43:11 CET] <Chloe> what's the point of it?
[13:43:21 CET] <kierank> durandal_1707: how can you detect vfr
[13:43:26 CET] <Chloe> what can you do if you know if it's vfr/cfr
[13:43:29 CET] <kierank> you can have 100000 cfr frames and 1 vfr frame
[13:43:48 CET] <kierank> also what is the duration of the last frame
[13:46:07 CET] <durandal_1707> last frame is not used
[13:48:03 CET] <durandal_1707> kierank: how one guess video is cfr/vfr by inspecting timestamps?
[13:48:13 CET] <kierank> measure delta
[13:48:18 CET] <kierank> if delta is constant then cfr
[13:48:27 CET] <kierank> but obviously you have problems with 720p59.94 in mpegts and similar
[13:48:29 CET] <kierank> because of 90khz
[13:48:35 CET] <kierank> and ntsc in flv
[13:49:49 CET] <durandal_1707> kierank: what delta do these cases have?
[13:49:56 CET] <kierank> they jitter
[13:50:01 CET] <kierank> because of lack of timestamp precision
[13:50:08 CET] <kierank> can't remember the exact numbers
[13:50:11 CET] <durandal_1707> by 1?
[13:50:12 CET] <kierank> 1505/1506 or whatever
[13:50:13 CET] <kierank> yes
[14:05:57 CET] <cone-732> ffmpeg 03Paul B Mahol 07master:cfd52094c027: avfilter/vf_psnr: add more gbrap formats
[17:54:58 CET] <wm4> Chloe: just subtract pointers to get an index
[18:07:40 CET] <Chloe> wm4: I did think about that but I thought it was a dirty solution, if you think it's alright then I guess it's fine
[18:11:52 CET] <wm4> it's the only solution that avoids mutable data
[22:41:14 CET] <cone-732> ffmpeg 03sfan5 07master:05c1c79d3779: libavcodec/hevcdec: implement skip_frame
[22:41:15 CET] <cone-732> ffmpeg 03Sasi Inguva 07master:58a25aeb8e69: lavf/mov.c: Guess video codec delay based on PTS while parsing MOV header.
[00:00:00 CET] --- Thu Dec 21 2017
1
0
[00:06:14 CET] <alexpigment> hey all of you not-lawyers. do you know if VIA's AAC licensing is for encoding, or encoding + decoding?
[00:07:29 CET] <TheRock> where are you from alexpigment?
[00:07:56 CET] <alexpigment> US
[00:10:32 CET] <TheRock> Ah, ok . In my country software patents are illegal.
[00:10:38 CET] <TheRock> I wouldn't need licensing :P
[00:11:22 CET] <alexpigment> well, I think you should be able to make money off of your software patents, although clearly the US has a bunch of problems with dealing with patents
[00:11:35 CET] <alexpigment> anyway, no worries
[00:11:45 CET] <alexpigment> just trying to read between the lines on this VIA licensing
[00:12:08 CET] <alexpigment> very legalese as expected
[00:12:09 CET] <TheRock> i'd pay anyway
[00:12:21 CET] <alexpigment> you'd pay what?
[00:12:34 CET] <TheRock> when i would use for example h264, i'd contact them and pay
[00:12:46 CET] <TheRock> although the patent is not valid in my country
[00:13:07 CET] <alexpigment> well, h264 has a minimum number of units that most companies don't hit
[00:13:46 CET] <alexpigment> aac doesn't have a minimum number of units
[00:14:38 CET] <TheRock> yeah, then you would need to pay from begin
[00:15:07 CET] <TheRock> mpeg-la (I guess) has 100k ilmit yearly, after that you need pay
[00:15:17 CET] <alexpigment> right
[00:15:23 CET] <alexpigment> 100k is a lot
[00:15:34 CET] <TheRock> definitely, but if you share you software online as trial
[00:15:41 CET] <TheRock> you can hit it fast
[00:15:58 CET] <alexpigment> yeah, a lot of people disable that sort of functionality
[00:16:06 CET] <alexpigment> or at least track trial usage
[00:16:20 CET] <TheRock> that stuff is mostly available in the paid version
[00:16:32 CET] <TheRock> so they are within the free limit
[00:18:17 CET] <TheRock> they couldn't sue me in my country, if i ignore it. but they may come with the argument it was used by US computer so US law applies
[00:18:25 CET] <TheRock> :]
[00:42:43 CET] <SortaCore> if they have enough money, they could sue you in any country
[09:28:26 CET] <Clinton> downloading a video with ffmpeg is taking way too long
[09:29:18 CET] <Clinton> a m3u8 playlist
[09:53:20 CET] <SortaCore> Clinton: as opposed to downloading it how?
[09:53:28 CET] <SortaCore> maybe youtube-dl will be faster?
[09:54:42 CET] <Clinton> ffmpeg -i link.m3u8 -c copy video.mkv SortaCore
[09:59:11 CET] <furq> youtube-dl just uses ffmpeg for hls anyway
[09:59:27 CET] <furq> it pretty much just finds the playlist url and then passes it to the ffmpeg binary
[09:59:58 CET] <furq> Clinton: if you can't get it faster with some other tool then chances are the httpd is just rate limiting it
[10:00:35 CET] <furq> i know a few hls vod providers that do that
[10:01:49 CET] <Nacht> Its good to know we've come to an age where we actually have to rate limit video downloads :)
[10:03:54 CET] <bencoh> :)
[10:50:15 CET] <dragmore88> hi! im doing some archiving benchmarks with a 422-10bit pro-res source and x264 crf 10bit 422 target, and the results look excellent.. But, the ssim and psnr values are way off.. SSIM: 0.89ish and psnr avg. 31.6.. anyone know why ?
[10:51:09 CET] <dragmore88> Could it be that -lavfi ssim/Psnr calculator doesnt support 10bit or 4:2:2 chroma?
[10:51:47 CET] <dragmore88> Cause a 31.6 psnr avg value should show crap on the screen, and the screening is excellent
[11:04:20 CET] <durandal_1707> dragmore88: pastebin full output uncut
[11:05:02 CET] <durandal_1707> ffmpeg command lines
[11:05:18 CET] <dragmore88> sure; check this post : https://forum.doom9.org/showthread.php?p=1827842#post1827842
[11:05:22 CET] <dragmore88> put em all there
[11:05:32 CET] <dragmore88> scratching my head on this one
[11:06:01 CET] <dragmore88> any help apriciated
[11:08:11 CET] <durandal_1707> dragmore88: but ffmpeg output is most important
[11:08:41 CET] <dragmore88> encoding output or ssim/psnr calc ?
[11:09:03 CET] <durandal_1707> the ffmpeg output in console, text
[11:10:15 CET] <dragmore88> sec, ill give u 2 examples
[11:13:16 CET] <dragmore88> https://pastebin.com/Ckf0BNRf
[11:13:22 CET] <dragmore88> thats from the calculation
[11:15:57 CET] <dragmore88> https://pastebin.com/Xv2MbXbB
[11:16:06 CET] <dragmore88> from the encode
[11:16:19 CET] <dragmore88> let me know if u need any more examples
[11:19:10 CET] <furq> dragmore88: x264 tends to score poorly on psnr/ssim if you leave psy optimisations on
[11:19:39 CET] <furq> if you have a build with libvmaf you might want to use that instead
[11:19:44 CET] <furq> !filter libvmaf
[11:19:44 CET] <nfobot> furq: http://ffmpeg.org/ffmpeg-filters.html#libvmaf
[11:20:33 CET] <dragmore88> furq: i agree in general, but ive used this method before with 8bit and 4:2:0 and gotten very good ssim and psnr scores
[11:20:49 CET] <dragmore88> ssim 0,89 is terrible
[11:21:10 CET] <dragmore88> and when im watching the result, i cannot see any difference..
[11:21:20 CET] <dragmore88> gonna do a test with x265 now
[11:21:22 CET] <illegal> how come I can't see stream size in mediainfo whenever I mux with ffmpeg?
[11:21:48 CET] <illegal> I wonder how does mediainfo even get the stream size to begin with
[11:23:49 CET] <termos> A good way to not let the `idet` filter run forever but just on the first say 500 frames? I tried with something like `idet=-1:-1:0:0:500` to make it run only on the first 500 frames, but it seems it's not detecting correctly
[11:24:55 CET] <furq> termos: if you mean run on 500 frames and then stop processing, then use -t
[11:24:56 CET] <durandal_1707> dragmore88: perhaps its because pts get messed up
[11:25:43 CET] <termos> I want to keep processing, just want to save CPU on running idet for the whole duration
[11:25:53 CET] <furq> https://ffmpeg.org/ffmpeg-filters.html#Timeline-editing
[11:26:06 CET] <furq> hopefully idet supports that
[11:26:50 CET] <dragmore88> durandal_1707: hmm. please elaborate
[11:28:01 CET] <termos> ah timeline editing looks really cool, didn't know about that! unfortunately idet does not support it
[11:31:41 CET] <durandal_1707> dragmore88: use setpts filter on each input before passing to ssim filter
[11:32:28 CET] <durandal_1707> are both outputs cfr?
[11:33:40 CET] <dragmore88> durandal_1707: would u be so kind to provide the syntax for setpts? and all outputs are CRF yes (or did u mean something else with cfr?
[11:34:08 CET] <durandal_1707> dragmore88: constant frame rate
[11:34:46 CET] <dragmore88> havnt touched the setting
[11:34:50 CET] <dragmore88> running default
[11:35:54 CET] <durandal_1707> dragmore88: run master file like this: ffmpeg -i master -f null -
[11:36:08 CET] <durandal_1707> and report ffmpeg console output
[11:37:32 CET] <dragmore88> https://pastebin.com/XSbD6E0c
[11:42:51 CET] <durandal_1707> dragmore88: extract for example 200th frame from both files, are they same shot?
[11:44:02 CET] <dragmore88> durandal_1707: ill check (need to figure the syntax), btw, did the same test in x265, same problem
[12:30:23 CET] <durandal_1707> dragmore88: i seem cant repro this, and rgb you uploaded are almost same and give high score
[13:36:24 CET] <ubitux> /g 19
[15:29:14 CET] <wtiger> Hi! how do I record the audio being outputted to the speakers via ffmpeg?
[15:29:26 CET] <wtiger> can I do it solely with ffmpeg?
[15:36:54 CET] <SortaCore> yes
[15:38:44 CET] <SortaCore> wtiger: https://trac.ffmpeg.org/wiki/Capture/Desktop#Windows
[15:40:09 CET] <wtiger> SortaCore: want to capture only the audio and not the desktop
[15:40:20 CET] <SortaCore> yes, use logical deduction
[15:40:55 CET] <SortaCore> ffmpeg -f dshow -i video="screen-capture-recorder" output.mkv is video
[15:40:55 CET] <wtiger> haha
[15:41:02 CET] <SortaCore> ffmpeg -f dshow -i video="UScreenCapture":audio="Microphone" output.mkv is both
[15:41:22 CET] <SortaCore> logically, deduct one from the other, you get ffmpeg -f dshow -i audio="Microphone" output.mkv
[15:41:32 CET] <SortaCore> (but mkv is video format so not ideal)
[15:42:04 CET] <wtiger> SortaCore: gotcha
[15:42:14 CET] <SortaCore> test if that works, I've not used it
[15:42:21 CET] <SortaCore> I'm just being sassy because I'm tired
[15:53:44 CET] <garyserj> given two files, both have container mpeg4, video codec AVC, audio codec AAC. One is .mp4 one is .3gp What is the difference?
[16:00:11 CET] <Nacht> garyserj: the container
[16:00:42 CET] <JEEB> garyserj: 3gp and mp4 are subsets of ISOBMFF
[16:01:34 CET] <JEEB> so you have a specification that says "ISOBMFF with identifier XXXX can use the following features"
[16:01:58 CET] <JEEB> ISOBMFF is of course "ISO Base Media File Format", which itself bases on MOV
[16:46:43 CET] <dave0x6d> Exception (St13runtime_error): Failed to read frame: Invalid data found when processing input
[16:47:41 CET] <dave0x6d> Getting that on a h264 file.
[16:47:48 CET] <dave0x6d> Also, I see: [mov,mp4,m4a,3gp,3g2,mj2 @ 0x61b00001f180] stream 0, offset 0x30: partial file
[16:50:40 CET] <kepstin> dave0x6d: most mp4 files store some important data at the end, so if the file is incomplete, you can't decode it
[16:52:47 CET] <dave0x6d> kepstin: hmm. It works with ffmpeg on macOS.. Odd.
[16:53:24 CET] <kepstin> are you sure it's the same file / that it copied completely between os?
[16:54:22 CET] <dave0x6d> yeah, both have 18263ee610994deb429e66d3e40e1fb4 as their hash.
[16:56:14 CET] <dave0x6d> kepstin: https://paste.debian.net/hidden/1228b62b/
[16:57:58 CET] <kepstin> dave0x6d: ok, so it works in ffmpeg - what's this "recode" thing?
[16:58:13 CET] <dave0x6d> https://github.com/dropbox/avrecode
[16:58:14 CET] <garyserj> thanks. Also, I understand there are certain codecs that are certain valid combinations of codec for example MPG container can have MPEG1 Video, and MP2 audio. Mp4 can have video codecs of x264 or xvid, and audio codec of aac or mp3. Is there anywhere that lists these?
[16:59:51 CET] <kepstin> dave0x6d: looks like a bug in that tool - i suspect that it doesn't implement seekable input correctly.
[17:00:22 CET] <kepstin> dave0x6d: a workaround might be to remux the file to be streamable before using that tool on it, e.g. do "ffmpeg -i file.mp4 -c copy -movflags faststart file-streamable.mp4"
[17:00:44 CET] <dave0x6d> kepstin: i'm pretty new to codecs, aren't all h264 streams seekable?
[17:01:12 CET] <kepstin> dave0x6d: it would be a problem with the code in the tool, not the file itself.
[17:01:54 CET] <kepstin> since regular mp4 files have important info at the end of the file, you have to seek to the end of the file, read the info, then seek back to the start.
[17:02:26 CET] <kepstin> if the tool's not set up right, then ffmpeg will say "hey, can I get the data from the end", the tool goes "i don't know how to do that", then ffmpeg gives up.
[17:03:05 CET] <kepstin> the command example I gave with "-movflags faststart" works around that by moving the important info to the front of the file.
[17:03:29 CET] <dave0x6d> ahh, thanks! Running into a new issue; definitely not ffmpeg's fault now, but do you have any more workaround suggestions? :) https://github.com/dropbox/avrecode/issues/2
[17:04:05 CET] <kepstin> dave0x6d: no idea about that. I suggest contacting them about it.
[17:04:54 CET] <dave0x6d> er, already have? hence it being on github :p
[17:05:19 CET] <kepstin> dave0x6d: well, then you should provide a sample like they asked for :)
[17:10:31 CET] <dave0x6d> kepstin: heh, you're probably more experienced with ffmpeg than some of the devs there
[17:10:51 CET] <kepstin> that's not ffmpeg code tho
[17:11:06 CET] <kepstin> that's a problem with their internal code that does the h264 recompression stuff
[17:11:21 CET] <dave0x6d> yeah, but they're choking on ffmpeg output it seems.
[17:11:43 CET] <dave0x6d> https://github.com/dropbox/avrecode/blob/0749548cc337c59933da84063c1edc97ac…
[17:12:08 CET] <kepstin> well, x264 output, not ffmpeg output
[17:12:19 CET] <kepstin> which is weird, considering how common of an encoder x264 is
[17:12:40 CET] <kepstin> maybe this tool is just intended for recompressing stuff made by hardware encoders (phones & whatnot)
[17:13:04 CET] <kepstin> x264 is such a good encoder that the gains would be miniscule anyways
[17:14:01 CET] <dave0x6d> I know, but seems fun to try, no? :)
[17:14:30 CET] <kepstin> who knows, it might work if you purposefully run x264 in a non-optimal mode, like limiting it to baseline or something
[17:15:24 CET] <dave0x6d> yeah, my use-case was compressing h264 videos that I didn't encode myself.
[17:17:10 CET] <khali> hello everybody
[17:17:41 CET] Action: dave0x6d blindly comments out asserts
[17:18:19 CET] <khali> I have an h.264 video with 2 aspect ratios, one at the video stream level, one at the container level; the one at video stream level is correct, the one at container level is bogus
[17:18:54 CET] <khali> can I convince ffmpeg to copy that video stream but ignore the container-level aspect ratio information?
[17:19:45 CET] <kepstin> khali: using the '-aspect' output option in ffmpeg along with '-c copy' should allow you to override the container-provided aspect when rewriting the file.
[17:25:06 CET] <dave0x6d> kepstin: sadly seeing a 0% difference on my working samples ;P
[17:33:37 CET] <khali> kepstin: you're a genius :-) thank you very much!
[17:36:14 CET] <khali> I was looking for an option to explicitly remove the aspect, but simply setting the container aspect to the same as the video stream aspect does the trick :-)
[17:36:28 CET] <khali> as it turns, "-c copy" wasn't even needed
[17:36:47 CET] <kepstin> without -c copy, it'll do a lossy re-encode of the video, which I wouldn't recommend
[17:36:55 CET] <kepstin> (unless that's what you wanted to do)
[17:37:30 CET] <khali> not at all
[17:37:51 CET] <khali> but -codec:v copy -codec:a copy was already on my command line
[17:38:41 CET] <khali> sorry I should have mentioned that before; then I though -c was for container level but it's not, just it was the same I was already doing
[17:39:08 CET] <khali> I didn't know the -c shortcut, thanks for teaching me that as well :)
[17:47:10 CET] <dave0x6d> kepstin: off topic, but hey fellow ottawa person.
[17:47:45 CET] <kepstin> heh, you found my website, i guess? cheers :)
[17:51:04 CET] <khali> and now I still have one last mystery to solve: how can avidemux produce a file 25% smaller than my ffmpeg command line, for the same x264 codec and version, same x264 tuning settings, same frame rate, same resolution... same everything
[17:51:09 CET] <dave0x6d> kepstin: yea, your github profile photo looks like carleton or uOttawa chairs?
[17:51:17 CET] <khali> this makes no sense and is getting me crazy :(
[17:52:38 CET] <kepstin> dave0x6d: yeah, that was a lounge in one of the carleton science buildings.
[17:53:24 CET] <kepstin> khali: hmm. pixel format the same? a file in e.g. 4:2:2 or 4:4:4 will usually be bigger than 4:2:0
[17:54:27 CET] <khali> kepstin: yuv420p for both, yes
[17:54:53 CET] <kepstin> both files have audio? :)
[17:55:34 CET] <dave0x6d> kepstin: ah yes, computer science society lounge :)
[17:55:54 CET] <khali> kepstin: yes, the difference is on the video stream size only
[17:56:25 CET] <khali> I looked for differences using mediainfo
[17:56:28 CET] <kepstin> no, actually it wasn't. ccss didn't have those chairs, that was a... teacher's lounge on the 5th floor iirc.
[17:56:53 CET] <kepstin> well, ccss probably had similar chairs at some point
[17:57:46 CET] <khali> the only difference is "Frame rate mode" which is constant on the large file (produced by ffmpeg) and variable on the smaller file (produced by avidemux)
[17:58:19 CET] <khali> but I checked the frame count and it's the same... I even checked the I/P/B numbers and they match
[17:58:29 CET] <dave0x6d> kepstin: a very random question, does your motherboard allow enabling SR-IOV?
[17:58:56 CET] <kepstin> khali: hmm. open the file in a hexeditor and look at the list of x264 options stored int he header, maybe? :/
[18:01:21 CET] <kepstin> dave0x6d: i don't know about sr-iov. I know that after a few bios updates, the iommu layout was improved quite a bit, so regular pcie passthrough should be doable.
[18:02:23 CET] <khali> kepstin: would it be different from the "Encoding settings" reported by mediainfo?
[18:02:42 CET] <kepstin> khali: i'm not familiar with mediainfo, it might pull that out for you.
[18:03:00 CET] <khali> it shows all the x264 knobs
[18:03:16 CET] <khali> which I have already completed to be the same in both files
[18:04:22 CET] <furq> they're the same thing, yeah
[18:04:35 CET] <khali> compared, not completed, sorry
[18:04:58 CET] <dave0x6d> kepstin: my asus b350 worked out of the box. Only problem is that the USB 3.1 and main SATA controller are bundled together, as well as the audio and FCH SATA controller.
[18:52:45 CET] <alexpigment> klahi: you didn't mention bit rate
[18:52:49 CET] <alexpigment> er
[18:52:58 CET] <alexpigment> khali: you didn't mention bit rate when you said everything is the same
[18:53:12 CET] <alexpigment> if you download bitrate viewer (windows only i believe), what does it say the bitrate is for each?
[18:53:29 CET] <alexpigment> for context, the only thing that determines file size is the bitrate
[18:53:56 CET] <alexpigment> the other things like frame rate, resolution, etc, don't actually have an impact on file size for x264
[18:58:57 CET] <alexpigment> khali: the other thing to do in mediainfo is go into View > Tree and see if there are multiple audio (or video) streams in one and not the other
[19:06:07 CET] <khali> alexpigment: obviously bitrate is different
[19:06:20 CET] <khali> otherwise files would be the same
[19:06:41 CET] <alexpigment> khali: right, so you're trying to figure out what's different. what are the rate controls set to?
[19:06:51 CET] <alexpigment> are you using CRF or -b:v ?
[19:06:56 CET] <khali> but the bitrate is supposed to be the consequence of the x264 settings combined with frame size and frale rate
[19:07:04 CET] <khali> alexpigment: CRF=23 in both files
[19:07:17 CET] <alexpigment> preset = ?
[19:07:19 CET] <khali> I'm not asking for any specific bitrate
[19:07:46 CET] <alexpigment> if you don't specify a preset, x264 will use medium by default
[19:08:05 CET] <khali> alexpigment: not sure about preset, it doesn't show in the output of mediainfo
[19:08:32 CET] <alexpigment> yeah, preset is not shown in those settings; it's shown in other settings
[19:08:36 CET] <khali> I know I don't specify it on my ffmpeg command line, but I don't know what avidemux does
[19:09:03 CET] <alexpigment> ok, so in the x264 configuration in avidemux, it's on the general tab
[19:09:46 CET] <khali> ah
[19:10:13 CET] <alexpigment> so CRF will produce a different bitrate depending on the preset
[19:10:13 CET] <khali> I have "preset" : "veryslow" in the avidemux profile I'm using
[19:10:18 CET] <alexpigment> makes sense
[19:10:41 CET] <alexpigment> if you set it to medium (or if you set the preset in ffmpeg to veryslow), you will probably get roughly the same file size
[19:10:58 CET] <khali> I thought preset was just a predefined set of values for other settings, to build more specific profiles on top?
[19:11:35 CET] <alexpigment> yes, it is
[19:11:50 CET] <alexpigment> but it enables or disables things that affect the efficiency of the encoding
[19:12:17 CET] <alexpigment> and if the encoding is more efficient at a given preset, it will need less bits to achieve the same level of quality
[19:12:18 CET] <khali> things which do not show up in the x264 settings string recorded in the file header?
[19:12:48 CET] <alexpigment> khali: have you looked at the "Text" view of MediaInfo
[19:12:54 CET] <alexpigment> that string is very long
[19:13:05 CET] <khali> yes, that's what I do
[19:13:08 CET] <alexpigment> k
[19:13:20 CET] <alexpigment> lemme find the chart of the difference between medium and veryslow
[19:13:23 CET] <khali> I have my own script which splits it to one setting per line for easier comparison
[19:13:36 CET] <alexpigment> http://dev.beandog.org/x264_preset_reference.html
[19:13:58 CET] <khali> and my 2 files have the same "Encoding settings"
[19:14:06 CET] <alexpigment> refs should be different (that's listed in the general mediainfo settings)
[19:14:16 CET] <alexpigment> rc lookahead should be different
[19:14:23 CET] <khali> except for the decimal separator, probably due to different locale being used
[19:14:28 CET] <alexpigment> subme should be different
[19:14:44 CET] <alexpigment> b-frames should be different
[19:14:58 CET] <alexpigment> unless, of course, you've specified settings that override what the preset defines
[19:18:12 CET] <khali> I do
[19:18:44 CET] <khali> still, that's something to look into, in case some settings don't end in the encoder settings string
[19:19:03 CET] <khali> so thank you very much for the hint, I'll check as soon as possible
[19:19:09 CET] <alexpigment> so rc lookahead is 40 in both though?
[19:19:26 CET] <khali> rc_lookahead=60 in both actually
[19:19:30 CET] <alexpigment> weird
[19:19:40 CET] <alexpigment> are you sure you're comparing the right files?
[19:19:46 CET] <khali> I must leave now :/ tennis lesson in 40 minutes
[19:19:49 CET] <alexpigment> ok
[19:19:58 CET] <khali> yes sir
[19:20:01 CET] <alexpigment> when you get back, redo your tests. i think you're looking at the wrong files somehow
[19:20:18 CET] <khali> if I can't figure out, I'll produce shorter samples and share them
[19:20:22 CET] <alexpigment> k
[19:20:40 CET] <khali> it's probably easier to help if you have the files on your own
[19:20:44 CET] <khali> thanks again, see you
[19:20:48 CET] <alexpigment> yep
[19:20:53 CET] <alexpigment> np
[19:32:08 CET] <CoreX> alexpigment the preset slow refrences on that beandog page is wrong
[19:32:26 CET] <CoreX> its hex now not umh
[19:32:29 CET] <alexpigment> CoreX: k
[19:32:40 CET] <alexpigment> maybe it's worth emailing beandog about that
[19:45:12 CET] <thebombzen> does ffmpeg not build with x265 2.6?
[19:47:48 CET] <thebombzen> Arch linux just updated libx265 to libx265.so.146
[19:47:52 CET] <thebombzen> and now it can't find libx265.so.130
[20:07:52 CET] <utack> thebombzen maybe your mirror was out of date, ffmpeg was updated too https://www.archlinux.org/packages/extra/x86_64/ffmpeg/
[20:08:11 CET] <thebombzen> utack: ffmpeg in the arch repos was patched by the arch maintainer
[20:08:17 CET] <thebombzen> git master doesn't build against libx264.so.146
[20:08:24 CET] <thebombzen> and that's what I care about
[20:08:26 CET] <utack> oh...good job then i guess
[20:08:38 CET] <utack> guy knows how to maintain :D
[20:08:46 CET] <thebombzen> sort of
[20:09:02 CET] <utack> we make your own ffmpeg, with libx264 and building!
[20:09:13 CET] <thebombzen> ended up screwing up crap for mpv though with his overzealous pushes
[20:09:30 CET] <thebombzen> it's better to wait until upstream makes it work usually, since ffmpeg is under active development
[20:15:22 CET] <storrgie> I was in here bothering alexpigment a couple days back about recording A+B, A, B stereo pcm channels into an mkv... and what you suggested worked perfectly, thanks!
[20:15:57 CET] <storrgie> I'm wondering now, can I re-encode what I've captured via something like libopus, I think what I'm capturing now is uncompressed, I'd like to compress before sending it off to the archive
[20:22:43 CET] <storrgie> ffmpeg -i raw.mkv -acodec libopus -b:a 256k -vbr on -compression_level 10 opus.mkv appears to decemate the three tracks into one, or maybe only selects the first track
[20:23:12 CET] <c_14> only selects the first track
[20:23:15 CET] <c_14> you need -map 0
[20:23:30 CET] <c_14> and you probably want -c:v copy
[20:23:50 CET] <storrgie> only audio in the container, no video
[20:24:01 CET] <c_14> then you don't need it
[20:24:37 CET] <storrgie> is it possible to name the streams?
[20:24:45 CET] <storrgie> at time of capture, or at time of re-encoding?
[20:25:05 CET] <c_14> -metadata:s:a:0 title="Foobar 1st Stream"
[20:25:07 CET] <c_14> I believe
[20:26:31 CET] <storrgie> that does work perfectly, thanks
[20:27:50 CET] <storrgie> is there any anecdotal recommendations for the parameter of bitrate with libopus? `libopus -b:a 192k`
[20:28:35 CET] <c_14> depends on what the audio is
[20:28:42 CET] <c_14> voice needs less bitrate than say music
[20:29:09 CET] <storrgie> channel one (A+B) is game audio (e.g. music) and voice, channel 2 is just voice, channel 3 is just game audio
[20:29:21 CET] <storrgie> ffmpeg -f dshow -i audio="Microphone (Realtek Audio)" -f dshow -i audio="Stereo Mix (Realtek Audio)" -filter_complex "[0:a][1:a]amerge=inputs=2,pan=stereo|c0<c0+c2|c1<c1+c3[aout]" -map "[aout]" -c:a pcm_s16le -map 0:a -map 1:a output.mkv
[20:29:33 CET] <kepstin> once you get past around 64kbit/channel, gains are pretty minimal.
[20:29:46 CET] <kepstin> (although it depends on content, yeah)
[20:30:14 CET] <storrgie> in this case we're primarily wanting to analyze the voice content afterwards, so we're not entirely interested in the quality of the game audio content
[20:30:18 CET] <storrgie> its just used for time alignment
[20:31:31 CET] <c_14> 192k is probably fine unless you're trying to save space
[20:31:36 CET] <c_14> (assuming stereo)
[20:31:48 CET] <storrgie> yeah, three stereo channels
[20:34:28 CET] Action: kepstin would probably just go with 128kbit for each stereo stream, but throwing some extra bits like 192k obviously won't hurt anything
[20:36:40 CET] <storrgie> thanks a ton, this is really perfect
[21:02:50 CET] <alexpigment> storrgie: just got back from lunch. glad to see you got it back. I had a feeling PCM was going to be too big :)
[21:02:57 CET] <alexpigment> 30MB/min
[21:03:12 CET] <alexpigment> anyway, cool that you got it all figured out
[21:30:03 CET] <Primer> Hi, I have an ffmepg mosaic that stitches 6 separate streams into one. Thing is, ffmpeg opens each stream sequentially. Is there no way to get ffmpeg to open them concurrently? I'm trying to minimize the ramp up time, as this is a mosaic of security cameras, and invoking it takes a good 5-6 seconds before anything is displayed
[21:31:03 CET] <fritsch> might be you opening them sequentially?
[21:31:35 CET] <kepstin> the ffmpeg cli tool code for opening input streams is inherently single threaded - it does one then the next
[21:31:53 CET] <kepstin> would require a pretty significant rewrite to change that
[21:33:14 CET] <fritsch> ah he uses the cli tool
[21:33:19 CET] <fritsch> thought he is coding that himself
[21:33:26 CET] <fritsch> sorry
[21:33:41 CET] <kepstin> that said, in some circumstances you can work around this by spawning a bunch of ffmpeg processes that read from the network and write to pipes, then have the actual video processing done in a separate ffmpeg that reads from the pipes
[21:33:46 CET] <kepstin> or write a custom app, yeah :)
[21:34:59 CET] <Primer> yeah, this is just a very long cli
[21:36:12 CET] <Primer> https://pastebin.com/gwuJ5z5w <-- said script
[21:37:13 CET] <kepstin> hmm, for that sort of use case I'd really just run a bunch of separate mpv processes, if possible. :/
[21:37:31 CET] <kepstin> i guess automatically arranging them on screen might be tricky
[21:37:52 CET] <kepstin> (also, you should be using the 'hstack' and 'vstack' ffmpeg filters - they're faster - lower cpu usage - than overlay)
[21:38:11 CET] <Primer> I have a variant of the script that streams to a remote machine
[21:38:53 CET] <Primer> plus I'm adding cameras, and I don't want to end up running X individual streams
[21:39:06 CET] <Primer> I guess I'll look at doing this with pipes
[21:40:45 CET] <Primer> I mean, if I'm going to split this into individual process, I'd like to keep the end result (i.e. a single video with 6 cameras, soon to be 8)
[21:41:55 CET] <Primer> kepstin: I don't suppose you could give me a hint as to where to start with this?
[21:42:21 CET] <Primer> https://ffmpeg.org/ffmpeg-protocols.html#toc-pipe seems like a good place to start
[21:42:34 CET] <Primer> https://ffmpeg.org/ffmpeg-protocols.html#pipe that is
[21:42:39 CET] <kepstin> hmm, starting this from a bash script?
[21:42:44 CET] <Primer> yeah
[21:42:54 CET] <kepstin> can make use of some of the pipe input spawning stuff then, a moment...
[21:43:27 CET] <Primer> so named pipes in bash?
[21:43:41 CET] <ivan^> really quick question, I'd like to merge webm video and m4a audio and output in mp4 but can't find any details on how to specify output format
[21:43:46 CET] <Primer> i.e. mkfifo /whatever, ffmpeg -i /whatever...?
[21:43:59 CET] <Primer> err, well, pipe to it first from another ffmpeg, then read
[21:44:28 CET] <kepstin> Primer: with bash, I'd build a command like `ffmpeg -i <(ffmpeg -i rtsp://... -c:v rawvideo -f nut) (repeat -i as needed) <filters> <output>`
[21:44:41 CET] <kepstin> the stuff in the <() is a sort of magical pipe subprocess thing
[21:44:47 CET] <Primer> kepstin: ahhh nice
[21:45:34 CET] <Primer> thing is, I'll need 6 input pipes at the start, and I can't see how I'd do that without named pipes
[21:45:37 CET] <ivan^> I have `ffmpeg -i in.webm -i in.m4a -c:v copy -c:a copy out.webm`
[21:45:45 CET] <ivan^> how can I specify I want mp4 output?
[21:45:53 CET] <Primer> because simple redirection is only one pipe, right?
[21:45:56 CET] <Primer> stdin
[21:46:05 CET] <kepstin> ivan^: ffmpeg automatically picks an output format based on the output filename
[21:46:18 CET] <ivan^> oh great
[21:46:19 CET] <ivan^> thanks
[21:46:25 CET] <ivan^> wasn't sure on that
[21:46:54 CET] <kepstin> Primer: that's why I used this bash pipe subprocess stuff - it sets up the pipes for you and substitutes a device filename (it'll be something like /dev/fd/63 ) that the other process can readfrom
[21:47:14 CET] <kepstin> Primer: you can repeat it as many times as you like in a command, and it'll assign unique fds for you
[21:47:52 CET] <kepstin> ivan^: that said, vp9/vp8 (webm video codecs) are not well supported in mp4 files, you probably should transcode the video to h264
[21:48:35 CET] <ivan^> kepstin: does webm not support audio at all?
[21:48:59 CET] <kepstin> ivan^: webm only allows vp8 and vp9 for video and vorbis or opus for audio
[21:49:06 CET] <kepstin> other codecs are not allowed
[21:49:13 CET] <ivan^> I just want to merge these, the format isn't important but I'm using a web player that only supports webm or mp4
[21:49:34 CET] <kepstin> ivan^: you'll either have to convert the video to put it into mp4, or convert the audio to put it into webm
[21:49:45 CET] <kepstin> your choice - audio conversion is faster :)
[21:49:54 CET] <ivan^> will ffmpeg try to warn me if I don't do that?
[21:49:56 CET] <Primer> kepstin: yeah, having a hard time wrapping my head around that. Like, the magic that makes tells me what to read when I do <(
[21:50:26 CET] <ivan^> I've found ffmpeg through the youtube-dl program and am just getting started with it
[21:51:17 CET] <kepstin> ivan^: ffmpeg will give an error message and fail if you try something that's not allowed, but it might not warn you if you're doing something that's merely unconventional.
[21:51:34 CET] <kepstin> Primer: if you want to see what's behind the magic, try running this command: `echo <(printf hello)`
[21:51:53 CET] <Primer> I was thinking of this: for i in $(seq 1 $NUMBER_OF_CAMERAS); do mkfifo /tmp/whatever/$i; ffmpeg -i rtsp://... -o /tmp/whatever/$i &; done; ffmepg -i /tmp/whatever/1 -i /tmp/whatever/2 ...
[21:52:19 CET] <kepstin> Primer: <() is just another "substitution", the whole thing is replaced with a string in the final command line, and the string is a filename that can be read from.
[21:52:50 CET] <Primer> yeah, I see that it outputted the file descriptor
[21:52:59 CET] <Primer> when invoked without interpolation
[21:53:54 CET] <Primer> so, literally: ffmpeg -i <(ffmpeg -i rtsp://...) -i <(ffmpeg -i rtsp://...)... and it'll work
[21:53:58 CET] <kepstin> yep
[21:54:09 CET] <Primer> I imagine I have to background each
[21:54:18 CET] <kepstin> using named pipes (on the filesystem) will work exactly the same, except then you have pipes laying around in the filesystem
[21:54:22 CET] <Primer> so, literally: ffmpeg -i <(ffmpeg -i rtsp://... &) -i <(ffmpeg -i rtsp://... &)... and it'll work
[21:54:33 CET] <Primer> well, I'd have a trap to clean it up
[21:54:38 CET] <kepstin> Primer: no, bash runs them as suprocesses, you don't need to use &
[21:54:40 CET] <Primer> but I like the one-liner approach
[21:54:48 CET] <Primer> kepstin: perfect, thanks
[21:57:47 CET] <Primer> heh, it "worked", but it took way longer to setup
[21:57:53 CET] <Primer> it had to think a lot
[21:58:08 CET] <Primer> I could tell that it ran all the sub processes concurrently
[21:58:15 CET] <Primer> and immediately
[21:58:23 CET] <Primer> I guess it still had to wait for the pipes to fill
[21:59:01 CET] <Primer> https://pastebin.com/YAU11CVt
[21:59:05 CET] <Primer> the updated script
[22:00:01 CET] <kepstin> hmm, did that actually take longer to set up than with a single ffmpeg process?
[22:00:15 CET] <Primer> I suppose I could cout out the -a parts from the streams with no sound
[22:00:29 CET] <Primer> yeah, it took well over 10 seconds before I saw video
[22:00:30 CET] <kepstin> i guess the extra process starting overhead might overwhelm a system, particularly if it doesn't have many cores.
[22:00:44 CET] <Primer> I have 4 cores on a 4th gen Intel
[22:01:19 CET] <kepstin> but yeah, you might be just stuck in a hard place then, unless you write a custom application with ffmpeg libraries :/
[22:02:29 CET] <kepstin> might be interesting to try e.g. a separate subprocess per row of cameras or something as an intermediate step.
[22:02:48 CET] <Primer> well, I've already spent a lot of time on this, but I don't think I'm gonna go that far just to shave a few seconds off a video start up time
[22:03:16 CET] <ivan^> kepstin: thanks for the tips :)
[22:04:09 CET] <Primer> Anyhow, here's the final version: https://pastebin.com/KUgiUz2y it works, but it's no better than the original
[22:04:46 CET] <Primer> hrmm, maybe I need those other pieces like the thread stuff and tcp in the "inner" ffmpegs
[22:06:36 CET] <Primer> that helped a bit, but now the startup is no faster than if it had been sequential
[22:06:42 CET] <Primer> oh well
[22:06:47 CET] <Primer> kepstin: thanks again
[22:07:00 CET] <kepstin> was worth a try, anyways :/
[22:07:27 CET] <Primer> indeed
[22:07:35 CET] <Primer> plus I learned something very cool
[00:00:00 CET] --- Thu Dec 21 2017
1
0
[00:17:06 CET] <wm4> Compn: can you please ban michaelni from the mailing list? he's trolling me again
[00:24:32 CET] <jamrial> just drop it
[00:25:23 CET] <iive> is he?
[00:29:34 CET] <BBB> no hes not
[00:30:00 CET] <BBB> but I can see wm4s point if you subtract the trolls
[00:30:12 CET] <BBB> I think I agree with the background of it, but the message could be packed better
[00:30:34 CET] <kierank> the idea is insane
[00:30:42 CET] <kierank> streaming c structs over the network
[00:30:55 CET] <wm4> streaming internal ffmpeg state over network
[00:31:03 CET] <wm4> isn't that just ffserver anyway
[00:31:08 CET] <wm4> which we all love so much
[00:31:34 CET] <jamrial> yeah, and it and ffm are being removed, so not something to consider for a future side data api
[00:31:45 CET] <BBB> still not removed?
[00:31:58 CET] <BBB> 4 weeks ago it would be pushed next week
[00:32:02 CET] <BBB> just push it
[00:32:06 CET] <BBB> youll piss off some people
[00:32:10 CET] <BBB> well move on, as we always do
[00:32:29 CET] <BBB> libmpcodecs anyone?
[00:32:39 CET] <BBB> or what was it, libmpfilters, I dont remember
[00:33:51 CET] <wm4> libmpcodecs
[00:34:02 CET] <wm4> though only the video filter part was (insanely) copied into ffmpeg
[00:34:09 CET] <wm4> took half a decade to cleanup
[00:34:44 CET] <michaelni> kierank, i do NOT want to stream any internal structs, i think my point is a bit misrepresented here.
[00:34:53 CET] <wm4> I think libmpcodecs in mplayer also contained video and audio decoders
[00:35:05 CET] <kierank> "If you have an application that streams video, and on a different computer
[00:35:06 CET] <kierank> an application which plays that video you need to transfer the compressed
[00:35:06 CET] <kierank> data (that is AVPackets and their side data) over the network."
[00:36:12 CET] <thardin> there's no container that covers every use case maybe
[00:36:30 CET] <BBB> there is, its called ffm
[00:36:41 CET] <thardin> right
[00:36:41 CET] <michaelni> what i mean really is the data to fully reconstruct the intended presentation. alot of this is in side data currently, i do not want any internal structs to be passed around
[00:36:44 CET] <BBB> although that was never updated since 2005 so it didnt actually cover side-data
[00:36:48 CET] <BBB> but it could :)
[00:37:08 CET] <BBB> (not that we should keep ffm, it was horrible, as most such containers are when they try to do everything)
[00:37:16 CET] <thardin> are any guarantees given about it or is it just "you have to use the same version of ffmpeg on both ends"
[00:37:36 CET] <BBB> michaelni: if you want serialization/deserialization, I think people would say that makes sense, but thats not what it sounded like ;)
[00:37:38 CET] <kierank> michaelni: and how do you account for endian?
[00:37:50 CET] <kierank> in this bizzare world where you stream c structs over the network
[00:38:04 CET] <michaelni> kierank, i do NOT want to stream c structs
[00:38:17 CET] <thardin> kierank: easy, you do what quake does
[00:38:25 CET] <thardin> it has a little endian flipping thing
[00:38:36 CET] <wm4> I guess it boils down to michaelni's reply to me being some sort of non-sequitur (aka I misunderstood everything!)
[00:38:44 CET] <iive> michaelni: if data is to be send over network, streaming, structs should be both packed and in network endian format (don't remember big or little ending is used by TCP/IP)
[00:39:22 CET] <michaelni> BBB, serialization/deserialization, is one of several possibilities probably the one that makes most sense
[00:39:28 CET] <iive> and that is something that would make internal use slower.
[00:39:53 CET] <iive> michaelni: imho, you went few steps too far with brainstorming.
[00:40:26 CET] <BBB> michaelni: thats very reasonable. I think what you sent to the ML suggested that you wanted something more & ser/deser is fine I think
[00:40:56 CET] <michaelni> BBB, yes it seems people read something in my mail that i did not intend it to mean at all
[00:41:28 CET] <kierank> michaelni: so what has serialisation and deserialisation go to do with that patch?
[00:42:02 CET] <wm4> nice cehoyos post
[00:42:44 CET] <michaelni> kierank, nothing, the thread drifted off topic as a new side data api was suggested and then drifted to network protocols
[00:43:05 CET] <thebombzen> how is this not just another competing standard to mpegts
[00:43:22 CET] <kierank> thardin: more insane, it's like mxf
[00:43:47 CET] <kierank> michaelni: you raised the networking part
[00:43:50 CET] <wm4> it's like... ffm
[00:45:42 CET] <wm4> michaelni: so what was your point of your reply? you're free to write as many serializers/deserializers as you want in your streaming protocol implementation
[00:45:45 CET] <BBB> lets leave this subject behind guys
[00:45:49 CET] <BBB> michaelni says he didnt mean it
[00:45:56 CET] <wm4> he always says that
[00:45:57 CET] <BBB> we were trying to convince him to not mean that
[00:46:01 CET] <BBB> so were in agreement
[00:46:07 CET] <BBB> lets settle on that and move on
[00:46:11 CET] <BBB> <3
[00:46:21 CET] <wm4> next time I'll just ignore any invalid points he raises, including in patch reviews
[11:58:56 CET] <jdarnley> Oh. The intel official timing document lists actual throughput rather than reciprical throughput.
[12:05:33 CET] <atomnuker> thealexbarney: hey, know which games use atrac9 and on which platforms?
[12:30:14 CET] <durandal_1707> atomnuker: really? shame of you
[12:30:58 CET] <atomnuker> just asking
[12:31:08 CET] <jdarnley> What the heck? Am I blind or am I starting to see more and more errors in the intel instruction reference?
[12:31:46 CET] <durandal_1707> atomnuker: ps vita, if you use brain cells you can get full rips of game
[12:32:21 CET] <atomnuker> I wish there was a vita emulator too but hey, maybe with this decoder it'll be a step closer
[12:36:05 CET] <durandal_1707> atomnuker: there is binary encoder
[12:46:47 CET] <jdarnley> dammit! why can't I just make thse instructions be vex encoded. I don't need run-time op masks
[13:00:44 CET] <durandal_1707> whos gonna write simple yuv444 asm for overlay filter?
[13:05:48 CET] <jdarnley> I might volunteer but I have a large backlog of stuff to finish both for work and my own.
[13:09:39 CET] <JEEB> atomnuker: I think the vita and PS4 use it
[13:10:01 CET] <JEEB> you get samples in all games because the menu selection BGM etc is in that format, IIRC
[14:15:51 CET] <jdarnley> Wow, what? vpmullq is faster than vpmulld?
[14:17:51 CET] <durandal_1707> jdarnley: in which case/code?
[14:18:28 CET] <jdarnley> No, just according to the intel timing document
[14:18:53 CET] <durandal_1707> heh
[14:19:15 CET] <jdarnley> 5 cycle latency vs 10
[14:19:30 CET] <jdarnley> and throughput of 1 vs 0.66
[14:25:39 CET] <shinchiro> sfan5: since you're the one who add libtls support in ffmpeg, I noticed the pkg-config detection doesn't work correctly
[14:26:30 CET] <shinchiro> it used use_pkg_config but the function doesn't exist in configure
[14:34:40 CET] <RiCON> it used to be use_pkg_config, now it's check_pkg_config, iirc
[14:38:47 CET] <sfan5> RiCON: nope that wasn't touched since 2014
[14:39:15 CET] <sfan5> yup that seems like my fault, I never noticed due to the non-pkgconfig fallback I added
[14:39:20 CET] <sfan5> will send a fix to the ML later today
[14:40:11 CET] <shinchiro> nice
[14:42:10 CET] <RiCON> sfan5: https://github.com/FFmpeg/FFmpeg/commit/93ccba96df6340249b0db227d5bc3297010…
[14:42:36 CET] <sfan5> huh what
[14:42:44 CET] <sfan5> maybe I'm just too stupid to use git blame
[14:43:15 CET] <RiCON> CLI, sure, github's easier
[14:52:14 CET] <Compn> when github ipo? :P
[15:35:02 CET] <jdarnley> If someone is silly enough to use 32-bit code on an AVX-512 cpu, can they access all 32 SIMD registers with that EVEX encoding?
[15:36:29 CET] <jdarnley> I don't plan to write anything like that, I was just curious.
[15:41:03 CET] Action: funman throws a pre-MMX pentium at jdarnley
[15:42:33 CET] Action: durandal_1707 silently puts some insult in patch code so Compn can not find it
[15:50:54 CET] <jdarnley> Ah ha! The m64bcst I asked about yesterday is explained in Intel's Optimization Reference Manual, section 15.9
[15:58:21 CET] <BBB> are we using atomic integers in ER?
[15:59:14 CET] <atomnuker> yes
[15:59:30 CET] <BBB> ...
[16:04:43 CET] <atomnuker> what?
[16:12:12 CET] <wm4> what for
[16:12:51 CET] <Chloe> ER?
[16:14:10 CET] <wm4> error recovery or something
[16:14:16 CET] <wm4> no, some other term
[16:15:23 CET] <atomnuker> error recovery
[16:16:48 CET] <wm4> error reslience
[16:17:00 CET] <wm4> error resilience
[16:17:20 CET] <wm4> (so, slightly more fancy term, lol)
[16:40:35 CET] <thealexbarney> atomnuker: Many PS4 and PS Vita games use ATRAC9.
[16:41:08 CET] <thealexbarney> Here's a non-exhaustive list of download links: https://pastebin.com/raw/Lk9aA5EK
[16:41:47 CET] <thealexbarney> These all use the AT9 container, although there are others containing ATRAC9 as well
[17:04:50 CET] <daddesio> thealexbarney: did you reverse-engineer AT9? The first result on google for "atrac9 decoder" is your repo.
[17:07:13 CET] <daddesio> ah, I scrolled up
[17:07:16 CET] <daddesio> "11:44 <thealexbarney> atomnuker, there are a few things I haven't gotten around to adding to that spec. I'm also available to clarify anything, although I probably won't be on IRC too much. Most of my knowledge of audio coding techniques comes from RE'ing the HCA and ATRAC9 codecs over the past ~half-year with no outside help, so I wouldn't be surprised if there were some oddities in the source because
[17:07:18 CET] <daddesio> of that.
[17:07:20 CET] <daddesio> "
[17:07:32 CET] <daddesio> noice
[17:09:47 CET] <atomnuker> thealexbarney: oh wow, thanks, didn't expect to see full links
[17:39:48 CET] <Gramner> jdarnley: no, additional vector regs are x86-64 only
[17:40:09 CET] <jdarnley> poor 32-bit bastards
[17:40:12 CET] <Gramner> but you can use x32! /s
[17:40:56 CET] <rcombs> 32-bitstards
[17:42:39 CET] <iive> you can use x32 on x64
[17:43:00 CET] <iive> ;(
[18:07:01 CET] <RiCON> sfan5: isn't it check_pkg_config? require_pkg_config will die() if it fails, iirc
[18:08:00 CET] <sfan5> *sigh* yes, indeed
[18:13:48 CET] <jamrial> sfan5: i'll ammend it and apply it
[18:13:57 CET] <sfan5> too late i already sent a fixed patch
[18:13:57 CET] <jamrial> no need to send a new patch
[18:14:01 CET] <jamrial> alright
[18:14:02 CET] <sfan5> ¯\_(Ä)_/¯
[18:15:15 CET] <jamrial> why the fallback anyway? if pkg-config is available for every supported version of the library, then there's no point in having the fallback
[18:15:50 CET] <jamrial> it will only generate issues with static builds if libtls needs system libraries like pthreads
[18:17:43 CET] <jamrial> yeah, look at this https://github.com/libressl-portable/portable/blob/master/libtls.pc.in
[18:18:06 CET] <jamrial> static builds are pretty much guaranteed to not work with the fallback check
[18:19:56 CET] <cone-349> ffmpeg 03sfan5 07master:b178278c7b4b: configure: fix pkg-config check for libtls
[18:44:43 CET] <Compn> durandal_1707 : you may want to look how you reacted to 1 hour of mailing list moderation...
[18:45:47 CET] <durandal_1707> Compn: huh?
[19:02:59 CET] <Compn> durandal_1707 : i only hit the moderate button for 1 hour...
[19:13:37 CET] <cone-349> ffmpeg 03sfan5 07master:b1781caf9e36: configure: remove libtls fallback check
[19:35:56 CET] <durandal_1707> Compn: i wrote new patch, but cant send because of you. resign from your positions immediately!
[19:57:03 CET] <Compn> durandal_1707 : moderation stopped one hour after that mail i sent
[19:57:07 CET] <Compn> yesterday
[19:58:40 CET] <durandal_1707> we must strip you from such powers so this does not happen again
[20:00:40 CET] <Compn> durandal_1707 : i hope that you also find more ml admins :)
[20:02:54 CET] <Compn> the exciting world of .... administering mailing lists
[20:03:03 CET] <Compn> and sorting spam
[20:37:46 CET] <durandal_1707> clueless people reinventing same stuff over and over again
[20:57:16 CET] <cone-349> ffmpeg 03Martin Vignali 07master:f2e9156eb62b: avcodec/utvideodec : use gradient_pred dsp in interlace decoding
[20:57:17 CET] <cone-349> ffmpeg 03Martin Vignali 07master:c76cf303ce11: avcodec/magicyuv : use gradient_pred dsp func for 8 bits gradient mode
[20:57:51 CET] <durandal_1707> \Ë/
[21:02:55 CET] <cone-349> ffmpeg 03Martin Vignali 07master:d31770d9a603: avfilter/vf_interlace : move func init in ff_interlace_init and add depth arg for ff_interlace_init_x86
[21:02:56 CET] <cone-349> ffmpeg 03Martin Vignali 07master:adff97be5e2f: checkasm/vf_interlace : add test for lowpass_line 8 and 16
[21:02:57 CET] <cone-349> ffmpeg 03Martin Vignali 07master:1a5865b6dcc9: avfilter/vf_interlace : add AVX2 for lowpass_line 8 and 16
[21:02:58 CET] <cone-349> ffmpeg 03Martin Vignali 07master:8fb1d63d9192: avfilter/vf_tinterlace : add AVX2 func for lowpass_line 8 and 16
[21:12:07 CET] <cone-349> ffmpeg 03Martin Vignali 07master:a4a4179e83e6: avfilter/x86/vf_hflip : merge hflip byte and hflip short to one macro
[21:12:08 CET] <cone-349> ffmpeg 03Martin Vignali 07master:f181648176c0: avfilter/x86/vf_hflip : add avx2 version for hflip_byte and hflip_short
[21:12:09 CET] <cone-349> ffmpeg 03Martin Vignali 07master:3df6e61dad85: avfilter/x86/vf_hflip : indent
[21:14:29 CET] <durandal_1707> awesome
[21:18:56 CET] <cone-349> ffmpeg 03Felix Matouschek 07master:c12c2739cd1e: configure: Fix detection of vp9 decoder/encoder
[21:32:45 CET] <cone-349> ffmpeg 03Jun Zhao 07master:2b38900cb377: tests/audiomatch: Add return value check for fread.
[21:32:46 CET] <cone-349> ffmpeg 03Jun Zhao 07master:e72b8549920f: tests/audiomatch: Whitespace refinement
[21:32:47 CET] <cone-349> ffmpeg 03Michael Niedermayer 07master:65da5c56e661: tests/audiomatch: Add missing return code at the end of main()
[21:43:58 CET] <jamrial> the vf_interlace patches above broke fate
[21:49:50 CET] <sadasdas> Hello
[21:49:54 CET] <sadasdas> +seen burek
[23:08:23 CET] <cone-349> ffmpeg 03James Almer 07master:8e0e4384b097: Revert "avfilter/vf_interlace : add AVX2 for lowpass_line 8 and 16"
[23:08:24 CET] <cone-349> ffmpeg 03James Almer 07master:da032427786d: Revert "checkasm/vf_interlace : add test for lowpass_line 8 and 16"
[23:14:08 CET] <Chloe> why do all those commits have spaces after the path
[23:15:23 CET] <nevcairiel> Because the author put it there? :)
[23:15:49 CET] <Chloe> nevcairiel: :(
[23:16:27 CET] <nevcairiel> I don't think there is any better answer
[00:00:00 CET] --- Wed Dec 20 2017
1
0
[00:08:35 CET] <SortaCore> what would affect a file's duration and framerate, but not its playing speed?
[00:22:51 CET] <klaxa> a rip in space-time
[00:32:21 CET] <thebombzen> SortaCore: what do you mean "playing speed"
[00:32:43 CET] <SortaCore> In VLC it plays at normal speed, the video is of a camera feed with time in it
[00:33:05 CET] <thebombzen> what are you trying to accomplish
[00:33:11 CET] <SortaCore> but VLC shows a framerate that's much lower than the camera actually is, and a duration far higher
[00:33:23 CET] <SortaCore> copying H264 from RTSP stream to MP4 container, without transcoding
[00:33:33 CET] <thebombzen> why not just use ffmpeg
[00:33:35 CET] <thebombzen> and not VLC
[00:33:57 CET] <SortaCore> oh, you misunderstood
[00:34:05 CET] <SortaCore> when I playback the MP4 in VLC, it comes up like that
[00:34:09 CET] <thebombzen> also, recording to mp4 is a bad idea. you should probably record to mpegts, and then remux to mp4 later.
[00:34:56 CET] <thebombzen> mp4 is not designed for anything realtime at all
[00:35:18 CET] <SortaCore> it's not going to be played back immediately
[00:35:25 CET] <SortaCore> it's just recording it without transcoding
[00:35:31 CET] <thebombzen> doesn't matter, don't record a realtime stream to mp4
[00:35:52 CET] <SortaCore> mpeg-ts is mpg?
[00:35:56 CET] <thebombzen> mpegts is mpegts
[00:36:02 CET] <thebombzen> .ts is the usual file extension
[00:36:15 CET] <thebombzen> either way:
[00:36:33 CET] <SortaCore> I'm using C++, not the commandline
[00:36:42 CET] <thebombzen> either way, I wouldn't trust VLC
[00:36:54 CET] <thebombzen> what is the reported framerate of the mp4 file if you use: ffmpeg -i recording.mp4
[00:37:35 CET] <SortaCore> stand by one, houston
[00:45:30 CET] <SortaCore> https://pastebin.com/raw/D4YGZ8ag
[01:11:07 CET] <Aatch> Hi, I have a thread-safety question:
[01:12:27 CET] <Aatch> When using send_packet/recieve_frame, is it possible to have one thread call send_packet until it sees EAGAIN, and have another thread call recieve_frame until it sees EAGAIN?
[01:13:07 CET] <DHE> as long as you hold a lock (you provide your own) while calling the functions in each thread, sure
[01:13:35 CET] <DHE> obivously the same lock...
[01:15:39 CET] <Aatch> DHE: Thanks
[01:16:56 CET] <Aatch> A related question: how much (if at all) do video codecs buffer frames? i.e. should I expect an EAGAIN after sending one packet (assuming no recieve_frame between them).
[01:17:58 CET] <DHE> that is highly dependent on the codec and its settings. x264 could buffer 60 frames or more with default settings, or none if you av_dict_set(&dict, "tune", "zerolatency", 0);
[01:18:36 CET] <DHE> not that I would encourage zerolatency mode
[01:21:01 CET] <Aatch> Hmm, so I probably shouldn't rely on there being a buffer, but I can probably get away abusing the codec's for the proof-of-concept I'm doing. Thanks!
[01:22:58 CET] <SortaCore> ffmpeg.exe rtsp -> mp4 results in frame= 2169 fps=5.4 q=-1.0 size= 23040kB time=00:06:55.03 bitrate= 454.8kbits/s speed=1.03x
[01:52:06 CET] <SortaCore> thebombzen: does any of that help ya
[01:55:39 CET] <thomedy> okay im begging someone for help
[01:55:57 CET] <thomedy> im trying to include ffmpeg as an external library into my c++ program on mac osx 8
[01:56:07 CET] <thomedy> any mac developers
[02:01:49 CET] <SortaCore> thomedy: this is IRC so help may take several hours
[02:03:04 CET] <thomedy> well i am subject to my frustrations anyway... are you available now?
[02:03:26 CET] <SortaCore> I know nothing about mac
[02:03:49 CET] <thomedy> dude im stumpped
[02:04:09 CET] <thomedy> this shouldn't be this hard but i dont think im doing anything crazy its just not working
[02:05:01 CET] <SortaCore> you've compiled it for shared library then?
[02:05:47 CET] <thomedy> i did brew install
[02:06:02 CET] <thomedy> so i let home brew build it.. im downloading the srccode now to try that
[02:09:11 CET] <kepstin> for c++ the thing to note is that ffmpeg is a C library, so you're gonna have to put extern "C" {} around the header includes, other than that, just use pkg-config for compiler and linker flags (homebrew should set that up, I think, although i'm not a mac user...)
[02:09:36 CET] <thomedy> there is a pkg_config in my folder
[02:09:44 CET] <thomedy> and so that means i need extern "c"
[02:09:46 CET] <thomedy> to include
[02:09:52 CET] <thomedy> and #include < wont work
[02:09:56 CET] <thomedy> is that what your saying
[02:10:03 CET] <thomedy> i will have to google pkg-config
[02:10:22 CET] <thomedy> everything is so outdated or swift/objective c related
[02:10:37 CET] <kepstin> you still use #include, but you have to wrap it inside an extern "C" {} block so the compiler knows it's a C include, not C++
[02:14:16 CET] <garyserj> kepstin: thanks
[02:26:16 CET] <thebombzen> SortaCore: that says it's 6 frames per second. is the video supposed to be 6 frames per second?
[02:28:31 CET] <SortaCore> yep
[02:29:00 CET] <SortaCore> but the pastebin has a far higher duration
[02:29:15 CET] <SortaCore> I record for about 30 seconds or so and it turns it into 21 minutes and greater
[02:39:05 CET] <thebombzen> SortaCore: it sounds like you're probably writing the PTS incorrectly
[02:39:30 CET] <thebombzen> or somehow your implementation isn't correctly writing the file
[02:39:41 CET] <thebombzen> as for how to do it properly? I have no idea, I dont' use the API
[02:39:43 CET] <DHE> timebase mismatch maybe?
[03:42:14 CET] <Netun0> Hi, I'm streaming OK but my problem is audio.. will it be possibile in near future to just repeat a audio in ffmpeg?
[04:04:11 CET] <SortaCore> DHE: the time base is set to the RTSP stream's one, 1/90000
[04:04:23 CET] <SortaCore> but I am manually setting the PTS/DTS to framenum++
[04:05:15 CET] <SortaCore> then I do av_packet_rescale_ts on video container time base and video file stream timebase, then multiply both DTS and PTS by two
[04:05:54 CET] <SortaCore> I came up with this method after a good while of strugging to get libx264 to work without complaining about non-monotonic DTS
[04:06:20 CET] <SortaCore> works fine in h264_qsv too, just copy without transcode that's messed up
[04:23:09 CET] <Johnjay> hmm ok
[05:45:10 CET] <SortaCore> without pts/dts manually set, I get Application provided invalid, non monotonically increasing dts to muxer in stream
[08:27:36 CET] <dradakovic> i have ffmpeg running and working fine. But i would like some sort of monitorin to see if specific multicast from it is still active or did it drop. Can i do that locally with ffprobe? I cant seem to join my local ffmpeg streams. I can join the streams from anywhere else on the network
[08:28:05 CET] <dradakovic> I can see it active with tcpdump but i wanted to make a script to check for activity
[08:28:21 CET] <dradakovic> cant put tcpdump in a script. SO ffprobe would be fine
[09:00:32 CET] <hendry> hi, i'm trying to create a webp thumbnail like Youtube does it, but `ffmpeg -i ~/media/out/2017-12-17/MVI_6940.MP4 -vf scale=320:240 -vf fps=1 out.webp` scaling doesn't seem to work. Any ideas where I am going wrong ?
[09:37:06 CET] <jkqxz> hendry: You can't give it multiple "-vf" options (it just uses the last one). Combine them into a single filter chain as "-vf scale=320:240,fps=1".
[09:38:11 CET] <hendry> jkqxz: ah
[10:51:35 CET] <SortaCore> DHE/JEEB: any suggestions for keeping a good dts/pts for RTSP H264? Without setting them relative to frame number, I get complaints about non-monotonic increasing DTS when copying the H264 straight from rtsp demuxer to mp4 muxer
[10:52:23 CET] <SortaCore> setting frame number works fine in non-copy and copy, but in copy the duration of the file is completely wrong, 21 mins or greater for a half-minute file
[10:52:31 CET] <SortaCore> (copy being no transcode)
[11:08:15 CET] <Nacht> Hmm. I always thought an IDR frame should have a PPS and SPS accompanying it.
[12:13:11 CET] <SortaCore> is there a reason GitHub needs to keep a HTTPS connection open constantly in the background :p
[12:16:11 CET] <jrabe> are you referring to the websocket connection?
[12:18:40 CET] <BtbN> Isn't it pretty common to keep the http connection open? So it doesn't have to be re-established the next time
[12:21:06 CET] <zash> Don't browsers keep like a ton of connections open?
[12:21:34 CET] <jrabe> they do, and GitHub also uses websockets to push live updates (for example if someone adds a new comment to an issue you have open)
[12:34:04 CET] <SortaCore> yea, keeping connections open while the user has the tab open... or even had it open in the last hour or so...
[14:59:12 CET] <DHE> SortaCore: it also dynamically tracks the little notification icon. so yeah...
[15:59:00 CET] <alexpigment> does anyone know what the use case is for xHE-AAC?
[16:03:47 CET] <alexpigment> nm, ignore the last question. what exactly is the difference between MPEG-2 AAC and MPEG-4 AAC?
[16:04:01 CET] <alexpigment> can I use MPEG-2 AAC inside an MPEG-4 container?
[16:05:33 CET] <DHE> the ".mp4" file format largely has nothing to do with the "MPEG" family of codecs
[16:06:18 CET] <alexpigment> well, if I'm using the native AAC encoder in FFMPEG to create MPEG-4 files with H.264 + AAC, am I using MPEG-2 AAC or MPEG-4 AAC?
[16:07:03 CET] <atomnuker> mpeg4
[16:07:27 CET] <alexpigment> is there a way to create MPEG-2 AAC instead within FFMPEG?
[16:08:16 CET] <atomnuker> yes, -profile mpeg2_aac_low
[16:08:41 CET] <atomnuker> -profile:a mpeg2_aac_low
[16:08:43 CET] <alexpigment> awesome. is there any noticeable change in quality? any loss in compatibility?
[16:09:13 CET] <atomnuker> yes, there'll be a slight loss in quality, there should be an increase in compatibility
[16:09:34 CET] <alexpigment> would 160kbs still be relatively transparent though?
[16:09:36 CET] <alexpigment> er
[16:09:38 CET] <alexpigment> kbps
[16:09:38 CET] <atomnuker> yes
[16:09:45 CET] <alexpigment> that's what I needed to know
[16:09:47 CET] <alexpigment> thanks atomnuker
[16:12:01 CET] <Kingsy> I have a video file, 1080p mkv h264 and when I play it on a blu ray player via usb its jumpy. Works fine on my compujter. What would be the bestway to re-encode it via ffmpeg so it plays smooth on the player?
[16:14:15 CET] <alexpigment> Kingsy: what's the frame rate? what's the bitrate?
[16:15:09 CET] <Kingsy> one second
[16:16:35 CET] <Kingsy> alexpigment: 23.976 fr
[16:16:41 CET] <alexpigment> that should be fine
[16:16:45 CET] <alexpigment> what's the bit rate and level
[16:16:59 CET] <Kingsy> 1536kb/s
[16:17:05 CET] <Kingsy> not sure what you mean by level
[16:17:07 CET] <alexpigment> that's the audio bit rate presumably
[16:17:17 CET] <alexpigment> PCM stereo audio I'm guessing?
[16:18:04 CET] <alexpigment> anyway, here's what I'd recommend:
[16:18:26 CET] <alexpigment> ffmpeg -i [infile] -c:v copy -c:a aac output.mp4
[16:18:42 CET] <Kingsy> alexpigment: the audio is DTS
[16:18:54 CET] <alexpigment> if it's still jumpy, there's something about the video stream that's creating the problem
[16:19:10 CET] <alexpigment> if it plays fine, then it was either a) the MKV container or b) the audio track(s)
[16:19:21 CET] <Kingsy> could it be because its DTS?
[16:19:32 CET] <Kingsy> the content bitrate is roughly 4000 kb/s
[16:19:33 CET] <alexpigment> DTS could be a problem within an MKV container, I suppose, though the player should almost certainly support DTS on a Blu-ray disc
[16:19:35 CET] <Kingsy> but it varies
[16:19:57 CET] <Kingsy> alexpigment: can we convert that too with ffmpeg
[16:20:09 CET] <Kingsy> I don't care if its DTS as long as its reasonable
[16:20:13 CET] <alexpigment> yeah, that's what the command I did above does
[16:20:15 CET] <Kingsy> just to try and cover all bases.
[16:20:29 CET] <alexpigment> it's converting only the audio to AAC and putting it in a more standard MP4 container
[16:20:37 CET] <alexpigment> and leaving the video untouched
[16:20:52 CET] <Kingsy> ah ok! is it worth scaling it down to 720p incase its the software decoder ont he device?
[16:21:06 CET] <alexpigment> Kingsy: I doubt it
[16:21:27 CET] <alexpigment> re-encoding the video is time consuming and will generally cause loss in quality
[16:21:43 CET] <alexpigment> converting the audio from DTS to AAC will probably be unnoticeable to most people
[16:21:47 CET] <Kingsy> thats true I suppoed. but the goal is to get it to be smooth and watchable.
[16:22:01 CET] <Kingsy> if its jumpy it wont cut it
[16:22:14 CET] <Kingsy> so a loss in quality if it makes it smooth is fine really. 720p is still decent
[16:22:21 CET] <Kingsy> but if you say it wont matter than I beelive you
[16:22:23 CET] <alexpigment> Kingsy: please try the command I listed above
[16:22:27 CET] <Kingsy> I know nothing about this stuff
[16:22:28 CET] <Kingsy> ok
[16:22:38 CET] <alexpigment> let me know what you find and we'll go from there
[16:22:48 CET] <alexpigment> it should be a very quick test
[16:24:07 CET] <Kingsy> alexpigment: thanks! I will try it tonight, will you be around tomorrow same tiem? I will let you know what happens :)
[16:25:16 CET] <alexpigment> most likely. if I'm not, just re-ask the question and say that you've ruled out the audio and the container as being problematic
[16:27:37 CET] <Kingsy> ok great. Thanks so much!
[16:28:48 CET] <alexpigment> np
[16:33:44 CET] <Nacht> Is it possible to get 'showspectrumpic' to only draw certain freq (bandwidth) ? I'm only intrested in 200hz to 500hz
[16:39:42 CET] <alexpigment> atomnuker: is there a way to tell in the resultant stream if MPEG-4 AAC or MPEG-2 AAC is being used?
[16:44:42 CET] <alexpigment> when specifying -profile:a mpeg2_aac_low , i get the following warning: "PNS unavailable in the "mpeg2_aac_low" profile, turning off"
[16:45:03 CET] <alexpigment> i'm not sure if that means *turning off PNS* or *turning off mpeg2 aac low profile*
[16:45:17 CET] <alexpigment> and I can't figure out a way to verify either one
[16:58:08 CET] <kepstin> turns off PNS: https://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/aacenc.c;h=fa793…
[16:58:47 CET] <alexpigment> that's what I thought. i just can't figure out a way to tell that the stream is actually MPEG-2 AAC LC
[17:05:11 CET] <alexpigment> anyway, I guess it's relevant to point out that MPEG-2 AAC LC's royalty payments are no longer needed as of Dec 4, 2017
[17:05:25 CET] <atomnuker> alexpigment: the only difference between mpeg4 aac and mpeg2 aac is that PNS isn't available in mpeg2 aac
[17:05:28 CET] <alexpigment> but MPEG-4 AAC LC and other variants still require royalties
[17:05:49 CET] <atomnuker> so pns is turned off if you use the mpeg4 aac profile
[17:06:01 CET] <alexpigment> atomnuker: that's my understanding as well. I just am looking for something to say "MPEG-2 AAC LC" when looking at the file
[17:06:09 CET] <atomnuker> not possible
[17:06:14 CET] <alexpigment> ok
[17:06:33 CET] <alexpigment> well, I guess that's what I needed to know
[17:06:35 CET] <atomnuker> in fact, pns should be ignored by any mpeg2 decoders
[17:07:08 CET] <atomnuker> one person did complain that an early-2000 home cinema player didn't decode it correctly with pns so I added that profile switch
[17:07:38 CET] <alexpigment> well, it's good to know I'm talking to the right person then :)
[17:07:40 CET] <atomnuker> I guess that decoder must have been non-compliant as it didn't ignore it
[17:08:03 CET] <alexpigment> a non-compliant decoder? surely not... :)
[17:08:23 CET] <atomnuker> in an early 2000s hardware decoder? its more likely than you'd think
[17:08:35 CET] <alexpigment> I was making a joke
[17:09:07 CET] <atomnuker> I know :)
[17:09:39 CET] <alexpigment> so is PNS just a flag that tells the decoder to add noise?
[17:10:51 CET] <atomnuker> more than that, high frequencies (e.g. from cymbals or "S" from human voice) is essentially just noise
[17:11:03 CET] <atomnuker> noise is hard to encode normally
[17:11:43 CET] <atomnuker> so PNS allows you to skip coding expensive coefficients and just replace them with white noise
[17:11:57 CET] <alexpigment> ok, so there is an actual difference in the encoder then
[17:12:25 CET] <alexpigment> "replace all open hi hats with white noise"
[17:12:53 CET] <alexpigment> those are the hardest things to encode in my experience
[17:13:23 CET] <alexpigment> i can hear 'watery' sounds in open hi hats in most lossy streams
[17:14:29 CET] <atomnuker> yeah, that's spectral leakage, its what happens when the frequencies spread out, both in the time domain (lapped transforms) and frequency domain (quantization)
[17:14:50 CET] <alexpigment> interesting
[17:15:02 CET] <atomnuker> opus solved this issue by using cleverer quantization so its cheap to code noise, but opus has troubles with tones
[17:15:37 CET] <atomnuker> thankfully the tone disadvantage is less than the disadvantage of not being able to code noise efficiently so that's part of why opus is so good
[17:16:13 CET] <alexpigment> ah
[17:17:45 CET] <alexpigment> well, back to the original point, it might be interesting to others to know that using -profile:a mpeg2_aac_low can save a company money
[18:03:07 CET] <termos> calling av_buffersrc_add_frame_flags on full hd frames is taking a lot of memory bandwidth, especially if done multiple times into different filter graphs. My "routing thread" that pushes frames into different filter+encoding threads eat a lot of time. Is there a way around this?
[18:12:53 CET] <ritsuka> alexpigment: why would it save money?
[18:13:37 CET] <alexpigment> ritsuka: because the patent fees for MPEG-2 AAC LC went away on December 4th
[18:13:56 CET] <alexpigment> MPEG-4 AAC LC fees still in effect until 2023 for most countries
[18:17:44 CET] <DHE> termos: are you using reference counted frames? it eliminates the need for copying when frames are passed around. especially if you have a split call in your filtergraph
[18:18:45 CET] <termos> hm, no split call, it's several different filter graphs so I don't think I can use ref counted frames as all the filter graphs can't filter the same frame data
[18:19:02 CET] <atomnuker> termos: are your frames refcounted/
[18:21:55 CET] <termos> no they are not
[18:25:02 CET] <termos> it works well if I have 4-5 encodings, but when it get close to 15 output resolutions there are issues. Doing some proxy scaling before pushing to lower resolution filter graphs lowers the time spent copying by a lot, but still not sufficient. Just wondering if this is a solved problem
[18:26:02 CET] <DHE> if you reference count the frames then the AVFrame effectively is read-only but the same memory is used for all of them. you really should be doing that.
[19:13:00 CET] <alexpigment> i've got a weird one that I could use some help with
[19:13:30 CET] <alexpigment> in the past, I've used a patch to x254's encoder.c file to limit the number of threads that it automatically calculates to 16
[19:13:38 CET] <alexpigment> this helps on systems with low amounts of RAM
[19:14:03 CET] <alexpigment> anyway, trying to rebuild today and when the patch is in place, I get lots of errors
[19:14:23 CET] <alexpigment> patch: https://pastebin.com/3LKzChCj
[19:14:28 CET] <DHE> number of threads shouldn't have that big an impact on RAM usage. lookahead is going to consume WAY more memory
[19:14:31 CET] <alexpigment> errors: https://pastebin.com/QaJYFYcD
[19:14:43 CET] <DHE> line 8 has a misbalanced number of parens
[19:14:55 CET] <alexpigment> oh :)
[19:14:58 CET] <alexpigment> well, there's that
[19:15:03 CET] <alexpigment> I was copying and pasting from an older patch
[19:15:21 CET] <alexpigment> I guess that somehow got changed. Thank you for noticing that
[19:18:17 CET] <alexpigment> DHE: i believe the lookahead threads is based on the max threads value
[19:18:42 CET] <alexpigment> in which case, I think this effectively does the same thing
[19:19:21 CET] <DHE> it's not number of threads. it's number of frames. x264 effectively stores uncompressed frames in memory up to the requested number (assuming nothing caps it)
[19:20:16 CET] <alexpigment> oh you're talking about the rc_lookahead value
[19:20:27 CET] <alexpigment> I believe I already cap that for certain resolutions
[19:21:02 CET] <alexpigment> but either way, capping the threads as I'm doing is very much the difference between being able to encode 4k and not
[19:21:34 CET] <alexpigment> especially if you have a processor with 16 logical cores
[19:47:07 CET] <alexpigment> atomnuker: do you know of an easy way to force -profile:a mpeg2_aac_low for all AAC encoding? editing the source is a lot easy for me than editing all my generic -c:a aac calls to ffmpeg
[19:47:54 CET] <atomnuker> change {"aac_pns", "Perceptual noise substitution", offsetof(AACEncContext, options.pns), AV_OPT_TYPE_BOOL, {.i64 = 1},
[19:47:58 CET] <atomnuker> to {"aac_pns", "Perceptual noise substitution", offsetof(AACEncContext, options.pns), AV_OPT_TYPE_BOOL, {.i64 = 0}, ...
[19:48:34 CET] <alexpigment> is that in aacenc.c?
[19:48:40 CET] <atomnuker> yes
[19:48:42 CET] <alexpigment> awesome
[19:48:45 CET] <alexpigment> thank you very much
[19:48:46 CET] <atomnuker> or "if (avctx->profile == FF_PROFILE_MPEG2_AAC_LOW)" to if (1)
[19:49:59 CET] <alexpigment> the former seems easy enough
[19:50:03 CET] <alexpigment> thanks again
[19:50:52 CET] Action: therage3 blinks
[20:07:51 CET] <sm_> hi, i'm trying to use ffmpeg to pull images from a video every minute. this works fine but when i try to scale the images down, the ffmpeg command doesn't work.
[20:07:58 CET] <sm_> https://pastebin.com/iG44cbBg
[20:08:29 CET] <sfan5> pastebin the output too
[20:11:24 CET] <sm_> output: https://pastebin.com/gyjUWiA2
[20:12:15 CET] <sfan5> i don't see an error message there
[20:12:33 CET] <sfan5> in any case don't pass vf twice and use -vf fps=1/60,scale=320:180 instead
[20:12:51 CET] <sm_> sorry I wasn't clear. no error message comes up but the output seems like it's outputting every single frame - not one every minute
[20:12:55 CET] <sm_> Ok i can try that
[20:15:08 CET] <sm_> @sfan5 passing in vf once looks like it fixed my issue, thank you
[21:38:04 CET] <saml> how can I cut a video file without re-encoding?
[21:38:21 CET] <saml> by googling. thanks
[21:39:12 CET] <alexpigment> saml: did you answer yourself in your second line or what?
[21:39:21 CET] <saml> yup i did
[21:39:24 CET] <alexpigment> ok
[21:39:35 CET] <saml> -vcodec copy -acodec copy -ss
[21:39:47 CET] <alexpigment> yeah
[21:40:07 CET] <alexpigment> one thing to note is that it may not be frame-accurate depending on the gop length of your original video
[21:40:26 CET] <alexpigment> i'm pretty sure you can only cut at I-frames
[21:40:46 CET] <alexpigment> anything else requires a smartcutter like VideoRedo
[21:40:58 CET] <saml> ah i see. i just wanted to cut this 5GB file to something under 1MB where there's problem with ffmpeg
[21:41:04 CET] <alexpigment> ah
[21:41:09 CET] <alexpigment> should be fine then
[21:41:18 CET] <saml> ffmpeg fails at certain point of the video with a bunch of errors. i wanted to isolate so i can show you :P
[00:00:00 CET] --- Wed Dec 20 2017
1
0
[00:03:41 CET] <ubitux> "deprived of kids" sounds weird
[00:04:05 CET] <Chloe> ubitux: i think durandal_1707 was asking 'were the kids or you deprived of chocolate'
[00:04:54 CET] <ubitux> i know, it just sounded creepy so i wanted to point it out :)
[00:05:17 CET] <ubitux> (because that's funny. i think. maybe.)
[00:09:56 CET] <TimothyGu> how do you all get to travel so much
[01:35:45 CET] <SortaCore> TimothyGu: they're evading Interpol
[01:36:24 CET] <SortaCore> anyone know why frame rate/duration is butchered in RTSP H264 copied to MP4 H264?
[01:36:47 CET] <SortaCore> plays fine in vlc, but codec info is all wrong
[02:07:15 CET] <cone-644> ffmpeg 03Aurelien Jacobs 07master:3f8874406773: aptx: add codec cap SMALL_LAST_FRAME and INIT_THREADSAFE as appropriate
[02:23:08 CET] <SortaCore> *raises hands in praise to BBB*
[02:23:18 CET] <BBB> Ive seen that crap in several channels now :-/
[02:23:33 CET] <Fenrirthviti> Had to leave 6 channels I was in
[02:23:37 CET] <Fenrirthviti> due to inactive ops. Very annoying.
[02:23:43 CET] <rcombs> set mode +q $~a
[02:23:49 CET] <Fenrirthviti> Seen spam for that guy for months, actually.
[02:23:51 CET] <DHE> I'm not a fan of it, but there are modes you can set on the channel that only allows registered users to join the channel or to talk (two different modes)000000
[02:23:56 CET] <iive> freenode stuff is flooder with complaints too
[02:24:03 CET] <rcombs> DHE: the latter is +q $~a
[02:24:09 CET] <Fenrirthviti> He seems to have pissed off a bunch of people and now they're trying to slander him by making it seem like this is him spamming
[02:24:11 CET] <rcombs> I just removed BEL support from my client
[02:25:10 CET] <SortaCore> a hop into Inspect Elements fixed that mess
[02:25:17 CET] <SortaCore> anyone have a tip for my framerate/duration problem?
[02:25:35 CET] <BBB> no, sorry :/
[02:26:23 CET] <Shiz> almost all freenode chans are being spammed
[02:26:27 CET] <jamrial> BBB: nice, that was quick
[02:26:35 CET] <BBB> luck
[02:26:37 CET] <BBB> :-p
[02:26:51 CET] <BBB> I happened to be around
[02:28:08 CET] <jamrial> hehe
[09:53:52 CET] <ubitux> $
[11:12:35 CET] <atomnuker> my main laptop's not booting after leaving it off for a week because of some debian/gdm issue
[11:14:09 CET] <atomnuker> tempted to install gentoo but I require nothing but total systemd integration for everything and gentoo doesn't because ignorant bastards want openrc to work
[11:14:31 CET] <SortaCore> windows 2000 best OS
[11:18:41 CET] <durandal_1707> atomnuker: you nuked laptop, awesome
[11:18:58 CET] <atomnuker> I didn't
[11:19:11 CET] <atomnuker> it just stopped booting by itself
[11:21:29 CET] <SortaCore> NSA kill switch activated
[11:22:21 CET] <atomnuker> systemd haters are the equivalent of conservative bastards
[11:22:23 CET] <atomnuker> "I don't have anything against systemd. What I dislike is how systemd is being forcibly implemented. If systemd was that beneficial to me, I would be voluntarily embracing it as I have done so many other changes, but it is not that beneficial and so I will not embrace it, especially not when it is forced on me."
[11:22:35 CET] <durandal_1707> atomnuker: do you have all your work on cloud?
[11:22:59 CET] <atomnuker> most, I have a 6tb hdd and an 8tb one
[11:24:09 CET] <atomnuker> look at that quote, its absolutely disgusting and wrong
[11:24:44 CET] <durandal_1707> you cited whom ?
[11:25:31 CET] <atomnuker> https://github.com/dantrell/gentoo-project-gnome-without-systemd/blob/maste…
[11:26:03 CET] <iive> well, gentoo is one of the few distributions that actually let you choose if you want to use systemd
[11:29:56 CET] <atomnuker> by default its openrc so everything's meant to work the old way
[11:31:38 CET] <atomnuker> "For me, I have a mask file that includes every major piece of code poettering has touched. I will NEVER allow systemd, pulse or avahi on any of my Gentoo systems. gconf and dconf have also been masked as they create a lot of "systemd compatible" crap, polluting my system for no good reason."
[11:31:52 CET] <atomnuker> absolutely delicious
[11:36:31 CET] <iive> well, unfortunately, systemd is still incomplete. It lacks a text editor.
[11:38:43 CET] <Chloe> atomnuker: doesn't gentoo support systemd if you want it
[11:40:14 CET] <atomnuker> it does, but its bound to be badly integrated in a non-standard way with the rest of the distributions
[11:42:33 CET] <iive> atomnuker: what?!
[11:42:39 CET] <Chloe> atomnuker: aren't overlays pretty standard and integrated, especially official ones?
[11:43:05 CET] <Chloe> though I'm not experienced with gentoo so I don't really know
[11:43:36 CET] <michaelni> atomnuker, about "laptop's not booting", probably its a different issue but last time i saw one/mine not booting it was because ubuntu put UEFI files in a different directory than what the notebook bios looked into resulting in the thing acting as if there was no OS installed
[11:44:25 CET] <iive> i've also heard that systemd tries to mount everything from fstab and panics if it cannot.
[11:44:51 CET] <atomnuker> no, the issue here is that I get "failed to start user UID=111" on the boot log and trying to use a different VT just makes the screen flash back to the login screen if I put my login info
[11:45:01 CET] <atomnuker> ssh just immediately exits without running anything
[11:45:38 CET] <atomnuker> thought its because of gdm but using a rescue shell to remove the executable doesn't fit anything
[11:45:39 CET] <iive> What?!!
[11:45:52 CET] <atomnuker> yeah, weird
[11:46:08 CET] <bencoh> what if you disable ssh pty allocation and try running a command there?
[11:46:50 CET] <iive> gdm is for X, can't you boot to text mode or something?
[11:47:40 CET] <iive> gdm - gnome display manager.
[11:49:51 CET] <Chloe> nice, having a comment after an extern breaks configure
[11:50:32 CET] <Chloe> in the lists anyway
[12:00:58 CET] <atomnuker> iive: it never goes to gdm, its stuck in text mote
[12:01:00 CET] <atomnuker> *mode
[12:01:19 CET] <atomnuker> and also like I said if you try to login from another VT you don't get a shell
[12:02:42 CET] <jkqxz> init=/bin/bash
[12:04:13 CET] <jkqxz> (Sounds like a systemd problem...)
[12:04:35 CET] Action: iive hides
[12:15:11 CET] <atomnuker> init=/bin/bash gets stuck before the kernel even boots up
[12:15:47 CET] <iive> you add it to the kernel line, if that wasn't clear
[12:16:06 CET] <iive> also, check if you have bash executable at that place
[12:18:44 CET] <jkqxz> If you're inside the initrd rather than the initial root being a real disk then it might not have bash.
[12:19:09 CET] <iive> it might look at initrd filesystem... initrd systems prefer bisybox that emulates all commands, including sh and bash
[12:19:16 CET] <iive> busybox
[12:20:15 CET] <iive> the initrd is specified on the kernel line, so you can remove it when you add the init.
[12:20:31 CET] <iive> i assume grub that allows editing.
[12:21:26 CET] <atomnuker> jkqxz: yeah, I should try /bin/sh
[12:23:27 CET] <stevenliu> fdisk -l lookup the disk partitions
[12:56:11 CET] <iive> atomnuker: how is it going?
[13:26:20 CET] <atomnuker> dunno, I wanna reinstall anyway because debian's kde hasn't been updated in months and because I want to use f2fs
[13:26:46 CET] <BtbN> Why would you want to use f2fs? Are you installing on an SD Card?
[13:26:50 CET] <Chloe> atomnuker: why do you want to use f2fs?
[13:27:29 CET] <atomnuker> its faster than btrfs for nvmes, its not only for sd cards, its for anything flash based
[13:27:54 CET] <BtbN> The primary point of f2fs is to look like fat32, so the crappy wear-leveling of cheap flash can handle it
[13:28:02 CET] <BtbN> On propper SSDs ext4 is preferable
[13:31:12 CET] <atomnuker> ext4 doesn't even have any flash optimizations, its stale, "stable" and old by now
[13:31:29 CET] <atomnuker> https://www.phoronix.com/scan.php?page=article&item=linux-nvme-raid&num=3 does show f2fs is faster than btrfs
[13:31:40 CET] <BtbN> it's not hard to be faster than btrfs
[13:32:20 CET] <atomnuker> its faster than ext4 too
[13:32:42 CET] <BtbN> I see ext4 on top there.
[13:33:09 CET] <BtbN> or so slightly behind that it's probably just noise
[13:34:42 CET] <atomnuker> on one benchmark, yeah
[13:35:01 CET] <atomnuker> all others have f2fs being faster
[13:35:59 CET] <Chloe> 'stable' sounds like a better quality than 'fast but maybe not as stable' for a filesystem
[13:36:44 CET] <Chloe> Guess you just have to weigh up speed vs reliability
[13:38:21 CET] <BtbN> I remember there being some fuzzing test that completely wrecked f2fs with almost every attempt, and ext4 was not really affected at all
[13:40:16 CET] <iive> atomnuker: if you reinstall, before you find and fix the problem, I'm going to use this case as example how crappy systemd is
[13:40:32 CET] <iive> because it makes impossible to debug and fix your system :P
[13:40:47 CET] <iive> if anything goes wrong with it.
[13:41:25 CET] <ubitux> the ffmpeg community hasn't enough of its own drama it needs to brings the systemd one into it as well
[13:44:05 CET] <iive> well, if you know how to fix atomnuker's issue, go ahead.
[13:45:02 CET] <ubitux> it doesn't sound related to multimedia in a meaningful way
[13:45:22 CET] <iive> well, if you cannot log into your development machine...
[13:45:53 CET] <ubitux> yeah well, i don't expect help from ffmpeg-devel if i loose my home keys
[13:47:06 CET] <atomnuker> iive: you're just bringing in systemd because its init related when I don't think it has any connection at all!
[13:47:14 CET] <atomnuker> you're a systemd hater too, aren't you!
[13:50:49 CET] <nevcairiel> every sane person should be
[13:56:40 CET] <atomnuker> right, nevcairiel's correct, I should be using windows because it has no systemd
[13:57:38 CET] <BBB> every knows mac > windows
[13:57:42 CET] <BBB> <3
[13:59:21 CET] <Chloe> atomnuker: you could even try run kde on linux on windows
[14:00:15 CET] <cone-347> ffmpeg 03Ronald S. Bultje 07master:df3222d4bb18: libvmaf: exit gracefully if the library fails.
[14:11:24 CET] <iive> atomnuker: well, what is the problem then?
[14:17:09 CET] <iive> while the problem might not be in systemd itself, it kind of makes it from hard to impossible to locate the real problem.
[14:17:27 CET] <iive> and you are above avarage linux user, admin and programmer.
[14:23:31 CET] <BtbN> imo it got way easier to locate and debug problems with systemd and journald. You just have to learn it once. But lets not discuss that here please.
[14:27:24 CET] <iive> BtbN: give a hand to atomnuker then. :D
[14:52:19 CET] <cone-347> ffmpeg 03Mateusz 07master:6260ab60a80f: avfilter/vf_overlay: fix packed_rgb case
[15:25:50 CET] <cone-347> ffmpeg 03Paul B Mahol 07master:5f2c4d044f76: doc/filters: update biquad filters with commands section
[16:51:27 CET] <thealexbarney> I released the source to an ATRAC9 decoder last week, so I figured I'd drop in and see how adding that into FFmpeg is going. From what I gather, atomnuker will be handling that?
[16:51:59 CET] <thealexbarney> I posted a more standalone decoder if that's of any use: https://github.com/Thealexbarney/LibAtrac9
[17:14:19 CET] <atomnuker> thealexbarney: will do it by the re'd spec you released + whatever I don't understand from the decoder code you released
[17:35:31 CET] <ubitux> why decode_{audio,video} set decode_failed to 1 on EOF?
[17:35:38 CET] <ubitux> is this on purpose? (fftools/ffmpeg.c)
[17:37:19 CET] <wm4> who knows
[17:38:14 CET] <wm4> doesn't seem to matter
[17:38:34 CET] <ubitux> doesn't end up printing an EOF "error"?
[17:38:56 CET] <ubitux> ah, no right there is a check before that
[17:39:04 CET] <jdarnley> Has Agner Fog done his instruction timing on an AVX-512 Skylake/Cannonlake or not?
[17:39:15 CET] <jamrial> on verbose/debug level it does print a "end of file reached" message or so, i recall
[17:39:37 CET] <jdarnley> I was looking at his tables but it only seems to list Knights Landing
[17:39:57 CET] <jdarnley> Gramner: do you know anything about that ^ ?
[17:44:08 CET] <thealexbarney> atomnuker, there are a few things I haven't gotten around to adding to that spec. I'm also available to clarify anything, although I probably won't be on IRC too much. Most of my knowledge of audio coding techniques comes from RE'ing the HCA and ATRAC9 codecs over the past ~half-year with no outside help, so I wouldn't be surprised if there were some oddities in the source because of that.
[17:53:48 CET] <ubitux> filter-overlay_rgb(a)_rgba seems to be failing randomly
[17:53:50 CET] <ubitux> is this known?
[17:54:31 CET] <ubitux> or maybe that was fixed recently
[17:54:39 CET] <ubitux> (looking at fate)
[18:03:20 CET] <ubitux> k it's fixed
[18:28:33 CET] <jdarnley> Gramner: on a related note do you know why nasm complains about "pcmpgtq m0, m1" under "INIT_YMM avx512"?
[18:29:49 CET] <Gramner> because that instruction doesn't have an evex version
[18:29:57 CET] <jdarnley> oh
[18:30:16 CET] Action: jdarnley opens the manual
[18:31:36 CET] <jdarnley> oh right, it can only put the results in a k register
[18:34:36 CET] <jdarnley> Sorry to bug you with that, I wanted to replace this emulation with the proper instruction anyway.
[18:42:32 CET] <Gramner> https://software.intel.com/sites/default/files/managed/ad/dc/Intel-Xeon-Sca… for SKL-X instruction latencies
[18:43:30 CET] <Gramner> and yes, some instructions are slow as hell. should improve with newer µarchs
[18:43:46 CET] <jdarnley> Thank you very much
[18:45:28 CET] <jdarnley> :( no index for it
[18:47:34 CET] <jdarnley> Wow, what a lot of instructions that begin with v! /s
[18:51:35 CET] <Gramner> vpconflictd zmm is one of the bestr ones at a blazing 74/17.5
[18:51:54 CET] <jdarnley> omfg
[18:52:18 CET] <Gramner> and I still made one DSP function in x264 faster using it
[18:52:21 CET] <jdarnley> that must be basically a scalar operation under the hood
[18:52:49 CET] <Gramner> its microcoded. 3/1 on xeon phi though
[18:53:07 CET] <jdarnley> VPCONFLICTD/QDetect Conflicts Within a Vector of Packed Dword/Qword Values into Dense Memory/ Register
[18:53:48 CET] <jdarnley> Test each dword/qword element of the source operand (the second operand) for equality with all other elements in the source operand closer to the least significant element. Each elements comparison results form a bit vector, which is then zero extended and written to the destination according to the writemask.
[18:56:56 CET] <jdarnley> A question: does "vpmaxsq ymm1{k1}, ymm2, [rdi]" hold one of the values for "max(a,b)" in the gp register?
[18:57:21 CET] <Gramner> no, it's a memory arg
[18:57:32 CET] <jdarnley> okay
[18:58:23 CET] <jdarnley> What does "m64bcst" mean in the instruction reference for pmaxsq?
[18:59:53 CET] <atomnuker> Gramner: what's vpconflictd useful for?
[19:00:08 CET] <Gramner> finding duplicate values
[19:00:43 CET] <jdarnley> "An operand that can be a ZMM register, a 512-bit memory location or a 512-bit vector loaded from a 64-bit memory location." Is that a broadcasted value then?
[19:01:35 CET] <Gramner> probably
[19:04:19 CET] <atomnuker> Gramner: where'd you want to find duplicate values? quantization?
[19:05:54 CET] <Gramner> I use it in mbtree cost propagation to avoid race conditions by detecting duplicate mb references
[19:06:18 CET] <Gramner> or well, race condition is probably not the correct term here, but similar
[19:53:52 CET] <thebombzen> this error should not happen: [null @ 0x55dd1c69c440] Application provided invalid, non monotonically increasing dts
[19:54:06 CET] <thebombzen> the NULL muxer should not care if the application provided invalid DTS or PTS or whatever
[19:54:10 CET] <thebombzen> seeing as it discards all output
[19:54:21 CET] <thebombzen> should I open an issue on TRAC about this or is it known?
[19:58:27 CET] <cone-347> ffmpeg 03Michael Niedermayer 07master:74f408cc8e9a: avformat/mov: Fix the the typo
[20:06:04 CET] <jkqxz> thebombzen: That message comes from the lavf core, not from the null muxer. It's always invalid, regardless of whether you are throwing away the output or not, so seems fair enough.
[20:11:37 CET] <durandal_1707> what you guys think about xvc codec?
[20:14:04 CET] <thebombzen> I guess what I care more about is that it's repeated over and over again and ffmpeg's automatic error message deduplication doesn't catch it
[20:14:08 CET] <thebombzen> because the timestamps are different
[20:14:46 CET] <thebombzen> perhaps the automatic error message deduplication should be made a bit more robust so DTS warnings and errors are not as spammy.
[22:11:41 CET] <atomnuker> jamrial: is there an aarch64 equivalent of something like http://www.felixcloutier.com/x86/ ?
[22:12:21 CET] <atomnuker> (or was it ubitux who did aarch64 simd)
[22:12:26 CET] <jamrial> it was him
[22:12:47 CET] <durandal_1707> nooo, write filter, leave arch optimizations
[22:13:11 CET] <atomnuker> im just curious to see what it has in terms of instructions
[22:13:48 CET] <durandal_1707> nothing useful, its sloow, i bet
[22:15:46 CET] <atomnuker> I already know its slow and worse in every way than x86 for manual asm
[22:16:30 CET] <atomnuker> (I'd rather have tens of bytes for a single instruction than lose x86 addressing)
[22:25:47 CET] <durandal_1707> atomnuker: is there big book like one for x86?
[22:27:05 CET] <atomnuker> that's what I'd like to know, I wanna write some aarch64 simd to prove its worse and not fun
[22:29:28 CET] <iive> ubitux was doing some aarch64
[22:31:10 CET] <atomnuker> https://en.wikipedia.org/wiki/Replay_system
[22:31:22 CET] <atomnuker> oh wow, " When this happens, the replay system signals the scheduler to stop, then repeatedly executes the failed string of dependent operations until they have completed successfully."
[22:31:50 CET] <atomnuker> never knew pentium 4 had such a huge hack
[22:37:25 CET] <wm4> I thought such mechanisms were common in modern CPUs
[22:46:05 CET] <TD-Linux> durandal_1707, it's a nice idea, though I see no reason to use it over AV1 (but I'm super biased)
[22:56:06 CET] <thardin> 31 stages? that's nothing compared to modern GPUs
[22:58:07 CET] Action: kierank wonders what michaelni is talking about on the ml
[22:58:27 CET] <kierank> on what planet do you need to stream ffmpeg structs over a network
[22:58:50 CET] <thardin> isn't that what nut is?
[22:59:02 CET] <BtbN> it's what ffm is iirc
[22:59:05 CET] <nevcairiel> no, thats what ffm iis, basically
[22:59:17 CET] <kierank> point still stands
[22:59:54 CET] <thardin> I guess it's useful when building pipelines in some cases
[23:00:25 CET] <thardin> can't for the life of me think of a case however
[23:01:38 CET] <kierank> conflates the idea of software structures and network structures
[23:01:40 CET] <philipl> The only thing better than C structs on the wire are internal structs on the wire.
[23:01:45 CET] <thardin> insert objection to libavfilter here
[23:02:01 CET] <thardin> it being graph based that is
[23:02:42 CET] <BtbN> wm4, adding a reserved field? Isn't adding more fields always possible?
[23:02:59 CET] <jamrial> BtbN: sizeof avpacket is part of the abi
[23:03:07 CET] <BtbN> oh wow
[23:03:17 CET] <BtbN> yeah, add something now then
[23:03:35 CET] <BtbN> Maybe even a bit more than just one field
[23:03:44 CET] <wm4> it could end up unused, or so
[23:03:45 CET] <philipl> Round up to the nearest gigabyte, just to be safe.
[23:04:11 CET] <jamrial> wm4: worst case scenario, it's removed during the next bump
[23:04:26 CET] <wm4> (I'm no sure how we'd achieve compatibility anyway with the old API)
[23:04:52 CET] <Chloe> jamrial: I think you mean the bump after the next next bump at least
[23:05:57 CET] <jamrial> no. a reserved field that never ends up being used can be removed without issue at the first chance
[23:06:49 CET] <wm4> anyway, there's the idea floating around that sizeof(AVPacket) should not be part of the ABI anymore, but I think it's too early for that
[00:00:00 CET] --- Tue Dec 19 2017
1
0
[00:00:53 CET] <prelude2004c> well i got it all going except when i add lnppi
[00:01:07 CET] <prelude2004c> some reason i am missing that and not sure how to get it.. still trying .
[01:20:13 CET] <kepstin> the nppi stuff is only needed for some video filters, iirc, you don't need it to use the hardware encoder
[01:31:49 CET] <prelude2004c> ok guys.. only thing i am missing now is libnpp
[01:31:53 CET] <prelude2004c> how do i enable that thing
[01:32:08 CET] <prelude2004c> says libnpp can't be found
[01:32:17 CET] <prelude2004c> i tried to install via the apt-get but i can't seem to get the right one
[01:48:02 CET] <prelude2004c> can anyone help?
[03:05:57 CET] <SortaCore> is it good practice to have DTS lower than PTS?
[03:06:51 CET] <iive> usually decoder time stamps are just reordered presentation time stamps
[03:09:28 CET] <SortaCore> what's the logic to the reordering?
[03:09:39 CET] <SortaCore> atm I'm just doing dts = pts = framenum
[03:11:35 CET] <DHE> when frames are decoded in a different order than they are rendered, dts <= pts. if they're in order, dts=pts
[03:11:47 CET] <DHE> most notably B-frames in the MPEG family of codecs do this
[03:12:43 CET] <DHE> just give the encoder the PTS you want on your AVFrames, and trust that the DTS and PTS it gives you is fine
[03:12:43 CET] <iive> SortaCore: b-frames are bi-directional, it means that they use parts from the previous frame, but also part from the next (future) frame
[03:13:07 CET] <iive> SortaCore: so you need to decode b-frames after the next frame.
[03:13:28 CET] <SortaCore> err, so is there anything wrong with how I'm doing it?
[03:14:05 CET] <DHE> don't choose your own DTS. the encoder will provide it for you.
[03:15:09 CET] <SortaCore> hmm, ok
[03:15:17 CET] <SortaCore> I'll turn off the setting and see if it dies
[03:15:32 CET] <SortaCore> *disable the code
[03:20:44 CET] <SortaCore> why does avformat_free_context() not take a AVFormatContext ** like the other frees?
[03:44:23 CET] <TheRock23> I got a video which is loaded in my library which uses ffmpeg.
[03:44:38 CET] <TheRock23> When the video is written while is being played it stops
[03:44:54 CET] <TheRock23> for example in vlc, the player just continues
[03:44:59 CET] <TheRock23> when there is more data
[03:45:11 CET] <TheRock23> is there a function to enable this?
[03:46:00 CET] <TheRock23> the video is loaded with a 14 second length, but while it's being played, it's 60 seconds (data written). it does stop at 14 seconds
[03:57:00 CET] <TheRock23> just figured out
[03:57:43 CET] <TheRock23> i need configure the chunk size that is loaded in memory somehow
[04:16:00 CET] <SortaCore> I'm losing ~4% CPU usage to System and interrupts
[04:16:07 CET] <SortaCore> that's bad as interrupts make my whole system lag
[04:18:14 CET] <DHE> ... one core or globally?
[04:22:33 CET] <SortaCore> err, I think globally?
[04:22:46 CET] <SortaCore> it's copying from web to file though, it shouldn't be interrupting
[04:24:23 CET] <SortaCore> hmm, might not be ffmpeg
[04:42:10 CET] <SortaCore> weird, dpc latency checker is showing no problem
[04:42:17 CET] <SortaCore> but my games are visibly lagging
[05:06:24 CET] <eahm> hi guys, I need a tip with variables, deleting etc. all at once
[05:06:54 CET] <eahm> I have a folder of .mkv, I would like to change the container of all of them to .mp4/m4v and delete (trash) the .mkv files
[05:07:42 CET] <SortaCore> use rm with wildcard *.mkv?
[05:07:57 CET] <eahm> "ffmpeg -i video.mkv -c:v copy -c:a copy video.mp4" this one does one by one
[05:08:53 CET] <eahm> this command actually changes the container right? they will work on iTunes this way? trying to convert a folder for my wife
[05:09:50 CET] <eahm> SortaCore: sorry, never used ffmpeg with commands before, no idea what that is
[05:13:30 CET] <SortaCore> it would change the container, not sure if it will make it compatible
[05:13:40 CET] <SortaCore> ffmpeg won't delete the input file, you have to use a second command
[05:15:04 CET] <eahm> yes I mean, Apple is being picky with .mkv files, probably just a rename would do it really, video and audio codecs are on on these files I checked
[05:15:19 CET] <eahm> for deleting no problem, I just need a tip for the variable
[05:15:37 CET] <SortaCore> the variable?
[05:15:39 CET] <eahm> how do I tell ffmpeg to pick every file and repack with the same filename?
[05:15:49 CET] <SortaCore> oh, hmm
[05:15:53 CET] <eahm> some website say %f some %ff?
[05:16:03 CET] <SortaCore> I dunno about the variables
[05:16:08 CET] <SortaCore> you may want a FOR loop?
[05:16:11 CET] <eahm> tried %f but not really sure how to start with the initialfile
[05:16:12 CET] <SortaCore> batch for
[05:18:58 CET] <furq> eahm: i take it you're on windows
[05:19:04 CET] <eahm> yes
[05:20:20 CET] <eahm> tried this "ffmpeg -i *.mkv -c:v copy -c:a copy *.mp4" not working, probably obviously
[05:23:06 CET] <hendry> hi, what cli tool do folks here use to decrypt AES-128 encoded .ts segments?
[05:31:32 CET] <SortaCore> is there a reason my custom metadata is destroyed?
[05:35:59 CET] <eahm> found this that may work: for %f in ("*.mkv") do ffmpeg -i "%f" -vcodec copy -acodec copy "%~f.mp4"
[06:00:17 CET] <Johnjay> eahm: i see another earnest traveler in search of ffmpeg encoding has discovered the milestone
[06:00:41 CET] <Johnjay> next job is to figure out how to get ffmpeg to download mp2t streams and convert them!
[08:06:21 CET] <johnnny22> my ffmpeg says: "Guessed Channel Layout for Input Stream #1.0 : 7.1" is there a way to specify what kind of channel layout it is in a simple way ?
[08:35:29 CET] <SortaCore> odd
[08:35:39 CET] <SortaCore> getsocketopt() has no error when the socket is closed by TCPView
[08:41:34 CET] <SortaCore> nor does ioctlsocket() for FION_READ, so I guess I'll have to just manually timeout?
[08:41:43 CET] <SortaCore> let's see if ffmpeg picks up on it first
[09:00:57 CET] <SortaCore> seems to be
[10:59:48 CET] <ledufakademy> hello,
[11:00:29 CET] <ledufakademy> is it possible to convert m4a (alac apple lossless) to flac ? if yes which is the command lien to use ? thnak you.
[11:01:14 CET] <sfan5> ffmpeg -i input.m4a -c:a flac output.flac
[11:01:24 CET] <sfan5> make sure you do not run this on AAC files though
[11:01:55 CET] <ledufakademy> i do that : ffmpeg -i "$sndFile" -c:a flac "$sndFileConverted"
[11:02:20 CET] <ledufakademy> but ffmpeg only convert one on two
[11:02:44 CET] <fritsch> that's not how it works
[11:02:51 CET] <fritsch> it's your bashism which is the problem
[11:02:54 CET] <fritsch> has nothing to do with ffmpeg
[11:03:13 CET] <ledufakademy> can you take a look ?
[11:03:42 CET] <fritsch> post your script to e.g. paste.ubuntu.com
[11:03:59 CET] <sfan5> you probably just need a for-loop
[11:04:11 CET] <ledufakademy> https://pastebin.com/ndFyQdUE
[11:06:43 CET] <sfan5> that looks like it should work, what does ffmpeg output
[11:06:44 CET] <sfan5> ?
[11:09:21 CET] <ledufakademy> the error is at teh begining : https://pastebin.com/fT3AYqRf
[11:09:50 CET] <fritsch> yeah
[11:09:59 CET] <fritsch> it's not properly espaped
[11:10:18 CET] <ledufakademy> sure but i can't see where ;-)
[11:10:20 CET] <fritsch> and whatever "ue" is in the front
[11:10:44 CET] <ledufakademy> yes this is this xxxx "ue" ... it must be /Disque/
[11:11:09 CET] <ledufakademy> ... and it work for first file but not second ...
[11:11:29 CET] <fritsch> $find /Disque/Interne/Music/ -name "*.m4a" | sort > listeToConvert.txt <- post that list
[11:11:32 CET] <fritsch> please
[11:13:01 CET] <fps> hmm, looking at http://ffmpeg.org/doxygen/trunk/group__lavu__log.html#ga14034761faf581a8b9e…
[11:13:22 CET] <fps> i wonder where i can store some additional payload (e.g. a pointer to a class)?
[11:13:38 CET] <ledufakademy> thread safe ! ... hum !!!
[11:14:45 CET] <ledufakademy> yep : here (it's just sample , i'm working with only 4 songs) https://pastebin.com/gV4SeqFX
[11:14:49 CET] <fps> i'd like to reroute the logging output to a window in my application. not being able to pass an arbitrary payload to av_log_set_callback forces me to jump through hoops with global variables.. is there a way around that?
[11:15:57 CET] <furq> ledufakademy: ffmpeg doesn't modify the input file at all so there's no need to back it up
[11:16:27 CET] <ledufakademy> furq: ok , i will implement this.
[11:21:33 CET] <furq> ledufakademy: find . -name "*.m4a" -print0 | xargs -0 -n1 -P2 sh -c 'ffmpeg -i "$1" /tmp/${1%.*}.flac && rm "$1"' ''
[11:21:36 CET] <furq> that should be all you need
[11:21:56 CET] <furq> replace P2 with however many you want to run in parallel (the flac encoder is singlethreaded)
[11:22:22 CET] <furq> and uh
[11:22:24 CET] <furq> get rid of /tmp/
[11:22:45 CET] <ledufakademy> i will test that : thank u very much
[11:23:25 CET] <furq> find . -name "*.m4a" -print0 | xargs -0 -n1 -P2 sh -c 'ffmpeg -i "$1" "${1%.*}.flac" && rm "$1"' ''
[11:23:33 CET] <furq> i forgot some quotes as well for good measure
[11:25:29 CET] <sfan5> doesn't that mean sh is invoked as sh -c 'ffmpeg -i "$1" ...' filename.m4a ?
[11:25:38 CET] <bencoh> what's the trailing ''?
[11:25:45 CET] <furq> the trailing '' is $0
[11:26:08 CET] <bencoh> ah
[11:26:10 CET] <ledufakademy> why my code did not work ?
[11:54:58 CET] <ledufakademy> it was an issue WITH ffmpeg , issue when you're in loop bash : the solution is to had -nostdin !!!!
[11:55:45 CET] <ledufakademy> https://stackoverflow.com/questions/13995715/bash-while-loop-wait-until-tas…
[13:19:47 CET] <termos> is there a fast way to convert AVFrame's to YUV420P using sws library? I only find examples using sws_scale, but I don't wish to scale the image
[13:26:04 CET] <BtbN> then don't tell it to scale
[14:10:23 CET] <DHE> depending on how you're getting the AVFrame, is it possible to request yuv420p format in the first place?
[14:10:39 CET] <DHE> it might not be possible, but it might be worth pursuing
[15:38:40 CET] <termos> the frame is from the blackmagic decklink SDK, it's possible to down convert on the capture card in hardware but only from fullHD down to SD, not from fullHD down to HD (720p)
[17:11:43 CET] <pmjdebruijn> hey, I've been playing a bit with haldcluts
[17:35:33 CET] <durandal_1707> pmjdebruijn: and?
[17:35:41 CET] <pmjdebruijn> sorry for the delay, got distracted,
[17:35:53 CET] <pmjdebruijn> but I'm having trouble applying it to a video while transcoding
[17:36:30 CET] <pmjdebruijn> the following works fine: ffplay -vf "movie=ilfordfp4plus125.png, [in] haldclut myvid.mp4
[17:37:05 CET] <pmjdebruijn> but ffmpeg -i myvid.mp4 -filter:v "movie=..., [in] hardclut" -c:v .. -c:a .. out.mp4 doesn't work
[17:38:24 CET] <durandal_1707> pmjdebruijn: perhapps you want to use -filter-complex ?
[17:38:31 CET] <pmjdebruijn> not sure
[17:38:45 CET] <pmjdebruijn> I find the movie= syntax rather confusing in the first place
[17:39:00 CET] <pmjdebruijn> -vf "hardclut=mylut.png" would have made more sense to me :)
[17:39:21 CET] <alexpigment> durandal_1707: i believe you mean -filter_complex
[17:39:27 CET] <alexpigment> (unless your version also works)
[17:40:09 CET] <durandal_1707> dunno, i use -lavfi which is same
[17:40:14 CET] <alexpigment> ah
[17:40:53 CET] <TheRock2> How long does it take to study the handbook of ffmpeg
[17:40:54 CET] <kepstin> pmjdebruijn: anyways, the issue is that the 'haldclut' filter takes two inputs, one is the video that you're filtering, the other either a still image or video containing the hald clut.
[17:41:14 CET] <Fenrirthviti> TheRock2: Probably 20 years of practical experience.
[17:41:36 CET] <pmjdebruijn> kepstin: that makes sense to some extent
[17:41:39 CET] <kepstin> pmjdebruijn: you don't need to use the movie filter, really, it would also work with multiple "-i" options, but you do need to use the -filter_complex option & syntax to handle the multiple-input filter
[17:42:06 CET] <durandal_1707> TheRock2: why would you study handbook of ffmpeg?
[17:43:50 CET] <pmjdebruijn> kepstin: is there reason why it's like that, it feels way to complex than it has to be :)
[17:44:23 CET] <kepstin> pmjdebruijn: doing it this way lets it use any input that ffmpeg can handle for the clut, and it can even be a video.
[17:44:37 CET] <kepstin> it would be a lot more complicated to have the filter open another file internally
[17:44:55 CET] <TheRock2> I want to learn all commands of ffmpeg
[17:45:05 CET] <kepstin> (although there are a few filters that do that, the 'movie' and 'subtitle' filters are examples)
[17:46:33 CET] <kepstin> pmjdebruijn: but really, the simplest command to apply a hald clut is easy to understand: "ffmpeg -i movie.mp4 -i clut.png -filter_complex '[0][1]haldclut' output.mp4"
[17:46:56 CET] <pmjdebruijn> but that doesn't combine with regular filters does it?
[17:47:20 CET] <kepstin> pmjdebruijn: you can add more filters to the filter_complex parameter
[17:47:35 CET] <kepstin> but you can't use -filter_complex and -vf in the same command
[17:48:07 CET] <pmjdebruijn> that's what I meant
[17:49:52 CET] <pmjdebruijn> oh wait I does work
[17:49:55 CET] <pmjdebruijn> it*
[17:51:19 CET] <pmjdebruijn> I thought you had to keep messing with the multiple inputs and outputs throughout the pipe
[17:52:07 CET] <pmjdebruijn> kepstin: thanks!
[17:53:09 CET] <kepstin> pmjdebruijn: the , character in -filter_complex does the exact same thing as in -vf :)
[19:06:23 CET] <durandal_1707> TheRock2: you cant know all ffmpeg, you must always consult handbook
[19:23:29 CET] <thebombzen> I'm looking to convert a subtitle to UTF-8 text (ffmpeg -i subtitle -c:s text) but I can't figure out what muxer to send it to with ffmpeg.c so it'll just write the text file
[19:28:03 CET] <kepstin> thebombzen: huh, i don't think that's ever come up before. Doesn't look like there's a way to save subtitles as untimed text. I'd suggest just using the srt output, that's easy enough to parse (you could use sed to remove the timing info, even)
[19:31:18 CET] <thebombzen> may I suggest that there be a "raw subtitle" muxer
[19:31:24 CET] <thebombzen> or even just a "text" muxer
[19:31:35 CET] <thebombzen> and .ass, .vtt, .srt, those should all use the text muxer
[19:31:53 CET] <thebombzen> rather than have an ass muxer, a webvtt muxer, and a subrip muxer?
[19:32:04 CET] <thebombzen> seeing as the code for those three muxers is practically identical
[19:32:12 CET] <thebombzen> and those three would just become aliases for the text muxer
[19:32:28 CET] <thebombzen> that way it wouldn't break existing code
[19:35:13 CET] <kepstin> they're different enough that this wouldn't really make sense, particularly since it's the muxer that's responsible for taking the timestamps from the packet and writing them in the correct format for the subtitle format used.
[19:40:31 CET] <thebombzen> ah
[19:41:09 CET] <thebombzen> kepstin: in other news, I'm trying to dump a frame metadata produced by libavfilter
[19:41:16 CET] <thebombzen> I'm getting this interesting error: Automatic encoder selection failed for output stream #0:0. Default encoder for format ffmetadata (codec none) is probably disabled. Please choose an encoder manually.
[19:41:23 CET] <thebombzen> now I didn't disable codec none on build
[19:41:52 CET] <thebombzen> https://0x0.st/sXIP.txt
[19:42:18 CET] <thebombzen> am I misusing this, or is there something else?
[19:43:49 CET] <kepstin> as the name suggests, "none" is the absense of a codec - i.e. the ffmetadata format doesn't specify a default codec. As a result, you are required to always specify a codec.
[19:44:00 CET] <kepstin> might I suggest using 'rawvideo' or something?
[19:45:33 CET] <kepstin> hmm. that said, i'm kinda surprised that doesn't work
[19:45:37 CET] Action: kepstin looks closer
[19:45:48 CET] <thebombzen> hm, rawvideo works, but ffmetadata expects CFR input
[19:45:52 CET] <thebombzen> and it's duping frames
[19:46:11 CET] <thebombzen> using -vsync passthrough stops duping but then I get spammed about application providing invalid pts
[19:46:47 CET] <thebombzen> er, complains about invalid, nonmonotonically increasing DTS
[19:47:24 CET] <thebombzen> all of which are two numbers which are equal, like this: [ffmetadata @ 0x55e855c8c760] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 11019 >= 11019
[19:48:11 CET] <kepstin> hmm. you said you want *frame* metadata?
[19:48:50 CET] <kepstin> then ffmetadata muxer is the wrong tool, it only does stream-level metadata.
[19:49:36 CET] <thebombzen> yea, I do want frame metadata
[19:49:40 CET] <thebombzen> how do I extract frame metadata?
[19:50:57 CET] <kepstin> thebombzen: use the "metadata" filter with mode=print (it can take a filename to save to)
[20:06:19 CET] <garyserj> Hi, I have these two files, I show you the info from mediainfo.exe for each of them.. one is KC..mp4 the other is some125.mp4 https://pastebin.com/raw/C6MQgCaB I want the some125.mp4 to have the same codecs as KC..mp4 What command do I need?
[20:14:36 CET] <kepstin> garyserj: they already both have the same codecs
[20:15:26 CET] <thebombzen> kepstin: appears to have worked. now I gotta use some perl regex magic to convert it to SRT so I can then use it in ffmpeg, but that did the trick. thanks
[20:21:43 CET] <faruk> hi guys. i want to run ffmpeg over windows xp. which build should i use ?
[20:22:51 CET] <pmjdebruijn> faruk: presumably win32 static, not sure if that'll still work, considering winxp has been end-of-life, you'll just have to try and see
[20:23:05 CET] <furq> faruk: the zeranoe builds don't work on xp because of libmfx
[20:23:09 CET] <furq> so you probably need to build it yourself
[20:23:19 CET] <faruk> hmm ok thx
[00:00:00 CET] --- Tue Dec 19 2017
1
0
[00:00:16 CET] <JEEB> I'm pretty sure we already have the colorspace/transfer etc in cli
[00:00:48 CET] <JEEB> colorspace integer (decoding/encoding,video)
[00:00:57 CET] <JEEB> color_primaries integer (decoding/encoding,video)
[00:01:01 CET] <JEEB> color_trc integer (decoding/encoding,video)
[00:01:25 CET] <JEEB> see https://www.ffmpeg.org/ffmpeg-all.html for list of text-based values to set those to
[00:56:17 CET] <Chloe> atomnuker: what are you replacing the linked list with anyway?
[00:56:30 CET] <BtbN> isn't it pretty much unused, so it can just go?
[00:58:32 CET] <wm4> I think the plan is to do the same thing as BSFs
[01:00:18 CET] <Chloe> Ah so just an array of pointers in a descriptive struct
[01:01:12 CET] <Chloe> This would allow compile time initialisation of parsers, filters etc right?
[01:03:51 CET] <Chloe> dw being silly
[01:15:51 CET] <wm4> yes
[01:16:38 CET] <JEEB> makes sense
[02:10:51 CET] <cone-411> ffmpeg 03Michael Niedermayer 07master:439fbb9c8b2a: avcodec/hevcdsp_template: Fix undefined shift in put_hevc_qpel_bi_w_hv()
[02:10:51 CET] <cone-411> ffmpeg 03Michael Niedermayer 07master:991ef6e5b9a6: avcodec/hevc_sei: Fix integer overflows in decode_nal_sei_message()
[02:10:51 CET] <cone-411> ffmpeg 03Michael Niedermayer 07master:0ee143558d55: avcodec/hevc_cabac: Fix integer overflow in ff_hevc_cu_qp_delta_abs()
[02:16:10 CET] <Chloe> atomnuker: do you want to remove the linked lists, I could do it if you want? Ties into what I was doing anyway
[04:32:06 CET] <SortaCore> https://trac.ffmpeg.org/wiki/CompilationGuide/MinGW#YASM what about NASM?
[07:34:29 CET] <cone-382> ffmpeg 03sfan5 07master:387ee1d6aa65: libavformat: LibreSSL (libtls) support
[10:35:39 CET] <bob12421> Hello
[10:36:02 CET] <bob12421> How difficult is it to replace the data type of -rtbufsize with a 64-bit integer?
[10:37:37 CET] <bob12421> My real-time buffer constantly overflows
[10:43:10 CET] <bob1241> I'm trying to capture 4K video but nothing works.
[10:47:11 CET] <transitive-bulls> hello! i've created a new libavfilter for applying glsl transitions between two video streams (https://github.com/transitive-bullshit/ffmpeg-gl-transition)
[10:49:18 CET] <transitive-bulls> i wanted to make a similar glconcat filter which would take in N streams and a transition duration and output a concatenated version of those N streams, but the two pieces i'm not sure on are 1) given an input AVFilterPad, is there any way to know its duration up front at initialization time or is it just a stream with no knowledge of its length?
[10:50:47 CET] <transitive-bulls> and 2) aside from constructing a filtergraph w/ a wrapper similar to https://github.com/transitive-bullshit/ffmpeg-gl-transition/blob/master/con…, is there a way i could buffer the input frames for different inputs so the filter works more on a pull basis versus the default push?
[10:53:06 CET] <JEEB> transitive-bulls: btw did you take a look at the newly madeopencl filters if those are of any interest to you with opengl interop
[10:54:01 CET] <transitive-bulls> i've read the docs but haven't looked at the filters themselves
[10:55:19 CET] <JEEB> and no, filters generally cannot have any idea of the length of the stream
[10:55:46 CET] <JEEB> all filters generally should work with just AVFrames given to them. if they internally require buffering they can implement that
[10:55:57 CET] <JEEB> (there were some already existing filters which do that)
[10:56:16 CET] <transitive-bulls> ok, that makes sense but i just wanted to be sure i wasn't missing anything
[10:56:17 CET] <transitive-bulls> thanks!
[10:56:33 CET] <transitive-bulls> do you know offhand of a filter which implements buffering internally?
[10:58:00 CET] <JEEB> yadif has three pointers at least (prev, cur, next)
[10:59:04 CET] <transitive-bulls> ok, cool && thanks!
[11:01:35 CET] <transitive-bulls> one related question would be can you have a filter which outputs a filter chain s.t. complex filter chain patterns could be simplified, or would this use case fall more into the domain of a scripting language wrapper?
[11:01:59 CET] <transitive-bulls> (referring to something like https://github.com/transitive-bullshit/ffmpeg-gl-transition/blob/master/con…)
[11:02:29 CET] <transitive-bulls> which is really verbose to achieve something that would ideally be a lot more straightforward
[11:13:26 CET] <durandal_1707> michaelni: its not that simple
[11:15:26 CET] <durandal_1707> michaelni: because its marked as experimental and stayed that way because whole api is shit
[11:18:27 CET] <michaelni> durandal_1707, the api is shit but i suspect that isnt the problem. We could instead of using experimental use a seperate profile for the additional color_range / pix format. A seperate profile is commonly used in specifications for specific resolutions or pixel formats
[11:27:23 CET] <durandal_1707> michaelni: i dont see why would using profile be better, i will just remove requrement for unofficial flag
[11:30:37 CET] <durandal_1707> i see people tend to overengineer things, stuff should be kept simple
[13:54:56 CET] <wm4> at this rate we'll never get rid of the fucking J formats
[13:55:03 CET] <wm4> what the fuck
[14:01:22 CET] <durandal_1707> wm4: what happened?
[14:01:44 CET] <atomnuker> Chloe: I think I can handle it, if you're looking for something important to work on you can remove DCE usages
[14:02:12 CET] <atomnuker> we agreed to drop if (CONFIG_XXXX) function() with #if CONFIG_XXXX function() #endif
[14:02:31 CET] <atomnuker> but the person who volunteered to do the work a year ago never did finish it
[14:03:38 CET] <wm4> durandal_1707: nicolas george being an asshole about it
[14:03:45 CET] <wm4> (ffplay patch)
[14:04:44 CET] <BtbN> It's been a while since I have seen anything useful come from him. Only blocking and hostile stuff.
[14:07:32 CET] <durandal_1707> atomnuker: thats sed script work
[14:09:36 CET] <atomnuker> someone still needs to write the sed script
[14:11:26 CET] <Chloe> atomnuker: i wanted to look at converting more inline asm to in-file asm, if not working towards removing ffserver
[14:11:43 CET] <Chloe> Also rewriting libavdevice
[14:13:40 CET] <durandal_1707> if one needs negotiate color range, color space primaries and trc all together how should it all be done?
[14:14:25 CET] <durandal_1707> certainly ffplay actually use only rgb for output
[14:14:48 CET] <Chloe> Ffplay can use whatever output SDL supports
[14:14:51 CET] <wm4> is there much inline asm left?
[14:15:10 CET] <wm4> wasn't there some talk about how some inline asm can't be converted to external without losing performance
[14:16:48 CET] <durandal_1707> Chloe: do you know what sdl does internally with all yuv formats?
[14:17:20 CET] <Chloe> Probably just converts it back to rgb
[14:17:37 CET] <durandal_1707> Chloe: there is noise filter inline asm
[14:18:15 CET] <Chloe> There's really no point in outputting anything else other than rgb
[14:18:56 CET] <durandal_1707> it just matters whats faster
[14:21:09 CET] <iive> wm4: I think that cabac bitstream is example for such inline asm
[14:23:32 CET] <Chloe> durandal_1707: https://github.com/davidsiaw/SDL2/blob/master/src/render/SDL_render.c#L721
[14:26:44 CET] <atomnuker> yep, the cabac decoder either needs the entire decoder to be written in asm or for inline asm, the overhead would definitely slow it down
[14:58:00 CET] <rcombs> atomnuker: durandal_1707: the DCE usage in allcodecs/allformats/etc is a bit more complex, since they rely on `if ([token-pasted identifier])` working, which you can't do purely in preprocessor
[14:58:17 CET] <rcombs> so you'd have to either expand all the macros, or add an additional preprocessing step
[16:48:13 CET] <cone-372> ffmpeg 03Paul B Mahol 07master:ce626f26959a: avfilter/av_biquads: add support for commands
[16:48:14 CET] <cone-372> ffmpeg 03Paul B Mahol 07master:600c8729e23b: avfilter/af_biquads: remove unused enum item
[16:57:17 CET] <kurosu> that inline cabac asm is also probably the most significant difference between a msvc and a gcc build
[16:58:41 CET] <wm4> I don't assume writing all code involved with it in asm would be reasonable?
[17:00:35 CET] <nevcairiel> no, because the cabac calls are inlined into the actual h264 reading stuff
[17:02:57 CET] <wm4> not even something like having the cabac code write all data into struct fields, and using that in the C code?
[17:03:41 CET] <nevcairiel> you still get the overhead from function calls
[17:04:21 CET] <durandal_1707> thats minor
[17:04:45 CET] <nevcairiel> not if you call the function a lot of times, like when reading every symbol in the bitstream
[17:17:23 CET] <jamrial_> there's a lot of swscale inline asm still, which probably also makes a difference in some cases
[17:17:55 CET] <wm4> and libswscale self modifiying code!
[17:18:03 CET] <wm4> for unused scalers
[17:19:06 CET] <durandal_1707> libswscale rewrite when?
[17:29:01 CET] <kierank> even more postproc asm
[17:33:19 CET] <durandal_1707> all postproc code can be put into single filter
[17:51:38 CET] <jamrial_> that'd be a good project. move all postproc code to the only filter that uses it, and delete the library
[18:06:32 CET] <cone-372> ffmpeg 03Carl Eugen Hoyos 07master:9b79c65ec06f: lavu/lavc/lavf/lavfi: Do not use type modifier %zu on Windows MSVCRT.
[18:07:02 CET] <rcombs> aww, they fixed %zu though
[18:07:30 CET] <kurosu> the cabac asm is pretty tight, and for most hxxx(tm) codecs, that's the bottleneck in s/w decoding
[18:07:50 CET] <kurosu> I remember some rewriting 5+ years ago that had a noticeable impact
[18:10:57 CET] <kurosu> I started with writing msvc inline asm, so I could port that asm
[18:11:32 CET] <kurosu> but nowadays I don't see a point to optimize some of those decoders
[18:25:56 CET] <iive> kurosu: if you care about msvc compilation then there is point in optimizing cabac for h264/5
[19:25:12 CET] <cone-372> ffmpeg 03Paul B Mahol 07master:9dcecbf04c65: avfilter/af_biquads: add missing break statements
[19:53:13 CET] <durandal_1707> atomnuker: i will use commands to enter single tone
[20:47:32 CET] <atomnuker> rcombs: good thing I'm removing it and letting print_enabled_components handle it
[20:53:47 CET] <durandal_1707> atomnuker: finnaly finished?
[20:56:10 CET] <atomnuker> NO AND IF YOU DON'T STOP ASKING ME I'M NEVER GOING TO FINISH IT
[21:12:17 CET] <durandal_1707> coding speed and efficiency is important, dont get distracted
[21:43:31 CET] <durandal_1707> Compn: what have you done on dev ml?
[21:45:11 CET] <jamrial_> same, what's the context of that email?
[21:49:20 CET] <Compn> some fighting going on in some threads
[21:49:56 CET] <Compn> non technical discussion and insults...
[21:53:21 CET] <Compn> see this and its replies http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2017-December/222483.html
[21:54:05 CET] <Compn> yes i realize it only deals with wm4, nicolas, durandal_1707 and carl.... i can just mod them only if you prefer...
[21:55:23 CET] <wm4> not sure if Compn is the right person for this
[21:55:31 CET] <wm4> he's pretty ignorant of the underlying technical issues
[21:56:02 CET] <Compn> i can tell an insult from a patch review, which is more than you can do, wm4.
[21:56:03 CET] <wm4> anyway, go ahead with banning nicolas george and cehoyos, I don't mind
[21:56:42 CET] <wm4> I'm usually on the receiving end of this...
[21:57:27 CET] <durandal_1707> Compn: soo everything is moderated now and does not appear immediatelly?
[21:57:33 CET] <Compn> i was hoping that a blanket mod would not have to point out the bad behavior of the 4 people , and that i would not have to name them, and that they would realize they were behaving bad. oh well
[21:57:49 CET] <Compn> correct
[21:58:27 CET] <durandal_1707> what happens when you sleep? everything is stalled?
[21:58:28 CET] <wm4> Compn: for example, nicolas called me a troll several times, has ignored my patch reviews and requests during them, and recently has stated that he ignores all my emails
[21:58:41 CET] <wm4> Compn: sounds pretty bad if you ask me
[21:58:46 CET] <Compn> durandal_1707 : correct, unless lou is online , he is a few hours away from me timezone ways
[21:59:05 CET] <kierank> FFmpeg mailing abuse
[21:59:07 CET] <Compn> wm4 : yes, i know you and them have been fighting a bit
[21:59:07 CET] <kierank> MERRY CHRISTMAS ALL
[21:59:19 CET] <Compn> wm4 : i've asked you all to stop, multiple times
[21:59:23 CET] <Compn> and now we have to do this heh
[21:59:47 CET] <durandal_1707> what about net neutrality?
[22:00:00 CET] <Compn> durandal_1707 : did you vote for the CoC ?
[22:00:10 CET] <Compn> i think i was one of the few who voted against it...
[22:00:24 CET] <wm4> well enjoy your drama... I'll continue to hope for a reasonable project leader
[22:02:09 CET] <durandal_1707> Compn: but ml admins are not above voting committe, so ask for votes before doing such decission
[22:02:33 CET] <Compn> wm4 : i am curious, how many projects have you been able to work on as a team?
[22:03:21 CET] <Compn> durandal_1707 : stop insulting other developers.
[22:05:41 CET] <durandal_1707> Compn: did i insulted you? about others, my intention was never to insult, but i can not tolerate bad behaviour against me
[22:06:50 CET] <Compn> did you call another developer a "highness" ? that is an insult to his highness ehe
[22:07:14 CET] <wm4> Compn: I usually have no problems with working in a team
[22:07:15 CET] <Compn> and if your intention was never to insult, then you could apologize for he has been ... insulted! gasp
[22:07:51 CET] <Compn> durandal_1707 : but i think you are arguing in bad faith and bullshitting me.
[22:08:41 CET] <jamrial> Compn: unilaterally putting the ml in lockdown mode is the worst thing you can do. this kind of thing requires consensus
[22:08:43 CET] <durandal_1707> but he just told me that i need to wait indefinetely for his review, and for 5 max min patch review
[22:09:36 CET] <Compn> jamrial : i asked in april and got nothing... http://ffmpeg.org/pipermail/ffmpeg-devel/2017-April/210519.html
[22:09:41 CET] <durandal_1707> and i waited enough and than he gave up on all thing
[22:09:44 CET] <Compn> jamrial : although atomnuker was kind enough to respond :)
[22:10:12 CET] <Compn> durandal_1707 : so you insulted him
[22:11:11 CET] <Compn> jamrial : convince durandal_1707 to not insult people ?
[22:11:16 CET] <wm4> it's possible that Compn is not a good community manager at all
[22:11:21 CET] <Compn> also wm4, carl and nicolas...
[22:11:22 CET] <durandal_1707> Compn: i did not applied patch at all yet
[22:13:17 CET] <Compn> j-b : how are my community management skills ? :)
[22:13:52 CET] <j-b> Compn: dunno :)
[22:15:22 CET] <durandal_1707> Compn: now devs will be even more frustrated and development stalled, or people will push patches without review
[22:19:33 CET] <Chloe> can I just remove the linked lists? it's blocking my patch
[22:19:40 CET] <relaxed> mplayer expatriates..
[22:19:46 CET] <Chloe> I really don't want to wait weeks for it
[22:20:49 CET] <Compn> jamrial : but i know you've tried to get them to stop fighting, so my comment was not fair to you
[22:21:25 CET] <wm4> Chloe: wasn't atomnuker doing that
[22:21:43 CET] <wm4> Chloe: probably best to at least try to avoid doing the same thing (unless you don't care, then we can pick the better patch)
[22:21:58 CET] <Chloe> wm4: supposedly, but it doesn't seem like it's happening any time soon
[22:22:20 CET] <wm4> I'd assume he has an almost finished WIP locally, or something
[22:23:00 CET] <Compn> durandal_1707 : its not a permanent emergency moderation
[22:23:06 CET] <Chloe> atomnuker: are you able to submit your patch before the end of monday?
[22:25:43 CET] <Chloe> Compn: I think bitcoin is a good example of another big project which excels at working together.
[22:26:05 CET] <durandal_1707> how?
[22:26:55 CET] <Compn> rip satoshi
[22:27:26 CET] <kierank> well everyone gets rich
[22:29:03 CET] <atomnuker> Compn: WHAT THE FUCK IS WRONG WITH YOU
[22:29:28 CET] <durandal_1707> please calm down
[22:29:34 CET] <atomnuker> you understand dog shit and your first reaction is "ooh Imma shut down the ml"
[22:30:18 CET] <atomnuker> restore normal service now, I'm serious
[22:30:25 CET] <wm4> lol
[22:30:26 CET] <durandal_1707> lets fork libsav?
[22:30:55 CET] <atomnuker> yes, let's unless Compn realizes he's stopping development AND stopping solving the problem at hand
[22:32:15 CET] <atomnuker> we don't have to fork anything, just put new servers up BECAUSE ONLY Compn IS CAUSING AN ISSUE ATM
[22:32:58 CET] <durandal_1707> rogue admin in ffmpeg team? cant be true!
[22:32:59 CET] <atomnuker> Chloe: sure, I'll post a patch right this OH WAIT, I CAN'T
[22:33:19 CET] <wm4> yeah I agree what Compn did is silly at best
[22:33:27 CET] <wm4> it doesn't solve anything at all
[22:34:22 CET] <atomnuker> lets move to github PRs, since Compn has no power to screw up there
[22:34:30 CET] <Chloe> kierank: haha, that's true.
[22:36:21 CET] <Chloe> atomnuker: I'm a bit confused. You say you'll do it, but you don't give a timeframe at all. All I'm asking is if you're able to do it, if you're not then I'm happy to do it.
[22:38:27 CET] <Compn> atomnuker : Chloe is wondering if you have a wip, Chloe can finish it if so
[22:39:01 CET] <Chloe> yes
[22:40:02 CET] <atomnuker> Chloe: https://0x0.st/sX3A.diff
[22:40:05 CET] <wm4> anyway, ++ to Compn for escalating the drama and affecting everyone
[22:40:08 CET] <wm4> good shopw
[22:40:12 CET] <wm4> -p
[22:40:14 CET] <atomnuker> original name for the diff was Compn_IS_AN_ASSHOLE
[22:40:23 CET] <Chloe> Compn: what is happening to the mailing list?
[22:40:28 CET] <Chloe> atomnuker: thanks <3
[22:40:36 CET] <Compn> Chloe : people are upset that they cannot insult each other on the ml now
[22:40:48 CET] <Chloe> Compn: how will I submit my patch tomorrow?
[22:40:51 CET] <Compn> even though they all voted for the CoC :)
[22:40:54 CET] <Compn> Chloe : same way
[22:41:15 CET] <Chloe> If the mailing list is down, that will make submitting the patch a bit difficult
[22:41:18 CET] <atomnuker> Compn: I CERTAINLY DID NOT VOTE FOT THE COC
[22:41:20 CET] <Chloe> Compn: no?
[22:41:35 CET] <atomnuker> Compn: I've messaged llogan to remove you from the admin list
[22:41:41 CET] <atomnuker> actually fuck this
[22:41:47 CET] <Compn> Chloe : it just means everyones mails get locked at before getting posted now
[22:42:02 CET] <Compn> atomnuker : you know i'm irc founder for this channel too right ? :)
[22:42:21 CET] <Chloe> Compn: wont this drastically increase the time it takes for already slow reviews?
[22:42:23 CET] <atomnuker> I can keep trying
[22:42:24 CET] <Compn> you failed to stop me, now i control everything!
[22:42:32 CET] <Compn> Chloe : no, it wont
[22:42:32 CET] <jamrial> atomnuker: stop
[22:43:48 CET] <Compn> Chloe : its not permanent change, i can undo it in 1 second
[22:43:56 CET] <Compn> atomnuker : you know i've been approving mails this whole time right ?
[22:44:19 CET] <wm4> unsubscribed senders or all?
[22:44:26 CET] <durandal_1707> Compn: better solution is to ban bad and ugly and leave good and not this
[22:46:11 CET] <Compn> durandal_1707 : heres a mail i sent michael before creating that thread in april:
[22:46:22 CET] <Chloe> Compn: I think it'd be better to undo it in 1 second
[22:46:28 CET] <Compn> i've asked on the list what the project wants to do about violations. good idea. "[rfc] coc violation tribunal" is the thread title.
[22:46:28 CET] <Compn> otherwise i would not want to make decision without project consensus, maybe it would look like abuse of ml admin power. if you understand my
[22:46:28 CET] <Compn> opinion.
[22:47:52 CET] <Chloe> Compn: our CoC is just guidelines https://ffmpeg.org/developer.html#Code-of-conduct
[22:48:28 CET] <Chloe> You can't 'violate it' as such
[22:48:52 CET] <atomnuker> Compn: you ARE abusing your admin powers
[22:49:11 CET] <atomnuker> to such an extent the first thing that should be done is for you to be stripped of them
[22:49:19 CET] <durandal_1707> lets wait michaelni and llogan
[22:49:29 CET] <Compn> atomnuker : you'll have to start a vote! mwahahaha
[22:49:45 CET] <Chloe> Compn: the vote wont go through if you just block it before it gets to the ML
[22:50:11 CET] <Compn> Chloe : i'm approving all technical discussions, you sound confused on what i am doing. did you read my mail ?
[22:50:46 CET] <atomnuker> and who decides whethet its an important technical discussion? oh, just our saviour Compn
[22:50:48 CET] <durandal_1707> votes are technical discussion?
[22:51:01 CET] <Compn> atomnuker : anything non-insult = approved
[22:51:24 CET] <Compn> voting against me = non-insult , i dont mind, i dont want this job :)
[22:51:37 CET] <Compn> durandal_1707 : yes
[22:51:45 CET] <atomnuker> Compn: if you don't want this job then PLEASE FUCK OFF AND LET US DO OURS
[22:52:02 CET] <Chloe> Compn: I was more pointing out that you are the sole 'approve-rer'
[22:52:11 CET] <jamrial> Compn: please revert this. this decision is not yours alone to make
[22:52:13 CET] <Compn> Chloe : there are a couple ml mods actually
[22:52:16 CET] <Chloe> it's like saying a jury is fair when there's only one person in it, because there's consensus
[22:52:20 CET] <jamrial> you're only giving more than enough reasons for the entire project to act against you
[22:52:20 CET] <Chloe> Compn: who?
[22:52:36 CET] <wm4> so much popcorn is unhealthy
[22:52:42 CET] <durandal_1707> yea
[22:53:10 CET] <Compn> jamrial : are you interested in drafting rules about coc violations ?
[22:53:42 CET] <Compn> atomnuker : i am not stopping anyone from anything. except insults on the mailing list, for a temporary time
[22:54:03 CET] <Compn> atomnuker : all patches and reviews are being approved in a timely manner :)
[22:54:39 CET] <jamrial> no, i'm interested in not seeing a single developer abusing privileges to do something they think is "for the best"
[22:55:18 CET] <Compn> as ml admin, it is my privledge to enforce the coc
[22:55:36 CET] <Compn> i cant spell either
[22:58:25 CET] <Chloe> Compn: have you approved my mail yet
[22:58:57 CET] <Compn> approved now
[22:59:12 CET] <Compn> i was watching youtube :)
[22:59:43 CET] <kierank> it's as if the CoC is a useless document
[22:59:49 CET] <kierank> that should have been written better
[23:00:16 CET] <Chloe> kierank: it isn't really a CoC in the traditional sense
[23:00:18 CET] <wm4> who wrote it anyway?
[23:00:19 CET] <Compn> kierank : did you vote for the CoC ?
[23:00:22 CET] <kierank> wm4: one guess
[23:00:23 CET] <Chloe> wm4: ...
[23:00:29 CET] <Compn> kierank : are you interested in drafting a new CoC and or rules ?
[23:00:32 CET] <wm4> Compn? mini?
[23:00:50 CET] <Compn> it reads like a native english speaker wrote it
[23:01:07 CET] <Compn> i did not, i was and am against the CoC idea, i believe in free speech...
[23:02:24 CET] <kierank> mini
[23:02:26 CET] <kierank> of course
[23:03:32 CET] <Compn> referring to people by the first initials of their full name might be considered an insult, especially if you dont use this convoluted nickname for anyone else ....
[23:05:11 CET] <Compn> i dont see anyone referring to you as kiku
[23:05:21 CET] <durandal_1707> lol
[23:05:40 CET] <Compn> or to durandal_1707 as pamo
[23:06:08 CET] <durandal_1707> got it wrong
[23:06:13 CET] <Compn> oop
[23:06:16 CET] <Compn> pama
[23:06:17 CET] <Compn> my bad
[23:06:27 CET] <Compn> my brains are frozen today
[23:14:54 CET] <jamrial> Compn, drop it and undo the change already. several people have asked you
[23:15:03 CET] <jamrial> the last thing this project needs is a rogue admin making harsh decisions to enforce a coc in an arbitrary way that's misguided at best
[23:17:10 CET] <Compn> jamrial : do you have any suggestion to get devs to stop fighting each other ?
[23:17:16 CET] <Chloe> Compn: have you approved my mail yet
[23:17:21 CET] <jamrial> you asked about how to enforce it before, but go little to no feedback. in that case you ping the thread instead of coming up with something on your own and without consensus
[23:18:26 CET] <Compn> jamrial : erm, a mailing list admin using a mailman feature to stop flame wars is the standard operating procedure of being a ml admin
[23:18:49 CET] <kierank> Nobody's going to die if the ML needs moderation for a few hours
[23:18:58 CET] <Compn> this is not an idea that i thought up. its the absolute standard for mailing lists
[23:19:30 CET] <Compn> the option is right on the first page of the administration page for the mailing list
[23:19:52 CET] <Compn> its a simple on off button.
[23:20:09 CET] <iive> Compn: can't you put just few people under moderation ?
[23:20:14 CET] <Compn> Chloe : it does take a few seconds for a mail to arrive at our servers :)
[23:20:24 CET] <jamrial> if you think a developer is going over the line in the meantime, moderate him and state it publicly. don't make the entire list depend on your availability
[23:20:32 CET] <Compn> iive : yes, but then people would be upset at that idea as well
[23:20:36 CET] <Chloe> Compn: before moderation it was instant
[23:20:49 CET] <Chloe> I would send the email, reload my client, and it'd be on the ML
[23:21:05 CET] <kierank> omg it's just a mailing list let things calm down
[23:21:19 CET] <iive> Compn: have you issued warning to the involved parties that if they do not stop, you are going to moderate them?
[23:21:23 CET] <Compn> kierank is the voice of reason
[23:21:32 CET] <kierank> this time next week it's christmas
[23:21:35 CET] <Compn> iive : i've asked them to stop multiple times
[23:21:37 CET] <kierank> the rest of the world is enjoying itself
[23:21:40 CET] <kierank> not arguing over a ml
[23:22:11 CET] <Compn> the war on christmas continues!
[23:22:22 CET] <Compn> (sorry, an american joke)
[23:22:25 CET] <durandal_1707> and week after new year
[23:22:29 CET] <iive> Compn: it is better to moderate just 4 people insulting each other, than the whole maillist.
[23:23:10 CET] <Compn> i find it humorous that no one has asked me how long the emergency moderation will last
[23:23:21 CET] <iive> 1 day
[23:23:32 CET] <iive> i think that has been discussed during the CoC
[23:23:52 CET] <Compn> iive : dont scare people with your 1 day thing :D
[23:24:10 CET] <iive> ok, 1 day of not sending any insults....
[23:24:26 CET] <iive> hum... this doesn't sound less... ;)
[23:24:55 CET] <durandal_1707> approve my patches or you will get insults
[23:25:22 CET] <Chloe> iive: there was discussion of how the CoC was inadequate, but not much more
[23:25:31 CET] <Chloe> (they still voted yes, however)
[23:25:34 CET] <Compn> durandal_1707 : i've been approving patches this whole time
[23:26:07 CET] <durandal_1707> Compn: i mean reply with lgtm
[23:26:12 CET] <Compn> oooh :)
[23:26:16 CET] <iive> Compn: have you reviewed the patches, he might have hidden some insults there ;)
[23:26:52 CET] <Compn> i hope atomnuker isnt too angry with me
[23:28:22 CET] <wm4> he sounded pretty angry :D
[23:30:06 CET] <iive> Compn: just be happy that yo are on different continent
[23:31:34 CET] <durandal_1707> i think that atomnuker was pretty close to Compn
[23:32:11 CET] <iive> he is usually in england while compn is in america
[23:33:13 CET] <durandal_1707> which city?
[23:33:33 CET] <durandal_1707> iirc atomnuker was in texas
[23:33:35 CET] <Compn> im near detroit
[23:33:44 CET] <Compn> i've met atomnuker , he is good guy
[23:35:56 CET] <atomnuker> I'm back in the EU in an appalling mood after sitting in a section full of kids, deprived of chocolate, angry with british airways and the awful freezing cold
[23:36:18 CET] <wm4> fuck flying
[23:36:23 CET] <Chloe> oh god
[23:36:27 CET] <Chloe> british airways
[23:37:04 CET] <atomnuker> their website didn't let me check in and after 2 or 3 tries it blocked my name from checking anything in for 24h
[23:37:32 CET] <durandal_1707> sounds familiar
[23:38:45 CET] <Compn> my last trip to france was 9 hours. i had hoped to get some sleep. but there was a nanny and 4 children in the same row. the nanny proceeded to stare at me for 4 hours , and then when it was around midnight and the children were asleep, decided that was a great time to talk loudly for 4 hours. :(
[23:39:27 CET] <iive> Compn: talk to you or somebody else?
[23:39:32 CET] <Compn> someone else
[23:39:46 CET] <Compn> it is much fun to arrive in london with no sleep for 24 hours ... then look at the giant line to get a cab
[23:40:07 CET] <Compn> er it was uk i landed in, not france. i was on my way to france :)
[23:40:14 CET] Action: Compn tries to forget
[23:58:11 CET] <durandal_1707> atomnuker: are you deprived of chocolate or kids?
[00:00:00 CET] --- Mon Dec 18 2017
1
0
[00:01:54 CET] <Cracki> I've got variable-frame-rate mjpeg data. ffmpeg with "c copy -r" on output doesn't seem to drop/duplicate any frames. must I reencode the frames or can ffmpeg drop/duplicate compressed frames?
[00:02:16 CET] <Cracki> *-c copy -r 25
[00:06:36 CET] <furq> -r is a noop with -c copy because it uses a filter
[00:06:55 CET] <Cracki> k
[00:07:11 CET] <furq> there's probably a way of doing it but idk how you'd do it with ffmpeg
[00:07:23 CET] <Cracki> btw, is there a frame rate filter that blends frames together instead of dropping frames?
[00:07:38 CET] <furq> !filter minterpolate
[00:07:38 CET] <nfobot> furq: http://ffmpeg.org/ffmpeg-filters.html#minterpolate
[00:07:44 CET] <Cracki> nice
[00:08:03 CET] <Cracki> my intention is to get "long exposure"
[00:08:10 CET] <furq> that blends instead of duplicating but idk if it blends instead of dropping
[00:08:53 CET] <furq> !filter blend
[00:08:53 CET] <nfobot> furq: http://ffmpeg.org/ffmpeg-filters.html#blend_002c-tblend
[00:09:00 CET] <furq> there's that as well but that's less sophisticated
[00:09:06 CET] <Cracki> so if I had 50 fps video with 20ms exposure per frame, and I'd blend them down to 25 fps, I'd expect 40ms of "exposure"
[00:09:19 CET] <furq> i think blend will do that
[00:10:09 CET] <Cracki> I think I'll use minterpolate. that's close to what I want.
[00:39:29 CET] <Cracki> is there a kind of motion (temporal) blur filter? I'm testing hqdn3d right now, but not sure if "denoising" is what I want
[00:40:15 CET] <sfan5> denoising is definitely not what you want
[00:44:10 CET] <Cracki> eh, I should just get the recording under control
[00:44:55 CET] <Cracki> (c920 webcam can spew h264 or mjpeg which ffmpeg can catch, but it's tricky to fix the servo focus, make sure the frame rate stays constant, all that stuff
[00:47:09 CET] <Cracki> ah, tblend *might* do it, but it's more suited to decimation
[00:48:56 CET] <Cracki> oh, tblend does maintain frame rate! interesting
[00:51:42 CET] <Cracki> it seems restricted to two frames though
[00:56:16 CET] <Cracki> so I'm poking around in the source of the blend filter.
[00:56:33 CET] <Cracki> i see that lighten is FFMAX(), but I can't see which color space and which components that applies to
[00:58:06 CET] <Cracki> nvm, it says "all components" :P
[01:16:06 CET] <Johnjay> ffmax()!
[03:27:13 CET] <WireCat> which is the correct current example of demuxing and decoding video using the libraries? i tried some on google and such they say '..is deprecated' and other stuff.
[03:27:47 CET] <furq> https://www.ffmpeg.org/doxygen/trunk/examples.html
[03:27:49 CET] <furq> probably these
[03:30:45 CET] <WireCat> ok thank you ill try those again
[03:31:59 CET] <WireCat> i just wanted to make sure, i tried them and it gave some errors and then i tried google and those gave different error. got confused in the end. i hope it will work this time :-)
[03:33:07 CET] <furq> make sure you're using the examples for the right version of ffmpeg
[03:37:39 CET] <WireCat> ah maybe that was the problem im not sure i checked that very well
[03:38:14 CET] <WireCat> i had to build it from source because the packaged one didnt work for my distro, did segfaults.
[03:38:36 CET] <WireCat> maybe i just used an older version example by accident
[03:51:16 CET] <Cracki> H.264, can a P-frame use other P-frames as reference, or only I-frames?
[03:52:38 CET] <Cracki> I know about "rolling I-frames"/intra refresh, so either the answer is 'yes', or it can reference intra-*blocks* (finer than frames)
[03:54:38 CET] <DHE> Cracki: it can use any frame prior to itself, but only prior. and up to a limited number of frames behind it
[03:54:44 CET] <Cracki> k
[03:55:19 CET] <DHE> WireCat: the samples are in the doc/examples directory of the source tree. use what ships with your copy of ffmpeg...
[03:58:32 CET] <WireCat> dhe thank you
[03:59:59 CET] <TheRock> i'm using ffmpeg as backend through a library.
[04:00:06 CET] <TheRock> It throws me error code 14, video codec not found.
[04:00:12 CET] <TheRock> where can i find the error codes?
[04:02:32 CET] <TheRock> ok, it seems it has it's own error codes
[04:02:49 CET] <SortaCore> libavutil\error.c, but that won't help ya, since the error code has the description already
[04:04:38 CET] <TheRock> yeah, but i need to do something like if(error == 14) { own error message } since my application may be come multilingual.
[04:04:49 CET] <TheRock> but i just saw my library uses it's own error code https://github.com/wang-bin/QtAV/blob/master/src/QtAV/AVError.h#L31
[04:05:13 CET] <TheRock> it differs from the error.c
[04:05:42 CET] <SortaCore> indeed
[04:06:00 CET] <SortaCore> but you can find the largest number used in error.c and change your enum
[04:06:12 CET] <SortaCore> I think ffmpeg errors are negative
[04:07:06 CET] <TheRock> yeah, i'm just getting "video codec not found"
[04:07:12 CET] <TheRock> i'm playing a mp3 file
[04:07:30 CET] <TheRock> probably the mp3 is corrupt/wrong formated?
[04:07:38 CET] <TheRock> other mp3 work fine without error
[04:10:52 CET] <SortaCore> mp3 has no video
[04:11:15 CET] <SortaCore> do you mean mp4?
[04:11:15 CET] <TheRock> weird
[04:11:19 CET] <TheRock> no, mp3
[04:11:24 CET] <TheRock> it throw video codec not found
[04:11:27 CET] <SortaCore> yea, no video then
[04:11:36 CET] <TheRock> but all other mp3s are working well
[04:11:39 CET] <TheRock> just one
[04:11:50 CET] <TheRock> says it's video codec can't be found when playing
[04:12:12 CET] <TheRock> but then continues to play the audio
[04:32:22 CET] <SortaCore> that's odd
[04:32:26 CET] <SortaCore> run ffprobe?
[04:38:46 CET] <TheRock> see here
[04:38:50 CET] <TheRock> https://nopaste.xyz/?f62bacaa9ea4f30c#ibCfFaBez2lZlyiMr9rhT9kJixpR4Gkj9L2DK…
[04:39:12 CET] <TheRock> looks like it contains video?
[04:39:13 CET] <TheRock> Stream #0:1: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 500x500 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
[04:39:21 CET] <TheRock> it's a mp3
[04:39:30 CET] <Cracki> 500x500, might be a cover?
[04:39:36 CET] <TheRock> yeah there is a cover
[04:40:12 CET] <TheRock> I use ffmpeg without mjpeg
[04:40:14 CET] <TheRock> own build
[04:40:19 CET] <TheRock> that's the problem, probbly?
[04:40:25 CET] <TheRock> probably
[04:41:20 CET] <Cracki> it's prolly an mpeg2 container, but ffmpeg didn't say that
[04:42:08 CET] <TheRock> hmm
[04:42:18 CET] <TheRock> so as plain mp3 it couldn't have a cover?
[04:42:27 CET] <Cracki> no no this is right
[04:42:43 CET] <Cracki> "mp3" can be an unmuxed mpeg2 layer 3 audio stream
[04:42:50 CET] <Cracki> or it can be mpeg2 container + stream inside it
[04:42:58 CET] <TheRock> ah, ok
[04:43:04 CET] <TheRock> I did not build ffmpeg with mpeg2
[04:43:06 CET] <TheRock> from what i remember
[04:43:12 CET] <TheRock> only mpeg
[04:43:13 CET] <TheRock> 4
[04:43:13 CET] <Cracki> since ffmpeg found an mjpeg stream, it's prolly properly containered
[04:43:25 CET] <Cracki> mpeg2 is a whole standard
[04:43:35 CET] <TheRock> yeah makes sense
[04:43:37 CET] <Cracki> the demuxers should be available anyway
[04:43:46 CET] <TheRock> yeah the audio is playing well, but it raises an error
[04:43:49 CET] <TheRock> in my app
[04:43:54 CET] <Cracki> so don't decode the video ¯\_(Ä)_/¯
[04:44:26 CET] <TheRock> that's not so easy, the user add his videos/audios
[04:44:59 CET] <TheRock> the best is probably to rebuild with mpeg2 support
[04:49:29 CET] <Cracki> no
[04:49:35 CET] <Cracki> you check which streams the container has.
[04:49:45 CET] <Cracki> and you only decode the audio stream.
[04:53:26 CET] <TheRock> yeah
[04:53:30 CET] <TheRock> but:
[04:53:37 CET] <TheRock> my window is anyway black when mp3 is played
[04:53:52 CET] <TheRock> so it wouldn't harm if there is a jpeg displayed
[04:54:29 CET] <SortaCore> isn't it -nv command?
[04:59:02 CET] <Cracki> -vn
[04:59:39 CET] <Cracki> and that's for command line use, not if you use the library
[04:59:55 CET] <Cracki> only god knows what the rock uses
[05:05:31 CET] <TheRock> you guys already helped me
[05:05:36 CET] <TheRock> i thought it was a bug in the library
[06:17:05 CET] <SortaCore> weird, my RTSP copy codec is doubling the output time (codec time_base)
[06:18:54 CET] <SortaCore> even though I manually set the time base to the normal, it doubles in the output
[06:36:54 CET] <Cracki> your codec? your bug?
[06:53:28 CET] <SortaCore> nah
[06:53:41 CET] <SortaCore> well, it's my C++, but not a new codec
[06:54:00 CET] <SortaCore> I'm just copying directly from RTSP H264 decoder to MP4 video file encoder
[06:54:29 CET] <SortaCore> and I set the time_base to tbc 12, and it doubles to tbc 24
[07:05:30 CET] <SortaCore> it may be to do with the fact the framerate is 6
[07:05:35 CET] <SortaCore> so h264 may automatically double it
[07:11:53 CET] <SortaCore> hence 6 -> 12, and for me 12 -> 24
[07:13:27 CET] <SortaCore> double the context->time_base.num works ok
[07:13:42 CET] <SortaCore> but the duration on the file is a mess
[07:20:55 CET] <SortaCore> Frame rate: 0.155864 instead of 6
[07:45:29 CET] <johnnny22> I'm trying to capture 7.1 audio from a pulse source (index 0) using something like ffmpeg -f pulse -channels 8 -i 0 output.nut just for testing purposes. Now this gives me a "0: No such process" error. If I lower that -channels value to 6 it works and the output is 5.1 audio. Any idea what I might be missing ?
[07:46:34 CET] <johnnny22> The source is 8 channels according to "pactl list sources"
[08:25:59 CET] <WireCat> why would the swscale thing tell me 'bad dst image pointers'
[08:50:07 CET] <SortaCore> anyone know why copying RTSP H264 to video file results in duration of 21 minutes?
[08:50:48 CET] <SortaCore> the actual length is 22 seconds
[08:55:49 CET] <SortaCore> works okay if I transcode
[09:15:22 CET] <SortaCore> ticks_per_frame seems to be the cause of double-speed, but I can't fix the duration
[09:36:58 CET] <SortaCore> no one got a tip?
[09:39:44 CET] <SortaCore> looks like frame rate is butchered
[09:43:08 CET] <SortaCore> but I explicitly set r_frame_rate and avg_frame_rate to match the source
[09:43:12 CET] <SortaCore> any idea?
[10:32:27 CET] <bob12421> Hello
[10:32:44 CET] <bob12421> Is there a way to increase -rtbufsize beyond INT_MAX?
[10:35:15 CET] <bob12421> Could I compile it with 64-bit integer type?
[10:43:03 CET] <bob1241> I'm trying to capture 4K video but nothing works.
[10:47:03 CET] <furq> bob1241: you're going to need a fast ssd (or better) to capture 4k rawvideo
[10:47:25 CET] <furq> all the buffer in the world isn't going to help unless you have storage that can keep up
[11:25:29 CET] <bob1241> fruq, I've tried writing to a ram disk but no change
[22:00:54 CET] <picks_> I'm having some issues with trying to copy an encrypted m3u8 stream
[22:00:58 CET] <picks_> here's the log https://pastebin.com/NuUjKxcF
[22:01:13 CET] <picks_> after a few .ts files have been processed ffmpeg appears to fail
[22:01:54 CET] <picks_> but I'm not certain why. I've tried other HLS streams (from the same provider) and the issues remains
[22:16:49 CET] <ender948> ubitux
[23:02:50 CET] <DHE> picks_: well that's the point of encryption. the keyserver isn't giving you a useful key so ffmpeg can't copy it. maybe you're missing HTTP cookies or such.
[23:14:12 CET] <picks_> can I inject (for want of a better word) those cookies into ffmpeg
[23:23:25 CET] <DHE> dunno. but do you even have the cookies to inject?
[23:29:52 CET] <prelude2004c> hey everyone..
[23:29:59 CET] <prelude2004c> hey everyone.. installed cuda 9.1 on linux.. trying to compile ffmpeg with cuda enabled and it says " cuvid not found " whats upw ith that ?
[23:30:19 CET] <prelude2004c> anyone know.. cuda is found in /usr/local/cuda
[23:30:25 CET] <durandal_1707> have headers?
[23:32:02 CET] <prelude2004c> yup installed
[23:33:18 CET] <prelude2004c> been at this for 2 hours now.. i'm blown away..
[23:33:47 CET] <prelude2004c> path is there.. i even did a cflag includes and ldflag path and still nothing
[23:34:03 CET] <prelude2004c> seems /usr/lib/x86_64-linux-gnu/libnvcuvid.so
[23:34:10 CET] <durandal_1707> prelude2004c: pastebin config.log
[23:34:14 CET] <prelude2004c> i even tried a symbolic link
[23:34:33 CET] <prelude2004c> last error is : /tmp/ffconf.JJgJBSZh.c:1:22: fatal error: cuviddec.h: No such file or directory
[23:35:07 CET] <prelude2004c> not sure how to get that
[23:35:12 CET] <durandal_1707> where is your cuviddec.h now?
[23:35:41 CET] <prelude2004c> seems in 9.1 its like /usr/local/cuda-9.1/include/dynlink_cuviddec.h
[23:35:51 CET] <prelude2004c> it has dynlink so i guess it can't find it
[23:36:39 CET] <prelude2004c> should i change the configure ?
[23:36:42 CET] <prelude2004c> it's weird.
[23:36:54 CET] <durandal_1707> dunno
[23:37:06 CET] <durandal_1707> try to copy file instead
[23:37:33 CET] <prelude2004c> hey good idea
[23:40:32 CET] <prelude2004c> it went past the error.. i guess developers should consider that going forward
[23:40:33 CET] <prelude2004c> :)
[23:41:03 CET] <prelude2004c> maybe i have an old ffmpeg version
[23:43:10 CET] <prelude2004c> last question.. libnpp not found... which does enables that ?
[23:43:34 CET] <prelude2004c> with module do i have to install.. tried the ones that i saw that had to do with it but.. nothing .. still complaining
[23:44:26 CET] <durandal_1707> do you have libnpp installed?
[23:47:05 CET] <prelude2004c> not sure which file it is
[23:47:10 CET] <prelude2004c> i tried installing the ones i found but..
[23:48:20 CET] <prelude2004c> --extra-cflags=-I/usr/local/cuda/include
[23:48:29 CET] <prelude2004c> they are in there... but for some reason configure doesn't see it
[23:48:59 CET] <durandal_1707> look again in last line of log
[23:50:46 CET] <prelude2004c> yes /usr/bin/ld: cannot find -lnppi ..
[23:50:55 CET] <prelude2004c> but not sure what to grab to install that :(
[23:51:01 CET] <prelude2004c> tried the ones in repo .. nada
[23:51:54 CET] <durandal_1707> try to locate libnpp.so file
[23:52:37 CET] <durandal_1707> ldflags are used for -libs
[23:53:59 CET] <BtbN> prelude2004c, I have no clue what you are building there, but ffmpeg configure does not have a check for cuviddec.h. That header is bundled and does not need any external SDK.
[23:54:27 CET] <BtbN> Is that libav?
[23:54:36 CET] <prelude2004c> well i have 2 nvidia cards
[23:54:46 CET] <prelude2004c> and i am trying to use ffmpeg to transcode using the video cards
[23:54:54 CET] <prelude2004c> so... i installed the nvidia drivers.. they see the cards.. i installed cuda
[23:55:08 CET] <BtbN> ffmpeg does not need anything but the nvidia drivers at runtime for that
[23:55:15 CET] <prelude2004c> now i am trying to compile.. i'm past the cuviddec error by simply copying it
[23:55:18 CET] <BtbN> no special build time dependencies. Any default build of ffmpeg will have support.
[23:55:31 CET] <BtbN> So, again, what are you building there? It can't be ffmpeg.
[23:55:37 CET] <prelude2004c> hum.. weird.. well i am trying to get cuvid going
[23:55:39 CET] <prelude2004c> i need that
[23:55:55 CET] <BtbN> cuvid/nvdec is bundled and works out of the box unless you explicitly disable it
[23:56:08 CET] <prelude2004c> weird.....
[23:56:29 CET] <durandal_1707> whats you configure invocation?
[00:00:00 CET] --- Mon Dec 18 2017
1
0
[00:03:30 CET] <SortaCore> ok done
[00:03:45 CET] <SortaCore> there is -j option, but I've not heard of the one you describe iive
[00:04:18 CET] <SortaCore> yea, configure is slow, but make without -j num_cores is half an hour or so
[00:04:36 CET] <jdarnley> The man page suggests -j without argument will spawn all jobs
[00:04:37 CET] <iive> the problem with -j is that you should specifiy a number and the optimal number is different for every different cpu
[00:05:18 CET] <SortaCore> I was recommended "number of real cores, not hyperthreaded"
[00:05:33 CET] <SortaCore> I use one less than that so the rest of my computer isn't slowed
[00:06:00 CET] <iive> imho, bad advice
[00:06:01 CET] <jdarnley> alias make="nice make"
[00:06:23 CET] <iive> yeh, nice is much nicer :D
[00:06:31 CET] <wm4> I guess GNU isn't making -j something the default because you can write makefiles that break with -j
[00:06:36 CET] <wm4> but who knows
[00:06:56 CET] <ubitux> -j auto would be nice though
[00:07:00 CET] <jdarnley> I also did: alias mean="nice -n-10"
[00:07:00 CET] <SortaCore> Chloe: https://pastebin.com/XLJ6GvVk
[00:07:04 CET] <ubitux> so you could at least document it in the documentation
[00:07:43 CET] <ubitux> right now if you want to document that you wrote a clean make, you have to give examples like make -j$(nproc), or another non portable alternative
[00:07:52 CET] <ubitux> or hardcode a random constant like 4 or 8
[00:08:01 CET] <ubitux> or do sth not copy/pastable
[00:08:03 CET] <ubitux> etc
[00:08:42 CET] <wm4> well ffmpeg could switch to a real build system
[00:08:49 CET] <iive> yeh, I'm also quite interested if there is somebody who really wants to spawn thousands jobs at once.
[00:08:52 CET] <jdarnley> I want many of these old tools to be updated to relatively modern standards. make should detect cpu count, grep and ls should default to --color
[00:09:04 CET] <Chloe> SortaCore: stick a '#define _Atomic' on line 26 of ./compat/atomics/win32/stdatomic.h
[00:09:08 CET] <Chloe> then try make again
[00:10:16 CET] <iive> jdarnley: you mean, "grep and ls should default to --color when used to stdout"
[00:10:21 CET] <iive> like git does
[00:10:43 CET] <jdarnley> yeah, that is what --color does, I didn't say --color=always
[00:11:11 CET] <jdarnley> another silly option for silly tools that can have no argument
[00:11:19 CET] <iive> btw, I think my distro already does that, suspect it sets some env vars
[00:12:18 CET] <iive> yep, there is "LS_OPTIONS"
[00:12:50 CET] <jdarnley> I should change to that, then it would work when I use xargs
[00:12:59 CET] <jdarnley> or find
[00:14:12 CET] <SortaCore> Chloe: seems to be ok, but I'm getting warning C4024: 'atomic_compare_exchange_strong': different types for formal and actual parameter 3
[00:15:08 CET] <Chloe> it's just a warning, I believe it should still work
[00:15:17 CET] <mateo`> i will push the MediaCodec hwdevice type, do i need to bump the minor version of libavutil (+reset micro) ?
[00:16:09 CET] <SortaCore> I'm also getting a bunch of libavcodec\get_bits.h(308): warning C4101: 're_cache': unreferenced local variable, altho that's not yours
[00:16:11 CET] <jdarnley> New public facing feature? Yes bump minor (and reset micro)
[00:16:18 CET] <SortaCore> just seems like something you guys can drop
[00:17:07 CET] <mateo`> jdarnley: thx
[00:17:17 CET] <SortaCore> also libavcodec/mpeg4videodec.c(386): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
[00:17:25 CET] <SortaCore> that seems like it might break something?
[00:19:52 CET] <mateo`> should i also bump minor in libavcodec in the second patch which enable the use of the hw device ctx ?
[00:20:19 CET] <Chloe> SortaCore: you dont have to repeat all the warnings
[00:20:23 CET] <Chloe> there will be a lot
[00:20:32 CET] <Chloe> just post a log if it fails or completes
[00:21:39 CET] <jdarnley> mateo`: not entirely sure. I would say that two consecutive commits do not need two bumps but then I don't have to deal with users and APIs.
[00:23:20 CET] <SortaCore> it completes OK
[00:23:36 CET] <SortaCore> I'm posting the warnings that aren't to do with your code here so the other devs see it
[00:25:04 CET] <Chloe> no need
[00:25:22 CET] <Chloe> can you run FATE?
[00:26:58 CET] <mateo`> jdarnley: first one is in libavutil and the second one is in libavcodec, it feels to me that I also need to bump libavcodec in the later
[00:27:20 CET] <jdarnley> ah, I guess yes in that case
[00:30:28 CET] <SortaCore> I dunno, how do?
[00:31:54 CET] <Chloe> SortaCore: make fate-rsync then make fate
[00:32:03 CET] <Chloe> not sure how rsync works on windows though
[00:34:39 CET] <SortaCore> says use 'make fate-rsync SAMPLES=/path/to/samples' to sync the fate suite
[00:35:09 CET] <mateo`> jdarnley: sorry to bother you with that again but since the second patch does add any new api but only make the decoder honor the avctx.hwctx field, is it considered a minor or micro bump ?
[00:35:22 CET] <mateo`> does *not*
[00:35:46 CET] <jdarnley> I don't know.
[00:36:18 CET] <Chloe> SortaCore: yeah, so just do make fate-rsync SAMPLES=fate
[00:36:26 CET] <Chloe> to download them all to the 'fate' folder
[00:36:31 CET] <jdarnley> I think the reasoning is: if a user might want to know whether a given feature exists they can look at the version number
[00:43:40 CET] <SortaCore> fate-rsync just error 127, but make fate seems to do stuff
[00:45:43 CET] <jdarnley> there is a subset of tests that can run without the samples.
[00:47:24 CET] <Chloe> it probably cant find rsync
[00:49:02 CET] <Chloe> SortaCore: here's a cygwin compiled rsync for windows https://www.itefix.net/content/cwrsync-free-edition
[00:49:46 CET] <Chloe> from what I see, you dl the zip, and stick the rsync command at the bottom of the included bat file and run it: rsync -vrltLW --timeout=60 --contimeout=60 rsync://fate-suite.ffmpeg.org/fate-suite/ fate-suite/
[00:50:12 CET] <Chloe> then you can just copy the fate-suite folder into the ffmpeg folder and run make fate SAMPLES=fate-suite
[00:50:53 CET] <Chloe> In the meantime, I'm trying to setup visual studio on a VM on an external drive, but it's looking like it'll take several hours to install
[00:51:22 CET] <nevcairiel> vs2017 installs pretty fast, if your internet isnt the bottleneck
[00:51:52 CET] <Chloe> nevcairiel: it's all downloaded, disk speed is the bottleneck
[00:52:07 CET] <Chloe> also lack of cpu
[00:52:33 CET] <Chloe> (in my case)
[00:54:36 CET] <Chloe> michaelni: which compiler are you using on ubuntu?
[00:55:08 CET] <Chloe> oh. 4.8.5
[00:56:44 CET] <michaelni> Chloe, yes, its 4.8.5 as i mentioned in the mail :), and x86-64 in case it matters, suspect the cpu doesnt make a difference
[00:57:35 CET] <michaelni> i would guess the failure is related to some compatibility layer but i am just guessing
[00:58:38 CET] <michaelni> if theres something else you need, just say so
[01:00:44 CET] <Chloe> michaelni: I'm a bit confused to as why that cast wouldn't work. Do you know if `type _Atomic**` is different to `type * _Atomic *`?
[01:01:33 CET] <nevcairiel> of course it is, one is a pointer to an atomic pointer, and one is an atomic pointer to a pointer
[01:01:50 CET] <nevcairiel> position matters equally as with const
[01:02:01 CET] <Chloe> ok that's what i thought
[01:02:52 CET] <nevcairiel> but the main problem as far as I can see is that the actual variable is not declared atomic, so even if you do this one cas call atomic, any other accessed would not be
[01:02:53 CET] <Chloe> so maybe a (atomic_intptr *) would work?
[01:03:37 CET] <cone-220> ffmpeg 03Aman Gupta 07master:e4d9f05ca799: lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODEC
[01:03:37 CET] <cone-220> ffmpeg 03Aman Gupta 07master:8bf4e6d3ce25: lavc/mediacodec: use AVMediaCodecDeviceContext hw_device_ctx if set
[01:03:37 CET] <cone-220> ffmpeg 03Matthieu Bouron 07master:f3cffd121b99: lavc/mediacodec_wrapper: factorize MediaCodec creation functions
[01:03:37 CET] <cone-220> ffmpeg 03Matthieu Bouron 07master:1f1207145a0f: lavc/mediacodec_wrapper: fix potential jni global reference leak
[01:04:04 CET] <Chloe> Right, I was wondering if I should have changed the head/current pointers to atomics, so I wouldnt need to cast
[01:04:23 CET] <Chloe> I don't really understand it to be honest
[01:05:04 CET] <nevcairiel> the entire algorithm for the link listed is overly convoluted because it inserts at the end, which makes it additionally complex
[01:07:13 CET] <michaelni> Chloe, i suspect _Atomic is not understood by that gcc, its also not in the compat layer. I get the same errors if i replace it by _FooBar
[01:08:23 CET] <Chloe> michaelni: ah, windows has the same issue of not understanding the _Atomic keyword, so just using the atomic_* types instead may fix both
[01:34:15 CET] <Chloe> nevcairiel: is there any benefit declaring the lists' heads globals as `static AVType **` opposed to `static atomic_intptr_t *`?
[01:34:26 CET] <Chloe> s/heads//
[03:06:54 CET] <daddesio> Is rate-distortion optimization just a search for the best quality/bitrate tradeoff or is it more involved than that? What does it mean for an encoder to "have RDO"? Wikipedia says it's (sometimes?) a Lagrange multipliers problem.
[03:07:02 CET] <daddesio> (sorry if it's not the best place to ask)
[03:08:25 CET] <Compn> what now
[03:08:34 CET] <Compn> which codec even has rdo ?
[03:09:11 CET] <daddesio> well, here's Wikipedia's supposed list of such codecs: https://en.wikipedia.org/wiki/Rate%E2%80%93distortion_optimization#List_of_…
[03:10:53 CET] <Compn> you might want to try asking in #x264
[03:11:01 CET] <Compn> and #x265
[03:11:36 CET] <Compn> not sure if our internal h264 encoder has rdo
[03:12:14 CET] <Compn> or read the h264 spec , if you are interested :)
[03:12:44 CET] <daddesio> My guess is that a "non-RDO" encoder tries to achieve the best quality without going over the target bitrate, and an "RDO" encoder tries to achieve the "best balance" of good quality and staying near the target bitrate. And that an "RDO codec" makes the latter algorithm very mathematically easy.
[03:13:56 CET] <Compn> well, it could mean different things in different codecs
[03:14:20 CET] <Compn> or maybe "rdo" just has another name and we use it
[03:14:26 CET] <jkqxz> To my mind RDO just means "compares costs for different modes after the entropy coder rather than before".
[03:15:43 CET] <jkqxz> A non-RDO mode a codec can do motion estimation using SAD or SATD and some guessed metric for what they mean. In RDO mode, it actually checks how many bits each possibility will really take to use.
[03:17:18 CET] <jkqxz> So it is a technique for using the fewest bits you can to achieve a given quality, but takes a lot of time to do it because you need to do much more in each test.
[03:18:20 CET] <daddesio> Oh, I forgot about "target quality" instead of "target bitrate".
[03:19:24 CET] <jkqxz> Doing full RDO for something as complex as H.264 is prohibitively time-consuming. The H.264 reference encoder uses RDO throughout (tuned to PSNR), and is absurdly slow because of it.
[03:19:36 CET] <daddesio> heh
[03:20:04 CET] <jkqxz> H.265 is even worse, and then there is AV1...
[03:20:57 CET] <daddesio> But there's no way that it can perfectly achieve the desired quality in the *minimal* possible number of bits. For all but the most trivial codecs, that would require testing all combinations of bitstreams, decoding them, and finding the first one that has the given quality.
[03:21:56 CET] <daddesio> So I guess RDO isn't applied to the entire codec, but to certain elements.
[03:21:57 CET] <jkqxz> Yes, it's generally per-macroblock. They don't take into account how it changes the prediction for following blocks, or if they do it is in some approximated way.
[03:23:22 CET] <jkqxz> (With a per-symbol-adaptive arithmetic coder would indeed be pretty much completely impossible.)
[09:35:43 CET] <kurosu> RDO is indeed a lagrangian minimization of distortion under a rate constrain: distortion + lambda*rate
[09:36:02 CET] <kurosu> usually applied to mode and prediction selection
[09:36:31 CET] <kurosu> but you can do it in a lot of places (eg quantization), if your encoder can run that slow
[09:37:22 CET] <kurosu> motion estimation also somewhat uses that: typically, sqrt(lambda)*(sum of abs diff) + some_bit_evaluation(mv diff)
[09:38:21 CET] <kurosu> most s/w encoders use rdo in some places
[09:38:38 CET] <durandal_1707> can i get review for my sar aspect patches?
[11:27:08 CET] <durandal_1707> atomnuker: did you wrote any more code lines for atrac9 or adenoise?
[11:52:34 CET] <atomnuker> no, busy making lavc codec arrays static
[11:53:03 CET] <atomnuker> almost got it working too
[11:53:17 CET] <atomnuker> though after it I'll still need to do lavf and lavfi
[12:06:50 CET] <wm4> atomnuker: for lavf, don't forget about lavd
[12:07:47 CET] <atomnuker> oh yes, and lavd
[12:07:55 CET] <atomnuker> but that list is small enough to ignore
[12:08:46 CET] <wm4> what do you mean, ignore
[12:09:09 CET] <wm4> the trickiness is that in theory the formats list actually depends on whether lavd was loaded at runtime
[12:10:40 CET] <atomnuker> ignore == it'll be easy to convert
[12:11:10 CET] <wm4> so what do you plan to do for this?
[12:11:52 CET] <atomnuker> so lavd can optionally appear on runtime as a demuxer/muxer?
[12:12:02 CET] <wm4> yes
[12:12:39 CET] <wm4> via avdevice_register_all()
[12:12:47 CET] <wm4> don't know if that matters
[12:12:55 CET] <wm4> we could just always add them
[12:13:12 CET] <wm4> (and make lavf and lavd somehow depend on each other?)
[12:13:29 CET] <wm4> or lavd could be a separate list, that is added as an atomic pointer to lavf
[12:13:53 CET] <wm4> (still easier than list appending, just a trivial atomic pointer load/store of the array pointer)
[12:13:54 CET] <atomnuker> maybe just add it as a corner case in av_format_next or whatever the equivalent to av_codec_next is
[12:14:18 CET] <wm4> yes, so it'd go over two arrays
[12:14:38 CET] <atomnuker> wait, can every lavd device appear as a separate demuxer/muxer?
[12:14:47 CET] <wm4> anyway that was always a pain point when we discussed converting those lists to arrays
[12:14:57 CET] <wm4> "can"
[12:15:04 CET] <atomnuker> will?
[12:15:13 CET] <wm4> every lavd device is a libavformat muxer/demuxer, so yes
[12:15:26 CET] <wm4> there's no way to use lavd in another way
[12:17:35 CET] <atomnuker> then yeah, 2 arrays
[12:17:55 CET] <atomnuker> maybe I'll add a "avformat_is_device" too
[12:18:02 CET] <atomnuker> unless there's already one
[12:18:35 CET] <atomnuker> that's how I do things for lavc, since I get 2 separate decoder and encoder lists and use av_codec_is_decoder to figure out which list to use
[12:19:45 CET] <wm4> huh, isn't av_codec_next just a single list?
[12:19:51 CET] <wm4> API wise
[12:21:16 CET] <atomnuker> hm, you're right, this would break the api
[12:21:39 CET] <atomnuker> I guess the register function will populate ->next to avoid breaking that
[12:22:44 CET] <wm4> ->next is private
[12:23:12 CET] <wm4> av_codec_next() is the iteration function
[12:23:31 CET] <wm4> is just returns both decoders and encoders
[12:23:38 CET] <atomnuker> I don't need it then, I'll just convert lavc to not use ->next (used 1 or 2 times in utils.c)
[12:23:52 CET] <atomnuker> if its private can I remove it directly without deprecation?
[12:24:07 CET] <atomnuker> (still in the ABI unstable period)
[12:25:07 CET] <wm4> yes
[12:25:13 CET] <wm4> even without ABI bump
[12:25:42 CET] <wm4> apropos ABI fields, did the mess in AVFormatContext (or was it AVStream) fixed yet?
[12:25:47 CET] <wm4> +get
[12:26:08 CET] <durandal_1707> atomnuker: why it takes that so long for you?
[12:27:04 CET] <wm4> seems like it did, but this note is outdated now:
[12:27:05 CET] <wm4> * Internal note: be aware that physically removing these fields
[12:27:05 CET] <wm4> * will break ABI. Replace removed fields with dummy fields, and
[12:27:05 CET] <wm4> * add new fields to AVStreamInternal.
[12:29:28 CET] <atomnuker> durandal_1707: I've been in a convention for the last 5 days, I'm not able to work on many things at once but on one
[12:30:03 CET] <atomnuker> thankfully I'm flying back today, if british airways don't screw up
[12:30:56 CET] <durandal_1707> atomnuker: than quit your job as programmer and pick something else
[12:32:30 CET] <atomnuker> I like my job as a programmer
[12:33:53 CET] <durandal_1707> is ffplay maintainer here?
[14:21:58 CET] <cone-495> ffmpeg 03Martin Vignali 07master:ee2dfa34a25e: libavcodec/magicyuvenc : fix warning
[15:34:37 CET] <daddesio> kurosu: When you say it's a Lagrangian minimization, do most (or any?) encoders actually pose it as a Lagrange multipliers problem and try e.g. solving for (<compression parameters>, lambda)?
[15:46:22 CET] <atomnuker> yes
[15:46:38 CET] <atomnuker> the encode with a particular set of parameters with a given lambda
[15:47:20 CET] <atomnuker> after encoding they calculate distortion using some function of input and output, multiply it by the cost and then multiply it by the lambda
[15:48:25 CET] <atomnuker> hence why its called rate (lambda) distortion optimization
[15:49:16 CET] <atomnuker> the encoder picks the set of parameters which had the least cost so filtering out the obviously bad choices saves time
[15:50:21 CET] <atomnuker> lambda gets updated at the end of the encoding process though cost_for_frame / specified_cost_per_frame (bps / packets per second)
[15:50:34 CET] <atomnuker> *through lambda =
[16:08:02 CET] <daddesio> I assume f(<compression parameters>) is the cost in bits (which we're optimizing) and g(<compression parameters>) is some quality metric (e.g. PSNR) which we're constraining to a target value.
[16:08:43 CET] <daddesio> since f and lambda*g have to have the same units, then lambda has units of bits/quality?
[16:09:02 CET] <daddesio> Unless you optimize for quality subject to a bitrate constraint, in which case lambda has units of quality/bits.
[16:11:10 CET] <kurosu> There's a lot of empirical stuff in there: lambda for instance depends on your quantization parameter and some hierarchical stuff (e.g. intra vs Nth level of e.g. pyramid frame referencing)
[16:11:40 CET] <kurosu> you could try to reach/enforce some of the goals (whether rate or distortion)
[16:11:56 CET] <kurosu> but generally you have a first guesstimate that is approximately correct
[16:12:10 CET] <kurosu> and you refine as you encode
[16:12:19 CET] <daddesio> So I'm guessing that 99% it's just some "search" for the best compression parameters as opposed to algebraically solving for it.
[16:12:24 CET] <daddesio> s/99%/99% of the time/
[16:12:48 CET] <kurosu> completely, all the more since it's hardly perfectly "modelized"
[16:13:22 CET] <kurosu> though audio codecs are a different beast
[16:13:58 CET] <daddesio> Yeah, I was about to say that a lot of problems in audio are (matrix) least squares problems which can be solved directly.
[16:14:06 CET] <atomnuker> kurosu: wut? lambda doesn't depend on your qp, your qp depends on lambda
[16:14:31 CET] <atomnuker> well it does, but indirectly
[16:15:09 CET] <kurosu> I think you have a few encoders to look from to see which comes first in that chicken and egg problem
[16:15:32 CET] <atomnuker> a few encoders?
[16:16:02 CET] <atomnuker> also distortion can be modeled perfectly (or to a good enough degree), even for pvq
[16:16:57 CET] <atomnuker> the plan was to have that in av1 but eh, kinda difficult when the encoder's moving underneath you
[16:18:01 CET] <kurosu> well of course there are a few problems you can model through distortion only and find "optimal" parameters (in the sense of your minimization and distortion)
[16:18:34 CET] <kurosu> but in the end, neither the distortion from the encoder viewpoint means anything, nor your simulation of bitrate (unless you actually encode)
[16:19:04 CET] <kurosu> e.g. do you update entropy cost for every bit you'd have to encode when you *test*
[16:19:11 CET] <kurosu> as for qp/lambda: https://git.videolan.org/?p=x264.git;a=blob;f=encoder/analyse.c;hb=ba24899b…
[16:19:18 CET] <kurosu> but you can of course find the reverse
[16:25:21 CET] <kurosu> or https://hevc.hhi.fraunhofer.de/HM-doc/_t_enc_slice_8cpp_source.html#l00145
[16:25:50 CET] <kurosu> (not saying these examples are to follow or they are the best, just that it's been done that way)
[16:27:08 CET] <atomnuker> >using a reference hxxx encoder as an example
[16:29:19 CET] <daddesio> lol
[16:29:39 CET] <wm4> "Int" "Double" this source must be full of fun
[16:31:16 CET] <kurosu> your hxxxx is a strawman here, because I could be as derisive using pvq, but I was trying to have a discussion
[16:31:22 CET] <kurosu> well, whatever
[16:43:34 CET] <atomnuker> kurosu: you can't mock pvq, it is a special type of perfection which can be improved
[18:24:05 CET] <durandal_1707> atomnuker: how should notes/tones be entered for synth filter?
[18:25:43 CET] <cone-627> ffmpeg 03wang-bin 07master:dc08caa8f727: configure: fix probing armv6zk
[18:34:34 CET] <atomnuker> durandal_1707: for the storm/rain noise generator? randomly, use the av_lfg
[18:37:33 CET] <durandal_1707> atomnuker: thats nonsense
[18:37:54 CET] <durandal_1707> and how am i supposed to generate rain?
[18:38:50 CET] <atomnuker> a single sample stretched by a random factor + amplified by a random factor
[18:39:00 CET] <atomnuker> the only issue would be mixing them
[18:44:06 CET] <cone-627> ffmpeg 03Paul B Mahol 07master:d29f784a54f2: avfilter/vf_overlay: add premultiplied alpha mode
[19:10:25 CET] <ubitux> should i use AVFrame.data[3] to hold a subtitle struct (+its rectangle) instead of attempting to abuse the ref'ed extended_buf?
[19:11:26 CET] <ubitux> well, i'll give it a try in the next days
[19:13:12 CET] <wm4> sounds cleaner at least
[19:33:02 CET] <atomnuker> ubitux: for subtitles in avframes? awesome
[19:34:22 CET] <JEEB> <3
[19:38:07 CET] <ubitux> atomnuker: yeah, i'm back in the game for like at least 2 weeks
[19:38:41 CET] <ubitux> so i'm rebasing and reworking my previous attempt at subtitles in avframe
[19:38:58 CET] <ubitux> initial implementation was abusing the extended_buf to stick the "rectangles"
[19:39:17 CET] <ubitux> it was the best i could come up with wrt shared allocation mechanism between a,v & s
[19:39:40 CET] <ubitux> but in the end, using data[3] as if it was a different beast like hwaccel might actually be a better way
[19:40:17 CET] <ubitux> i wonder why i havent done that in the first place, but let's hope i was just stupid and there was no good reason
[19:40:24 CET] <ubitux> i'll figure it out soon enough
[19:42:12 CET] <Chloe> atomnuker: wm4 said you were doing something with the linked lists which used atomics too?
[19:46:27 CET] <atomnuker> no, I'm removing the linked lists
[19:52:36 CET] <durandal_1707> ubitux: use extended_data
[19:52:58 CET] <ubitux> that's what i did
[19:53:10 CET] <ubitux> it holds the rectangle
[19:53:21 CET] <ubitux> +s
[19:53:51 CET] <ubitux> damn my wip is from last year
[19:54:04 CET] <ubitux> http://ffmpeg.org/pipermail/ffmpeg-devel/2016-November/202152.html
[20:30:24 CET] <Chloe> atomnuker: so I guess there's no point me trying to fix the atomics there? just removing them is fine?
[20:36:10 CET] <atomnuker> I think, that avpriv_cas function is only used during registration afaik
[20:39:03 CET] <durandal_1707> can i get review
[21:08:32 CET] <Chloe> atomnuker: yes it is. Ping me when you've got a patch and I'll resubmit a fixed ver. of mine.
[21:11:00 CET] <JEEB> durandal_1707: I wanted to poke the SAR from link thing but when I last checked it it lacked any explanation on why so as I didn't have enough info on lavfi I just couldn't say yay or nay :P
[21:11:08 CET] <JEEB> as for the range stuff I haven't had time to test it
[21:14:13 CET] <durandal_1707> JEEB: its invalid to set sar or anything on inlink
[21:15:31 CET] <JEEB> ok, makes sense then
[21:15:40 CET] <JEEB> and makes me wonder how it wasn't noticed so far :P
[21:25:55 CET] <durandal_1707> michaelni: what you think about querying combination of pix fmt and color range and other stuff what some other clueless devs mentioned on ml?
[21:33:28 CET] <durandal_1707> atomnuker: how is removing linked list going?
[22:41:48 CET] <michaelni> durandal_1707, i dont know if its needed or avoidable
[22:53:47 CET] <JEEB> &25
[22:57:17 CET] <durandal_1707> michaelni: it fails because its experimental to do mpeg color range
[22:57:56 CET] <durandal_1707> michaelni: how could you not get it
[22:58:30 CET] <durandal_1707> michaelni: please remove experimental from mjpeg encoding
[22:58:50 CET] <durandal_1707> michaelni: or i will do it
[22:59:46 CET] <durandal_1707> looks like everybody had major lobotomy
[23:00:48 CET] <atomnuker> go ahead and remove it then
[23:39:07 CET] <michaelni> durandal_1707, before your patchset the code converts to jpeg color range, after the patch it fails trying to use the experimental color range. Thats all with the same command line, it should not use the experimental range unless requested / enabled
[23:40:29 CET] <michaelni> its just a simple dv -> jpeg convertion
[23:43:42 CET] <durandal_1707> michaelni: thats not doable andyou know it
[23:47:10 CET] <michaelni> it works currently, so it is doable. I dont know how to best do it without yuvj, but it certainly can be done. Maybe its easier to remove the feature but is this the only feature we would not be able to have anymore then?
[23:48:04 CET] <michaelni> theres some code to do special handling for the jpeg experimental case, it may be possible to update this?
[23:48:54 CET] <michaelni> avfilter will need to negotiate color_range like pix_fmt so naively i would assume that the output from avfilter would be the non experimental jpeg range
[23:56:59 CET] <Compn> are we going to add -color to ffmpeg command line ? to choose 709 vs 601 ?
[23:57:15 CET] <Compn> and then double the fate tests with both of these color ranges ?
[23:57:37 CET] <Compn> would that make it easier than specifiying each pixfmt ?
[00:00:00 CET] --- Sun Dec 17 2017
1
0
[06:27:20 CET] <WireCat> which is the correct current example of demuxing and decoding video? i tried some on google and such they say '..is deprecated' and other stuff.
[06:28:52 CET] <WireCat> i am trying to use the libraries.
[09:07:20 CET] <Stadtpirat> interlace
[09:07:23 CET] <Stadtpirat> oops
[09:53:37 CET] <TheRock2> guys why did ffmpeg not built a player like vlc with its great backend
[10:22:50 CET] <durandal_1707> TheRock2: because of people like you
[10:35:35 CET] <TheRock2> what does that mean
[10:47:25 CET] <durandal_1707> TheRock2: it means you havent sent patch
[10:58:43 CET] <johnnny22> Hi
[11:09:37 CET] <durandal_1707> hi
[11:55:10 CET] <johnnny22> I have a custom pulseaudio sink called 'combined' which is setup to have 8 channels to which I'm playing out a 7.1 audio. I'd like to capture that audio as 8 channels from the pulseaudio but for some reason it isn't working :o/ Any ideas how to do this ?
[11:57:25 CET] <johnnny22> The sink is called 'combined' and the associated source to it is called 'combined.monitor'
[16:53:24 CET] <adgtl> Network Traffic: [en0]: 2.56 GB in, 169.7 MB out
[16:53:39 CET] <adgtl> Display Resolution: #1: 2560 x 1600
[16:53:50 CET] <adgtl> System Uptime: 1 hour, 38 minutes, 12 seconds - Textual Uptime: 2 minutes, 6 seconds
[16:54:21 CET] <adgtl> I am in 10 channels while connected to 1 network. I have no power whatsoever.
[16:55:49 CET] <saste> hey, can you tell me when I can find the latest SPI treasurer reports? They used to be sent by email, but they are not anymore, apparently
[16:56:10 CET] <saste> ops sorry, wrong chat :-)
[17:55:30 CET] <Guest25576> I'm recording an OpenGL animation with the following command:
[17:55:31 CET] <Guest25576> apitrace dump-images -o - solid.trace | ffmpeg -r 30 -f image2pipe -vcodec ppm -i pipe: -vcodec h264 -y -crf 22 solid.h264
[17:55:44 CET] <Guest25576> but the playback is really choppy, can I get better fps?
[17:56:32 CET] <sfan5> sounds like a limitation of apitrace
[17:58:04 CET] <sfan5> maybe apitrace can output frames with higher fps, but in any case you should be doing opengl capture directly in realtime; not indirectly through apitrace
[17:58:49 CET] <Guest25576> actually apitrace has a function to replay the .trace file and when I do it plays at the correct fps.
[18:02:35 CET] <Guest25576> ok, how do I capture directly in realtime then?
[18:30:14 CET] <sfan5> mikeglaz: x11grab probably
[18:53:13 CET] <sarah-cal> Hello FFMPEG gurus. I am trying to take an MXF file that has 8 mono tracks (making a 7.1 surround sound audio), and exporting a single surround audio track. Is that possible? I couldn't find a same example in the docs at https://trac.ffmpeg.org/wiki/AudioChannelManipulation.
[18:54:34 CET] <sfan5> http://ffmpeg.org/ffmpeg-filters.html#channelmap should help
[18:55:12 CET] <JEEB> sarah-cal: yes, it's possible with FFmpeg's libraries as well as ffmpeg.c which is the command line tool utilizing various features of the libraries
[18:55:34 CET] <sarah-cal> Ah yes, thats very helpful. Thank you both sfan and Jeeb.
[18:56:12 CET] <JEEB> sarah-cal: the 6x mono -> 5.1 example in the wiki page you linked is relevant to you
[18:56:34 CET] <JEEB> in your case it's of course 8 -> 7.1 but that doesn't change too much
[18:56:52 CET] <JEEB> and instead of multiple inputs you have multiple tracks
[18:57:21 CET] <JEEB> not sure if you can do it with just [0:a], might have to add up [0:a:0] to [0:a:7]
[18:57:48 CET] <JEEB> (audio tracks from 0th to 7th)
[18:57:59 CET] <sarah-cal> Right, I think I understand.
[19:00:37 CET] <JEEB> the problem with such files that there as far as I know is no metadata regarding what's actually contained in them
[19:00:41 CET] <sarah-cal> So the map command can take separate tracks and combine into a single surround track? As in it's not just to fix incorrectly identified channels in a single track?
[19:00:56 CET] <sarah-cal> That makes sense Jeeb.
[19:01:14 CET] <JEEB> map just maps input tracks to output tracks. the filter I thought you'd be looking at was amerge
[19:01:23 CET] <JEEB> which makes a single track out of multiple input tracks
[19:01:44 CET] <JEEB> and then you map the output of that filter chain as a thing that you want to take as input
[19:02:07 CET] <sarah-cal> Ah ok, so it's 2 steps, extracting the individual tracks, then merging them?
[19:03:24 CET] <JEEB> so you have your input -i INPUT (which is the 0th input file), then you have your "complex" filter chain with the tracks from that 0th input file as inputs, fed to amerge which then outputs a single track with the channels merged there (Without mixing). and then you pick that output of the filter chain as what you want to have included in your output
[19:03:28 CET] <sarah-cal> Or do you mean this from the docs? http://ffmpeg.org/ffmpeg-filters.html#Examples-7
[19:04:10 CET] <JEEB> yes, that amerge thing would work as well, except it explicitly tells to convert that audio to format 16bit PCM, signed and little endian
[19:05:09 CET] <sarah-cal> Excellent, thank you so much for the wise tips.
[19:05:10 CET] <JEEB> basically that example is the same as the one on that wiki page about merging 6 channels from separate files to a single track in a single file
[19:05:41 CET] <sarah-cal> I see, thank you Jeeb.
[19:05:42 CET] <JEEB> except as you can see there's only a single input so all of the inputs for the "complex" filter chain are starting with [0:..
[19:06:03 CET] <JEEB> but yea, what I was trying to say is that due to there being no metadata there can always be "fun" situations :P
[19:06:14 CET] <JEEB> f.ex. all of the 8 track MXF files I got had only 2ch used
[19:06:16 CET] <JEEB> for stereo
[19:06:21 CET] <sarah-cal> Yeah, that sounds right for this instance, where the mxf has 9 tracks (1 video, 8 audio mono)
[19:06:42 CET] <JEEB> and then I had other MXF files with one audio stream with 8 channels
[19:06:48 CET] <JEEB> which also only utilized two of them
[19:07:05 CET] <JEEB> so yea, "MXF" is "fun"
[19:07:25 CET] <sarah-cal> Ha! Yes, I'm rapidly understanding that. Thanks agin :)
[20:35:16 CET] <Xorg> guys what does ffmpeg -f ffm mean
[20:36:08 CET] <sfan5> treat the input file as a FFM (FFserver live feed)
[20:40:35 CET] <Xorg> interesting
[21:04:59 CET] <Stadtpirat> Hey, guys, I want to denoise Lawrence of Arabia. It has a lot of noise. I was told that Vapoursynth is good with that stuff. I looked on the website and it lists a lot of denoise plugins. http://www.vapoursynth.com/doc/pluginlist.html
[21:05:11 CET] <Stadtpirat> I don't even know what to pick. Is there a recommendation ?
[21:05:44 CET] <Stadtpirat> I'm new to any of this, so it should be one that doesn#t require a lot of knowledge
[21:07:20 CET] <atomnuker> use the nlmeans filter, vs sucks
[21:15:03 CET] <durandal_1707> nlmeans filter in lavfi is very slow and strange
[21:15:15 CET] <furq> vs has knlmeans (opencl) which works pretty well
[21:15:29 CET] <durandal_1707> Stadtpirat: it all depends on kind of noise
[21:15:38 CET] <furq> but yeah there are a million denoise filters for a reason
[21:39:24 CET] <Johnjay> is dash similar to mp2t?
[21:39:36 CET] <Johnjay> i'm trying to download this vid and i dont' see an mp4 link in the web console
[21:40:07 CET] <Johnjay> http://sfdebris.com/videos/startrek/d403.php
[21:40:36 CET] <Johnjay> my video download extension is reporting 3 or maybe 6 download links to DASH video
[21:41:18 CET] <Stadtpirat> I have some samples of the film here: https://drive.google.com/open?id=1VKp_IwNtV7DTaTlqXkqQkpvFpOF6EDlx
[21:44:36 CET] <Stadtpirat> Could you have a look and tell me, what kind of noise that would be?
[21:46:34 CET] <sfan5> I have no clue but i'm just going to say it's typical (fine) film grain
[21:52:16 CET] <fella> 'a lot of noise' - yeah, almost unwatchable ;)
[00:00:00 CET] --- Sun Dec 17 2017
1
0