Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- 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
May 2018
- 1 participants
- 62 discussions
[00:25:44 CEST] <llogan> look like i broke the CSS with 2080b81a...remind me what extra step we need to do when the css is edited?
[00:30:27 CEST] <llogan> looks like lessc was required to generate the css but it wasn't installed.
[00:32:13 CEST] <llogan> i prefer the days when a site could be made with just a text editor with no frameworks, javascript, and all this other horseshit
[00:32:25 CEST] Action: llogan is officially old now
[00:35:07 CEST] <llogan> can't figure it out. oh well, we now have a new look.
[00:45:33 CEST] <llogan> for future reference i had to log into the server, navigate to the directory with the ffmpeg-web files, then run "make clean; make".
[01:10:50 CEST] <cone-578> ffmpeg 03Carl Eugen Hoyos 07master:53d6d4f266b5: ffplay: Print codec_name if decoder for codec_id could not be found.
[01:30:24 CEST] <jdarnley> I'll try to remember that for you.
[01:33:33 CEST] <llogan> thanks, but i'll just never touch it again.
[02:49:48 CEST] <cone-578> ffmpeg 03Michael Niedermayer 07master:a9dacdeea616: avcodec/qtrle: Do not output duplicated frames on insufficient input
[02:49:49 CEST] <cone-578> ffmpeg 03erankor 07master:500e63871162: qt-faststart - stricter input validations
[02:49:50 CEST] <cone-578> ffmpeg 03Andrey Semashev 07master:d7eb8d847571: lavfi/tests: Fix 16-bit vf_blend test to avoid memory not aligned to 2 bytes
[07:27:27 CEST] <cone-025> ffmpeg 03Alex Converse 07master:4d3dd167dfdf: flvenc: Factorize timestamp writing
[07:27:27 CEST] <cone-025> ffmpeg 03Alex Converse 07master:ea0010bf9cd2: flvenc: Fix sequence header update timestamps
[08:02:06 CEST] <gagandeep> kierank: i think now i have encountered that tag = 71 problem for mountain file and timelapse file you gave me
[08:02:43 CEST] <gagandeep> the output has too much noise but otherwise i can make out that yes the general picture is supposed to be this in mountain file
[08:26:29 CEST] <gagandeep> false alarm
[09:15:03 CEST] <gagandeep_> kierank: mountain file is running now
[09:15:27 CEST] <gagandeep_> man, that had many tags all over the place
[09:16:00 CEST] <gagandeep_> will try to run timelapse file as well now, cause that was also on ip frame
[09:34:55 CEST] <gagandeep_> kierank: now i just need to put the second frame in as well so whats the process in a 'non-succinct' manner :)
[09:36:22 CEST] <kierank> Use av_frame_ref to store a copy of frame in CFHDContext
[09:38:45 CEST] <gagandeep_> cfhd context will remain throughout
[09:38:53 CEST] <gagandeep_> what about free buffers function
[09:39:19 CEST] <gagandeep_> ah, ok i will need to edit header for that data
[09:39:51 CEST] <gagandeep_> and try to reference again when asked for second frame
[09:39:56 CEST] <gagandeep_> ok, let me see
[09:40:35 CEST] <gagandeep_> kierank: also ffmpeg output is good only when raw video and pix fmt yuv is selected, mpeg is producing artefacts
[09:40:38 CEST] <gagandeep_> is that alright
[09:41:04 CEST] <kierank> Probably ok we can investigate later
[09:41:58 CEST] <kierank> When you are done with buffered frame use av_frame_unref but I dunno if you need pixel data or coefficients
[09:42:26 CEST] <gagandeep_> i need only pixel data in the end, i don't think i will need coefficients
[09:43:42 CEST] <gagandeep_> afk, going to eat now
[12:32:23 CEST] <cone-071> ffmpeg 03Paul B Mahol 07master:d0e740b8fb30: avfilter/af_afir: fix picking of IR channel
[12:36:41 CEST] <klaxa> so i'm trying to test my allocation checks by using setrlimit() but i get segfaults in api-calls :/
[12:40:38 CEST] <nevcairiel> send patches :)
[12:41:54 CEST] <JEEB> klaxa: yea I wouldn't be surprised if a lot of stuff didn't handle OOM properly :D
[12:46:20 CEST] <klaxa> ok good i thought i was doing something wrong... i think handling OOM properly is desireable, but sadly not the task at hand, maybe if it bugs me enough i'll dig deeper
[12:52:44 CEST] <JEEB> klaxa: basically just try to make sure your code looks OK
[12:52:55 CEST] <JEEB> if nullptr then GTFO etc
[14:09:47 CEST] <thardin> feeling an urge to experiment with frama-c in libavutil
[14:19:28 CEST] <gagandeep> kierank: what about memory allocation for using av_frame_ref
[14:20:11 CEST] <gagandeep> in cfhd you had directly assigned avframe pointer to void data pointer brought as argument in cfhd_decode function
[14:20:12 CEST] <kierank> It's a reference count
[14:20:20 CEST] <kierank> So it just stops the frame from being freed
[14:20:33 CEST] <kierank> And when you are done with it and unref it gets freed
[16:10:31 CEST] <J_Darnley> A rather generic question for you all. Can one de-interleave every other value in an array without temporary storage for the whole array?
[16:11:23 CEST] <J_Darnley> Is there some function already in ffmpeg I can use for it?
[17:05:25 CEST] <thardin> getting somewhere with formally proving qt-faststart.c correct
[17:05:30 CEST] <thardin> or, that it should not crash at least
[17:31:44 CEST] <cone-456> ffmpeg 03Paul B Mahol 07master:1aa519245193: avfilter/af_aiir: draw IR frequency response
[17:59:08 CEST] <cone-456> ffmpeg 03Michael Niedermayer 07master:b3332a182f8b: avcodec/idctdsp: Transmit studio_profile to init instead of using AVCodecContext profile
[17:59:09 CEST] <cone-456> ffmpeg 03Michael Niedermayer 07master:8c50d0cccfe4: avcodec/idctdsp: Clear idct/idct_add for studio profile
[17:59:10 CEST] <cone-456> ffmpeg 03Michael Niedermayer 07master:44a2415a6d94: avcodec/h263dec: Reinitialize idct context if it has not been setup for the active profile
[19:53:33 CEST] <cone-456> ffmpeg 03James Almer 07master:cd62f9d557f6: tools/crypto_bench: add support for mbedcrypto
[19:53:34 CEST] <cone-456> ffmpeg 03James Almer 07master:5420c8f76e70: tools/crypto_bench: add missing RC4 implementation from gcrypt
[19:53:35 CEST] <cone-456> ffmpeg 03James Almer 07master:e3734aa6a33b: tools/crypto_bench: add missing RC4 implementation from tomcrypt
[21:27:13 CEST] <klaxa> while i'm fixing up the last bits of the last review round i've been thinking about how to do hls, i think it would be a bad idea to rewrite it from scratch, i think using the libavformat implementation is a no-brainer, however as far as i have investigated it requires to write files to disk, i'd prefer to keep everything in memory though, how should i go about this?
[21:30:53 CEST] <klaxa> i just thought of something like a virtual filesystem in ram?
[21:31:06 CEST] <klaxa> or should i just write to disk anyway? :S
[22:14:43 CEST] <klaxa> then again if people care about it as much as me they can just put it all in /tmp i guess
[22:28:40 CEST] <atomnuker> /tmp isn't guaranteed to be in ram
[22:29:02 CEST] <atomnuker> /dev/shm is, however
[22:29:31 CEST] <atomnuker> I prefer memfd though
[22:29:56 CEST] <atomnuker> though that's linux only so you'll still need fallbacks for osx or windows
[22:41:38 CEST] <klaxa> that looks exactly like what i want (i think?) might be tricky to get the hls encoder to use them
[22:42:57 CEST] <klaxa> i think for the time being it will be easier to have it working while writing on disk, people that care (like me) can make sure the files reside in ram instead of disk
[22:43:23 CEST] <klaxa> it's certainly an optimization worth implementing, but i think it should be working before i try to optimize it
[22:48:14 CEST] <jkqxz> atomnuker: I have the same segfault as hanna did above then uploading to rgb0 on radv.
[22:49:16 CEST] <jkqxz> Mapping from VAAPI in RGB does work, but since allocation is the problem the only thing you can do after that is download immediately. (E.g. "-hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_device /dev/dri/renderD129 -i in.mp4 -an -vf 'scale_vaapi=format=rgb0,hwmap=derive_device=vulkan,format=vulkan,hwdownload,format=rgb0' ..." works.)
[22:50:02 CEST] <jkqxz> Adding a scale_vulkan into that segfaults again, in the allocation for the scale output.
[22:51:29 CEST] <atomnuker> weird, I'm not sure what's going on
[22:51:53 CEST] <atomnuker> I've been wondering if a memory leak was happening, but I don't think so
[22:54:33 CEST] <BBB> I find it so exciting that some people involved in the actual C language appear to agree that this whole ub debate is utterly useless
[22:54:42 CEST] <BBB> (http://www.yodaiken.com/2018/05/20/depressing-and-faintly-terrifying-days-f…)
[22:56:21 CEST] <JEEB> that PDF seems to be going the rounds
[22:57:19 CEST] <atomnuker> jkqxz: hmm, I think I know what's going on
[22:58:43 CEST] <atomnuker> can you print "use_ded_mem" after line 1012?
[22:59:24 CEST] <atomnuker> maybe the driver is requesting dedicated alloc and its a path in image creation which I couldn't check since neither anv nor nvidia request it
[23:00:11 CEST] <jkqxz> 1
[23:01:59 CEST] <BBB> JEEB: its pretty well-written
[23:02:14 CEST] <BBB> JEEB: I think Ive objected to ub before in this irc channel, as well as on the mailinglist
[23:03:03 CEST] <jkqxz> "{sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, pNext = 0x0, prefersDedicatedAllocation = 1, requiresDedicatedAllocation = 1}"
[23:04:00 CEST] <JEEB> BBB: ah I wasn't sure which opinion you were of with your initial comment and thus I did a somewhat muted comment :)
[23:04:18 CEST] <BBB> ah
[23:04:20 CEST] <JEEB> I do agree that UB is, put lightly, "somewhat of a PITA"
[23:04:37 CEST] <BBB> I think too many things are marked ub for no good reason
[23:04:45 CEST] <JEEB> yes
[23:05:32 CEST] <klaxa> hmm most ub i have come across were basically "read after invalid write"
[23:06:15 CEST] <BBB> upshifting a negative signed integer is ub
[23:06:24 CEST] <BBB> signed integer overflow (a+b) is ub
[23:06:27 CEST] <klaxa> oh
[23:06:27 CEST] <BBB> etc.
[23:06:30 CEST] <klaxa> wow
[23:06:35 CEST] <BBB> these things are ridiculous, utterly trash
[23:06:36 CEST] <klaxa> could have just... defined it
[23:06:45 CEST] <BBB> we all agree that derefing a null pointer is bad
[23:07:09 CEST] <BBB> or writing (or reading) uninitialized memory or non-existing memory
[23:07:15 CEST] <klaxa> well types in c are kind of all over the place anyway
[23:07:58 CEST] <nevcairiel> the signed constraints are so stupid because C theoretically also supports running on archs that are not 2s complement where this might be weird
[23:08:05 CEST] <iive> maybe it is time people who write compilers to have a say in what the language should look like
[23:09:08 CEST] <BBB> nevcairiel: the problem is that it means people (..) will do silly stuff like int b = .., a = (int)((usigned) b + 10);
[23:09:37 CEST] <BBB> nevcairiel: that sort of stuff is obviously not going to give the same result as adding 10 and (signed) overflowing in the non-2s-complement machine
[23:09:53 CEST] <BBB> so you get dumb stuff like c can run on 1s complement, but ffmpeg requires 2s complement"
[23:10:11 CEST] <BBB> agian, utter trash, and makes our code ugly also
[23:11:05 CEST] <BBB> (and yes, ffmpeg has code like that all over the place, particularly in idcts)
[23:11:14 CEST] <jkqxz> Does AVS2 have any public test samples anywhere?
[23:11:44 CEST] <jkqxz> Or, like, any samples at all anywhere which might be findable by someone who can't read chinese.
[23:12:22 CEST] <BBB> cant you ask the guy on the ml that posted the wrapper patches?
[23:12:45 CEST] <jkqxz> I will if noone happens to know the answer here.
[23:13:27 CEST] <JEEB> jkqxz: I gave it a search and nothing came up with a set of keywords you probably already tried "avs2 reference samples"
[23:14:28 CEST] <atomnuker> jkqxz: could you replace "use_ded_mem = ded_req.prefersDedi...." with "use_ded_mem = 0;" and give it another try?
[23:14:35 CEST] <cone-456> ffmpeg 03Marton Balint 07master:f932e49aab09: avformat/mxfdec: fix klv_decode_ber_length return value usage
[23:14:36 CEST] <cone-456> ffmpeg 03Marton Balint 07master:e7498792b656: avformat/mxfdec: use int math for sample count calculation
[23:14:37 CEST] <cone-456> ffmpeg 03Marton Balint 07master:1616b1be5a12: avformat/mxfdec: add some missing picture_essence_container_uls
[23:14:49 CEST] <atomnuker> wait, no, it requires dedicated allocation
[23:15:51 CEST] <jkqxz> Still segfaults in the same place <https://0x0.st/s2Ec.txt>.
[23:15:52 CEST] <JEEB> oh wow, the code tree for xavs2 looked like x265 first but then suddenly a configure file under build/linux
[23:15:55 CEST] <JEEB> lol
[23:17:34 CEST] <jkqxz> JEEB: I did try quite a few variations on that and found nothing useful (excepting some companies which want to sell test streams). Being able to read chinese might have helped, though.
[23:17:37 CEST] <JEEB> the chinaffmpeg.org guy seems to have a PR open there
[23:17:52 CEST] <JEEB> jkqxz: yea, it's mostly meant for internal usage after all
[23:19:34 CEST] <jkqxz> I built both, they were full of crazy warnings.
[23:20:01 CEST] <jkqxz> A file encoded by libxav2 can be decoded by libdavs2, so that's something at least!
[23:20:23 CEST] <JEEB> I asked in a channel with at least some chinese in it
[23:20:45 CEST] <JEEB> maybe something will come out of it, but more likely the people making the wrappers might have info on the reference samples
[23:22:37 CEST] <jkqxz> Neither <https://www.google.co.uk/search?q=libdavs2> nor <https://www.google.co.uk/search?q=libxavs2> fills me with confidence that these libraries see much use.
[23:24:19 CEST] <JEEB> the IEEE standard doesn't seem to be finalized yet either
[23:24:26 CEST] <JEEB> http://standards.ieee.org/develop/wg/AVS_1857.html
[23:24:33 CEST] <JEEB> .4 is AVS2
[23:25:00 CEST] <JEEB> http://www.ieee1857.org/1857.4.asp their site
[23:26:34 CEST] <jkqxz> Lots of Peking University people in that group, who are the authors of these libraries.
[23:27:54 CEST] <nevcairiel> how badly stolen is that code?
[23:29:56 CEST] <JEEB> got as far as http://www.avs.org.cn/avs2/download.asp , where they have a "reference software", "realtime encoder uAVS2" and a "cloud platform openavs2"
[23:30:33 CEST] <nevcairiel> i wonder why they even bother to make that codec if its just ripped off hevc anyway
[23:30:45 CEST] <nevcairiel> they obviously dont care about patents or whatever
[23:30:49 CEST] <JEEB> "homebrew technology!"
[23:30:52 CEST] <nevcairiel> maybe just to look smart?
[23:31:01 CEST] <JEEB> it's not foreign patents, but local patents
[23:31:55 CEST] <JEEB> www.avs.org.cn actually has links towards AVS2 patent licensing
[23:32:03 CEST] <JEEB> so they do care about patents - their own that is
[23:32:30 CEST] <JEEB> "The AVS member can login to the AVS workgroup via FTP to download 92 standard test streams via the member account and password for product testing. The remaining streams can be contacted by the AVS secretariat to sign the relevant agreement for purchase."
[23:32:43 CEST] <JEEB> for AVS Part II which seems to be AVS2
[23:33:52 CEST] <JEEB> http://www.avs.org.cn/fruits/softList.asp
[23:34:37 CEST] <atomnuker> jkqxz: oh, that's with the patchset from the ML, right?
[23:34:48 CEST] <atomnuker> I fixed that bug in my github branch
[23:34:53 CEST] <atomnuker> https://github.com/atomnuker/FFmpeg/tree/exp_vulkan
[23:40:53 CEST] <JEEB> jkqxz: I think I'll just ask the guy who posted the patch
[23:44:13 CEST] <JEEB> there
[23:50:02 CEST] <jkqxz> libdavs2 doesn't build with gcc 7 because it adds -std=c++11, and gcc enforces that C++11 doesn't support hex float constants.1
[23:55:35 CEST] <jkqxz> (The configure script is copied from libx264, of course.)
[00:00:00 CEST] --- Thu May 31 2018
1
0
[01:19:31 CEST] <Zexaron> Hello, I was looking for those examples or explanation how someone can interface with ffmpeg API, if there is such a thing, basically, dumping frames off a 3D application's render output and making a video.
[01:19:52 CEST] <JEEB> yes tehre most defintely are APIs
[01:20:04 CEST] <JEEB> the ffmpeg.c application is just a single API client that doesn't even utilize all of the features
[01:20:47 CEST] <Zexaron> To recap it's Dolphin emulator https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoCommon/… - people here said, using AVI is definitely not right since no VFR support, then it may be an issue with how PTS is being applied, and then problem with "ticks" or something
[01:22:10 CEST] <Zexaron> I'm quite a rookie "programmer" but I'm willing to learn and take a look into this, since none of the others are interested and busy with other stuff, it's a bit hard to know all of their problems, because I don't know in depth as I never used this ffmpeg movie recording which they call "framedumping"
[01:22:12 CEST] <JEEB> time base is something like 1/1000 , and it tells you the size of a single tick. then each raw frame should have a PTS and duration on that time base
[01:22:58 CEST] <Zexaron> Here's some examples of framedumping issues I found on the forums from the past, the developers know the code is crap tho, just nobody fixies it, however they don't seem to know that AVI is not VFR lol
[01:23:17 CEST] <JEEB> well you can hack up AVI for VFR with null frames
[01:23:55 CEST] <JEEB> AVI basically has a static frame rate, and then you put frames within that in
[01:24:05 CEST] <JEEB> and a frame can be "null"
[01:24:12 CEST] <JEEB> aka "just show the previous one"
[01:24:16 CEST] <Zexaron> Here's an example from degasus: https://forums.dolphin-emu.org/Thread-enable-dual-core-dump-frames-disaster…
[01:24:43 CEST] <JEEB> but generally the thing with screen capture is that you really need to keep the image in VRAM for as long as possible
[01:26:24 CEST] <JEEB> grab RGB -> scale down if needed (preferably in a shader) -> convert to YCbCr if needed (preferably in a shader) -> pass image to either a VRAM based (proprietary CPU/GPU ASIC encoder black box APIs) or RAM-based (yer usual software encoding) encoder while not trying to stall the rendering pipe line
[01:27:06 CEST] <Zexaron> Because it's an emulator it's that hardeer, they also use Tool-Assisted-Speedrun (TAS) Input controls recording, separate from framedumping, and they have desync issues and don't know what causes it https://forums.dolphin-emu.org/Thread-where-does-dolphin-save-my-recordings…
[01:27:52 CEST] <Zexaron> So the workaround is, record the TAS Inputs when playing, then replay TAS Movie and framedump (ffmpeg movie) ... so it takes 2 steps instead of just all at once
[01:29:25 CEST] <Zexaron> JEEB: Oh they also want things to be pristine, lossless even, that's why they have FFV1 option too, but I'm already cooking up a plan, H264 hardware encoding could be attempted as it was suggested here too, because emulator mostly needs CPU and that would also fix the slowdowns
[01:29:48 CEST] <JEEB> nvidia does support lossless coding, even in 4:4:4 nowadays
[01:29:58 CEST] <JEEB> which is funny because their ASIC doesn't support *decoding* that
[01:29:58 CEST] <Zexaron> Well I haven't contributed much yet, that's why I'm calling "they", since im newcomer
[01:30:27 CEST] <Zexaron> Ah wait, no 4:4:4 on GPUs ... isn't that like a big deal ?!?
[01:31:07 CEST] <JEEB> if you planned to utilize the GPUs for "pristine" things I'd guess they don't want a downsampling of chroma
[01:31:26 CEST] <JEEB> as I noted, and tested - nvidia can do 4:4:4 lossless on their *encoder* ASIC
[01:31:33 CEST] <JEEB> what they lack is the *decoder* part
[01:31:36 CEST] <Zexaron> That makes "GPU Acceleration" such a ... 2 steps back one step forward deal, well I have an RX480 so I can only test AMD stuff, probably won't bother with nvidia, that would have to be covered by someone else
[01:32:06 CEST] <JEEB> well the main part is to get the capture part optimized and as non-blocking of the rendering loop as possible
[01:32:39 CEST] <JEEB> you can look at examples of how to do correct colorspace conversions and scaling in shaders for video from, say, libplacebo or mpv
[01:32:58 CEST] <Zexaron> THe AVIDump.cpp code is old, they also use XVID fourcc for "compatability" not sure with what, probably Avi tools, I didn't do much with Avi tools historically back in the day
[01:33:20 CEST] <kepstin> my impression is that dolphin is mostly single-threaded anyways, or at least relatively few threads? so if cpu scheduler does its job, a cpu-based encoder on a multicore cpu would probably be fine.
[01:34:06 CEST] <JEEB> the main thing is to get most of the stuff done quickly on the GPU that's possible, and then stuff passed on to the CPU (if required) as optimized as possible so that the render loop doesn't get stuck
[01:34:24 CEST] <JEEB> at least in realtime capture
[01:34:37 CEST] <Zexaron> kepstin: thanks for reminding me, Dolphin has Dual-Core mode, enabled by defaul, it does introduce some bugs in games but generally fine, singlecore isn't perfect either (sometimes regressions) ... they said that GPU/CPU threads are async when dual-core is enabled
[01:35:58 CEST] <Zexaron> And supposably Dual-Core, which is doesn't mean dual core inside, but the host HW it runs on, to also be messing with framedumping , AFAIK.
[01:38:28 CEST] <kepstin> so yeah, as little as possible should happen in the emulation/rendering threads - once you have the frame data, pass it over to a separate thread that handles encoding, writing files, etc.
[01:38:46 CEST] <JEEB> well the first thing should be something that does as much as possible on the GPU
[01:38:58 CEST] <JEEB> scaling, colorspace conversions
[01:39:13 CEST] <JEEB> then that passes the data off to the thing that would call FFmpeg's APIs
[01:39:47 CEST] <Zexaron> JEEB: One of the main things I've seen is the video doesn't look right when frames aren't stable, and they don't need realtime, I think the problem was also in the file not being reliable and half broken, that would explain the "XVID for compatibility" as they probably had problems with 3rd party AVI tools ... so other people yesterday pointed out, it may not be bandwidth or CPU speed, but the PTS timecodes and the use of ticks, this
[01:39:47 CEST] <Zexaron> could have a bigger effect, maybe just this would improve most things.
[01:40:20 CEST] <JEEB> yes, you definitely want to keep your PTS and duration of frames throughout the whole chain
[01:40:38 CEST] <Zexaron> I mean, the file gets saved to disk offline, probably doesn't need to be realtime, it can have some delay before writing stuff, it's not getting piped, not a livestream.
[01:41:05 CEST] <furq> well you have a finite amount of buffer so it needs to at least average out to realtime in the long run
[01:41:50 CEST] <furq> no cpu should be breaking a sweat encoding ffv1 at 480p60
[01:41:59 CEST] <furq> but i guess some people want to capture at ridiculous resolutions
[01:42:06 CEST] <Zexaron> oh, sure, but let me just asking which buffer? VRAM can't be used as buffer?
[01:42:21 CEST] <Zexaron> Not that I don't know, but just so I'm sure.
[01:42:40 CEST] <furq> wherever you're buffering frames
[01:42:50 CEST] <furq> probably not vram because they've already been displayed
[01:43:27 CEST] <Zexaron> Yeah, I that didn't make any sense why lossless would be causing slowdowns, except if they, didn't provide fast enough storage and misdiagnosed the problem.
[01:43:49 CEST] <JEEB> well your image would first be in VRAM
[01:44:03 CEST] <Zexaron> Because I did deal with video transcoding for a long time including ffmpeg ofcourse, so I know stuff from this side well (just not the deep programming stuff)
[01:44:15 CEST] <JEEB> whatever buffer you used for rendering, or even before it if you want the linear RGB stuff
[01:44:37 CEST] <JEEB> and then, since GPUs are actually good with image processing (as opposed to decoding or encoding modern video formats)
[01:44:57 CEST] <JEEB> you do as much of the wanted processing (can be none or close to none by default depending on the use case)
[01:45:03 CEST] <JEEB> in VRAM with the GPU
[01:45:14 CEST] <JEEB> scaling and colorspace conversion, if required
[01:45:38 CEST] <JEEB> this should already be done outside of the render loop, as I mentioned
[01:45:51 CEST] <JEEB> as in, you most likely pass on the source buffer to another "worker"
[01:46:09 CEST] <JEEB> that then has a queue or something so it doesn't block things
[01:46:48 CEST] <JEEB> then that makes a buffer that is something that can be straight fed into an encoder, and that data then gets passed into RAM (if a CPU-based encoder is utilized)
[01:47:08 CEST] <JEEB> and that should then of course be a separate "worker", calling the FFmpeg APIs
[01:47:19 CEST] <kepstin> in the ideal case with a hardware encoder, you don't do any copies from vram to system ram until you have the encoded video to save to disk.
[01:47:19 CEST] <Zexaron> Thanks for that, It would defnitely be a custom implementation obviously, it's quite a juggling act, some stuff they do with rendering has to be on host CPU just because there's issues with VRAM-RAM bandwidth/latency on modern PCs
[01:48:43 CEST] <JEEB> kepstin: yes if you feed it to a black box graphics hardware compatible ASIC encoder, then you will want to keep the image in VRAM all the way until you get compressed bit stream, in which case the encoder's API probably won't even let you get a VRAM buffer :D
[01:49:22 CEST] <Zexaron> so there's a number of buffers, but I guess for framedumping, just need the last one, I've read about it and talked but I'm not sure right now where is the final one, it surely has to be on the GPU no, if it's just a copy of that image inside VRAM, without having to do any RAM loop, then it should be good
[01:50:32 CEST] <Zexaron> I may also not be explaining it 100% accurately right now, but it's something like that.
[01:50:51 CEST] <JEEB> well, you need the buffer that you consider the thing that should be the source for your capture. in most cases it is the final render
[01:51:05 CEST] <JEEB> as I mentioned up there in the log, some might also want the linear RGB version
[01:51:35 CEST] <JEEB> so that the conversion to gamma or PQ or HLG or whatever can be done by the capture thing. if anyone wants to use "HDR" shaders and capture HDR, for example :P
[01:52:00 CEST] <JEEB> but that is out of the scope for basic design of such a capture setup
[01:52:38 CEST] <JEEB> anyways, almost 3am. need sleep :P
[01:52:49 CEST] <Zexaron> I actually don't see the reason why they would want 4:2:2 ... at first, but then I clicked, you mean because online video services are all 4:2:2 too and if they upload 4:4:4 it woudln't make no sense right?
[01:54:00 CEST] <Zexaron> JEEB: heh, it's very hard if Dolphin would ever do HDRWCG, but there's been a discussion just in the last few days https://forums.dolphin-emu.org/Thread-feature-request-hdr-support
[01:55:09 CEST] <Zexaron> yeah, later
[03:14:21 CEST] <Zexaron> Hmm, I was looking if ffmpeg provides .libs for including in crossplatform projects
[03:17:04 CEST] <Zexaron> ffmpeg is used as an external
[03:17:15 CEST] <Zexaron> was looking to update the version
[03:18:46 CEST] <Zexaron> Ffmpeg isn't built as a project, only some external dependencies are used
[03:20:16 CEST] <Zexaron> I guess it's only for windows, okay so all I need is to download shared or dev build from zeranoe
[03:20:24 CEST] <Zexaron> https://github.com/dolphin-emu/dolphin/tree/master/Externals/ffmpeg
[03:34:06 CEST] <Zexaron> yeah, dev linking
[03:34:12 CEST] <Zexaron> got it
[04:39:21 CEST] <Zexaron> hmmm, zeranoe's readme for dev linking doesn't say dev in readme, says shared, not a big deal but well, still a bug ;)
[04:42:20 CEST] <Zexaron> maybe im wrong to not sure
[04:42:49 CEST] <Zexaron> but anyway, libs from zeranoe are completely different kind than the ones existing here, not sure what kind of step i need to make
[04:43:59 CEST] <Zexaron> Seem to be much larger on repo, while zeranoe's just a few 100 kb https://github.com/dolphin-emu/dolphin/tree/master/Externals/ffmpeg/lib
[05:15:05 CEST] <Zexaron> oh now i get it, it's very selective from what kind of codecs it includes ... custom job i guess, since the full blown dll is huge for avcodec
[05:21:16 CEST] <Zexaron> Ah oh well https://stackoverflow.com/questions/11701635/use-ffmpeg-in-visual-studio
[08:41:31 CEST] <null_> hello? would anyone be able to contribute to this superuser question? https://superuser.com/questions/1326835/ffmpeg-arguments-for-optimizing-vid…
[08:56:52 CEST] <d-safinaskar> I want to capture X using 4 fps. I use this command: ffmpeg -f x11grab -framerate 4 -s 1920x1080 -i $DISPLAY -c:v libx264 -pix_fmt yuv444p -preset ultrafast -qp 0 ~/2018-05-30-03-06.mkv
[08:57:10 CEST] <d-safinaskar> and I get lots of messages "Past duration 0.999825 too large"
[08:57:14 CEST] <d-safinaskar> what this means?
[08:59:37 CEST] <d-safinaskar> usually i don't see such message
[08:59:56 CEST] <d-safinaskar> but when i suspend my laptop and then power on it again, the message appears
[09:00:55 CEST] <d-safinaskar> it seems that when the laptop powers on, ffmpeg tries to overtake/catch all this time when the ffmpeg was unable to capture screen because the laptop slept
[09:01:21 CEST] <d-safinaskar> so, it seems, ffmpeg tries to capture using very fast speed and he cannot and thus this error message
[09:01:44 CEST] <d-safinaskar> but i want ffmpeg not to try to overtake/catch anything
[09:02:02 CEST] <d-safinaskar> when resuming ffmpeg should simply continue to record using 4 fps
[09:02:05 CEST] <d-safinaskar> how to do this?
[09:07:09 CEST] <d-safinaskar> also, i know about -loglevel, i want to understand what is happening
[09:33:05 CEST] <lee__> hello
[09:33:29 CEST] <lee__> i have question
[09:33:50 CEST] <lee__> i want to build ffmpeg for android in window os
[09:34:19 CEST] <lee__> i modify configure file, and make .sh file
[09:34:52 CEST] <lee__> but build processing, no such file or directory
[09:35:00 CEST] <lee__> how can i fix it?
[09:36:23 CEST] <lee__> C compiler test filed <== err
[09:42:11 CEST] <JEEB> I build for android just fine on *nix so I don't see why it wouldn't work for you
[09:42:33 CEST] <JEEB> also configure times on windows are lolhueg so I'd at least recommend running the stuff under WSL
[09:57:16 CEST] <lee__> @JEEB you say i try another os ? not windows?
[10:04:56 CEST] <JEEB> well of course you're most likely also just doing things wrong, but what I'm saying is that after making a toolchain and doing normal cross-compilation it WorkedForMe
[12:19:34 CEST] <ariyasu> im using -ss to mark the start time of where i want to process a video "ffmpeg -ss 00:01:24 -i in.mkv -c copy out.mkv"
[12:20:05 CEST] <ariyasu> it works but it gives this error "[matroska @ 0000000000512840] Non-monotonous DTS in output stream 0:0; previous: -424, current: -440; changing -424. This may result in incorrect timestamps in the output file."
[12:21:02 CEST] <ariyasu> then i go to process the out.mkv to cut the end off it with "ffmpeg -t 310 -i out.mkv -c copy done.mkv" but not it won't work and give the error
[12:21:32 CEST] <ariyasu> "[matroska @ 0000000002cfa4c0] Can't write packet with unknown timestamp av_interleaved_write_frame(): Invalid argument"
[12:21:48 CEST] <ariyasu> is there any thing i can do, other than using mkvmerge to cut?
[12:55:47 CEST] <PaulHere> Hey, how can you access the sps (Sequence parameter set) from h264 using libavcodec?
[12:56:32 CEST] <JEEB> not sure you get that level of access through the API. you can get the NALs from the API in extradata/AVPackets but there is no way to tell it "hi, I would like the SPS"
[13:04:00 CEST] <Zexaron> Hello
[13:04:18 CEST] <Zexaron> does ffmpeg github uses forward slash in branch names on purpose?
[13:04:44 CEST] <BtbN> github is just a mirror.
[13:05:06 CEST] <Zexaron> I have some git bash issues on windows, or i'm not properly using the fwslashes and dobulequotes, maybe it needs special treatment
[13:05:34 CEST] <BtbN> The releases branches to have slashes in them, if that's what you mean?
[13:06:10 CEST] <Zexaron> git merge doesn't require a fwslash after remote name anymore so that's good, that saved me, but git checkout -b newbranch --track upstream/release/4.0 doesn't work (fatal: upstream/release/4.0 is not a commit cannot create branch)
[13:07:17 CEST] <Zexaron> yeah, the fwslash makes git also create a folder called release and put 4.0 file into it, I'm wondering if that's set up like that on purpose to do that, versus the use of fwslash just being randomly used as a visual separator
[13:07:37 CEST] <JEEB> it's just a visual separator, a lot of projects seem to do release/*
[13:07:56 CEST] <JEEB> some might use it for more detailed workings of git, but (Ž4@)
[13:08:22 CEST] <Zexaron> it does not create a file "release/4.0" since / is an invalid filename character
[13:08:24 CEST] <BtbN> works fine for me for all intended purposes.
[13:09:09 CEST] <Zexaron> JEEB: yeah if it's just visual, then it's not the most optimal one, it messes with paths and bash commands
[13:09:37 CEST] <Zexaron> You guys using linux?
[13:12:15 CEST] <Zexaron> well, yeah it's just a mirror, I guess you can't try because it's not setup, well I only need a mirror because i need to build libs for another project
[13:14:01 CEST] <Zexaron> yeah but the fwslashes are also on the main repo ... ah git is also used, i thought it was something else
[13:15:32 CEST] <Zexaron> well someone try then: git checkout -b test01 --track remote/release/4.0
[13:19:23 CEST] <JEEB> worked for me
[13:19:27 CEST] <JEEB> git checkout -b testbranch --track origin/release/4.0
[13:19:27 CEST] <JEEB> Branch 'testbranch' set up to track remote branch 'release/4.0' from 'origin'.
[13:19:28 CEST] <JEEB> Switched to a new branch 'testbranch'
[13:23:35 CEST] <Zexaron> You on windows or ?
[13:23:43 CEST] <JEEB> *nix myself
[13:24:01 CEST] <JEEB> I stopped building my windows binaries on windows after the configure got ridiculously long
[13:24:14 CEST] <Zexaron> well i have the remote set to single-branch maybe that's why it doesn't work with that
[13:24:17 CEST] <JEEB> (which was partially MS, and partially FFmpeg doing changes to the script)
[13:24:42 CEST] <Zexaron> Do you have origin set to * or single-branch like master for example ?
[13:25:01 CEST] <JEEB> whatever the default is when you clone
[13:25:37 CEST] <JEEB> I seem to get all tags and branches at least (unless the tags lack a mention in any branches)
[13:25:59 CEST] <Zexaron> if you didn't specify --single-branch when doing a clone then you have /* which means it'll clone all branches and fetch / merge wouuld then work differently a bit
[13:26:29 CEST] <JEEB> basically the only thing where I've had issues with the directory structure in git is when someone made a branch called the same as an origin you have
[13:26:37 CEST] <JEEB> and you checked out that branch locally
[13:38:25 CEST] <Zexaron> oh, well, I'm reading up on git checkout and tracking, could be because i use single-branch and don't have any of extra branches cloned, well I did create release/4.0 branch myself and merged from remote release/4.0 (hopefully that is the same as cloning)
[15:11:53 CEST] <th3_v0ice> Hi. I am using FFmpeg C API and I have been setting the number of threads for the encoder and decoder by setting the AVCodecContext->thread_count but my CPU usage never goes above 50% even if i set some large number. Why? CPU has 8 cores with 2 threads each.
[15:13:01 CEST] <Mavrik> Just because you set those fields it doesn't mean that encoder/decoder are multithreaded and they'll be able to use them
[15:14:55 CEST] <th3_v0ice> Mavrik, then what should I do?
[15:16:04 CEST] <Mavrik> explain what you're transcoding a bit more.
[15:18:02 CEST] <th3_v0ice> I am just doing simple decode of the input video and encoding it with x264 encoder.
[15:22:02 CEST] <th3_v0ice> My base code is trancoding.c from FFmpeg's github
[15:23:34 CEST] <kepstin> th3_v0ice: depending on the settings and video size you're using, x264 may simply not be able to split up the work enough to use all the threads.
[15:25:13 CEST] <kepstin> in general, you get better usage of threads for larger image sizes and slower presets.
[15:28:41 CEST] <th3_v0ice> kepstin: Well the input video is 1920x1080, the output is 480x270, preset it medium. So the problem is that it just cant split the workload?
[15:28:59 CEST] <kepstin> 480x270 is a very tiny video, so that's probabyl the issue, yes.
[15:29:57 CEST] <th3_v0ice> Hmmm, is there any scale as per which I can determine the optimal number of threads for resolution?
[15:31:04 CEST] <th3_v0ice> You are right, changing the resolution to 1080p is using 100% CPU.
[15:56:59 CEST] <Zexaron> Hey, so I can send contributions via git push or email while using a github mirror repo too?
[15:57:36 CEST] <JEEB> yea, but I recommend you use git.videolan.org's repo as your upstream
[15:57:43 CEST] <JEEB> that way you always are sure it's up-to-date
[15:58:32 CEST] <Zexaron> I didn't mean to primairly contribute at this time, althought I wanted in the past, right now I had to set up ffmpeg source because I need to build it myself to get LIBs, Zeranoe does not provide the kinds of LIBs that get integrated into the program
[15:58:51 CEST] <Zexaron> But I want to future proof it as if I would set it up for contribution
[15:59:21 CEST] <JEEB> basically the github repo is a mirror so in theory it should have everything the same, yes
[15:59:31 CEST] <JEEB> it just might be that at some point it gets desynchronized
[15:59:37 CEST] <JEEB> as in, nothing runs the synch script
[15:59:41 CEST] <Zexaron> yeah I would need to do a reclone then, anyway I was doing some configs, learning git along the way, need to do a reclone anyway
[15:59:52 CEST] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=summary
[15:59:55 CEST] <JEEB> this is the actual thing
[16:00:14 CEST] <Zexaron> however there's another link git:source.ffmpeg.org or something, what about that?
[16:00:50 CEST] <JEEB> that is supposedly another mirror, or at least at one point it was just a redirect to videolan
[16:01:15 CEST] <JEEB> given that when pushing contributions in, you can guess which end point I'm using :P
[16:03:50 CEST] <JEEB> for contributing you generally also then want to have your own github remote which is your own fork
[16:04:24 CEST] <JEEB> i have the read-only videolan one as origin, then my own public repo as 'github'
[16:05:06 CEST] <Zexaron> seems like http source.ffmpeg.org redirects to videolan
[16:05:29 CEST] <JEEB> yea that's what I used to know it did
[16:05:44 CEST] <JEEB> then someone mentioned that "the git UI on videolan is better than the source.ffmpeg.org one"
[16:05:48 CEST] <JEEB> and I was slightly confuzzled
[16:10:20 CEST] <Zexaron> I figured out the tracking from earlier, it was because I didn't have full remote history because I used --single-branch clone, so it's a false alarm, no syntax issues
[16:15:17 CEST] <Zexaron> But wait, how then send patch from downstream, not from local files ?
[16:15:26 CEST] <Zexaron> i mean github
[16:15:36 CEST] <Zexaron> I have my github forks as downstream
[16:16:12 CEST] <Zexaron> at least in the other repos which use PR's on github, I might find other namings more fitting for other repos
[16:16:15 CEST] <JEEB> github is just to have a remote to conveniently link to people if you want people to check something out. actual contributions get sent to the mailing list with (usually) git send-email. if git send-email is not possible, you can also attach the patch files to e-mail
[16:17:10 CEST] <JEEB> so when I'm in some branch of my own I can just make sure my master is up-to-date and then `git format-patch -o dir_name/ master..HEAD`
[16:17:19 CEST] <JEEB> and that creates me a set of patches
[16:17:37 CEST] <JEEB> (same way of X..Y also works for git send-email)
[16:17:52 CEST] <JEEB> (and there's --dry-run of course so you can check if it does things sanely)
[16:18:20 CEST] <th3_v0ice> kepstin: Thanks for helping me!
[16:18:42 CEST] <Zexaron> It's quite different flow so I'll have to specifically learn that stuff, dry run will help yes, but I'm digressing, I was actually trying to build it with VS2017 and get libs, guide says that it may be outdated
[16:19:35 CEST] <JEEB> generally as long as you tell configure that you're trying to do MSVC building and you have cl/link properly in your PATH it /should/ work
[16:19:46 CEST] <JEEB> it's just that native configuration on windows takes like 10min+
[16:19:49 CEST] <JEEB> it's just hilarious
[16:19:52 CEST] <Zexaron> According to this Zeranoe doesn't provide the 3rd option, that's what I was juggling with yesterday evening for hours hehe https://stackoverflow.com/questions/11701635/use-ffmpeg-in-visual-studio
[16:20:22 CEST] <JEEB> the end result of sending the e-mails looks something like this https://patchwork.ffmpeg.org/patch/9114/
[16:21:42 CEST] <Zexaron> yeah I'll stash all that when I get to figuring out that more, wanted to do some stuff a long time but just didn't commit to it
[16:22:21 CEST] <JEEB> but yea, if it's something you're not sure about just push to a branch in a github repo of yours (or gitlab or whatever) on ffmpeg-devel
[16:22:31 CEST] <JEEB> *and link on ffmpeg-devel
[16:22:35 CEST] <JEEB> "does this look sane"
[16:22:46 CEST] <JEEB> and if you get positive/send it on the ML replies
[16:22:55 CEST] <JEEB> then you can just push it on the ML
[16:23:02 CEST] <JEEB> (ML = mailing list)
[16:23:38 CEST] <JEEB> also just fyi, mingw-w64 binaries work nicely with MSVC as well. esp. shared ones
[16:23:39 CEST] <Zexaron> But does mailing list URL need to be setup from git ?
[16:23:44 CEST] <Zexaron> or is that all automatic
[16:24:19 CEST] <JEEB> it's not automatic, git send-email asks it always. and if you can't get that to work you can just put a bunch of patches out with git format-patch and then send them attached to an e-mail
[16:24:47 CEST] <Zexaron> oh ok
[16:24:54 CEST] <JEEB> as in, git send-email always asks for the mailing list address (ffmpeg-devel(a)ffmpeg.org)
[16:25:21 CEST] <JEEB> but as noted, as far as I know attached patches are OK too
[16:25:26 CEST] <JEEB> which you can get with format-patch
[16:25:35 CEST] <JEEB> (it retains commit authorship info and commit message etc)
[16:27:39 CEST] <Zexaron> kind of a backup
[16:27:41 CEST] <Zexaron> option
[16:28:08 CEST] <Zexaron> why wouldn't the normal way work? But it uses the same email
[16:28:24 CEST] <Zexaron> so if the email server goes down, wouldn't they both stop working
[16:29:13 CEST] <JEEB> yes, just like if github goes down you can't do some things where the workflow uses that
[16:29:33 CEST] <JEEB> most likely if the e-mail server went down people would just start flicking links to their trees on #ffmpeg-devel
[16:36:33 CEST] <Zexaron> On the other hand, about the include, not everything seem to be used, so when I build ffmpeg, do I have to do extra configuration, or simply cherrypick the .lib files from my results, not sure tho, avcodec.lib is only 9 MB while the DLL was like almost 50 (but not sure if lib-dll sizes can be compared, talking about the zeranoe0's shared dll)
[16:36:49 CEST] <Zexaron> https://github.com/dolphin-emu/dolphin/tree/master/Externals/ffmpeg/lib
[16:37:03 CEST] <JEEB> what you are supposed to do is you set --prefix during configuration
[16:37:12 CEST] <JEEB> then after you "make" you also "make install"
[16:37:21 CEST] <JEEB> that puts what you've built into a proper directory structure
[16:37:31 CEST] <JEEB> FFmpeg cannot be utilized properly straight from the source tree
[16:38:08 CEST] <JEEB> I recommend doing most of the development with relatively straightforward configuration (aka "don't start trying to do a minimal build from the beginning")
[16:38:31 CEST] <JEEB> and then when your code works you can start trying to optimize
[16:38:45 CEST] <JEEB> also if you want to retain debug info --disable-stripping is probably what you want
[16:39:26 CEST] <Zexaron> In this case I only need to update the dolphin repo ffmpeg to 4.0 - this is separate from my ffmpeg contributioning
[16:39:48 CEST] <Zexaron> completely unrelated, actually
[16:40:46 CEST] <Zexaron> if you knew that no prob, I just forgot to mention that clearly
[16:43:59 CEST] <Zexaron> Would be great if I could figure out what configs were used building those libs, which components were enabled or not
[16:48:51 CEST] <lyncher> hi. is it possible to convert a h264 video with CEA-608 captions to a raw video keeping the captions?
[16:52:47 CEST] <kepstin> lyncher: if by "raw" you mean decoded, e.g. yuv video - it doesn't have anywhere to store captions, so you'd have to extract them to a separate stream/file
[16:54:26 CEST] <lyncher> keptsin: thank you
[16:59:51 CEST] <JEEB> kepstin: CEA-608 were born in analog video
[16:59:55 CEST] <JEEB> out of view area :D
[17:00:04 CEST] <JEEB> libzvbi I think can read that stuff?
[17:00:24 CEST] <JEEB> I think the VANC stuff is specific in SDI as well
[17:01:20 CEST] <Zexaron> I need YASM, last updated 2014 ... will it work with VS2017 ?
[17:01:36 CEST] <Zexaron> Do I need YASM or libs only
[17:01:38 CEST] <lyncher> I was trying to send a H264 with CEA-608 captions over NDI
[17:01:56 CEST] <lyncher> but NDI only supports raw formats
[17:02:22 CEST] <lyncher> which means that captions have to be dropped before sending the video over NDI
[17:02:47 CEST] <kepstin> NDI really should have a sideband for stuff like captions :/
[18:09:59 CEST] <ltunner> .
[18:10:17 CEST] <ltunner> olá
[18:10:18 CEST] <ltunner> hi
[19:10:00 CEST] <sd1074> Can ffmpeg be used to record videos from 3-4 cameras with accurate timecode, assuming a linux with preempt_rt patch? What's the accuracy of timecodes I can expect? What would it depend on?
[19:10:58 CEST] <sd1074> I would need to synchronize the videos based on the time codes
[19:11:10 CEST] <JEEB> does the source give you timestamps/-codes?
[19:11:25 CEST] <JEEB> or is it something that has to be received from wallclock
[19:12:35 CEST] <sd1074> The system is still being design, we have the flexibility
[19:12:57 CEST] <sd1074> If we use wallclock, how bad is it going to be?
[19:13:15 CEST] <sd1074> *being designed
[19:14:20 CEST] <JEEB> anyways, expect to write your own API client on top of the FFmpeg's libraries' APIs
[19:14:46 CEST] <JEEB> so that you block least amount possible in the capture step and move it forwards in the chain
[19:15:00 CEST] <JEEB> as for wallclock, please no. that's the final fallback
[19:15:20 CEST] <TarquinWJ> Hi, I am trying to create a dashed WebM file from a source MP4 file, so that I get the header and the chunks as separate files. It looks like it should work, according to https://www.ffmpeg.org/ffmpeg-formats.html#webm_005fchunk
[19:15:20 CEST] <TarquinWJ> My command looks like this:
[19:15:20 CEST] <TarquinWJ> ffmpeg.exe -i source.mp4 -map 0:v -c:v libvpx-vp9 -pix_fmt yuv420p -b:v 2M -r 30 -f webm_chunk -keyint_min 90 -g 90 -header init.hdr -chunk_start_index 1 chunk-%d.chk
[19:15:20 CEST] <TarquinWJ> FFMpeg gives this error:
[19:15:20 CEST] <TarquinWJ> > Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
[19:15:22 CEST] <TarquinWJ> > Error initializing output stream 0:0 --
[19:15:23 CEST] <TarquinWJ> I have searched for this error, and only got other people saying they have the same problem
[19:15:24 CEST] <JEEB> preferably all the sources should have some sort of time source that is matched against something
[19:15:33 CEST] <TarquinWJ> any ideas what I need to do to make it work?
[19:16:13 CEST] <JEEB> TarquinWJ: if you need DASH webm an akamai person just added support for that in the dash muxer
[19:16:24 CEST] <JEEB> you get an MPEG-DASH manifest as well with that
[19:16:33 CEST] <TarquinWJ> JEEB: sounds awesome, how do I do it?
[19:17:00 CEST] <JEEB> get latest master FFmpeg, https://www.ffmpeg.org/ffmpeg-all.html#dash-2
[19:17:17 CEST] <JEEB> then set -dash_segment_type webm
[19:18:32 CEST] <JEEB> also no idea how bad the webm_chunk muxer is
[19:19:00 CEST] <sd1074> JEEB, thanks for your advice. There has to be some mechnism to sync the camera clocks then, right? What's the name of that feature? And would it matter if I use GigE interface?
[19:19:57 CEST] <JEEB> sd1074: FFmpeg's libraries handle the synchronization as long as the input timestamps that you feed it are on the same time line
[19:20:04 CEST] Action: TarquinWJ tries to grok
[19:20:17 CEST] <JEEB> if they are all over the place then of course you have to come up with ways of synchronizing between them
[19:20:43 CEST] <JEEB> in the worst case you'll have to utilize the wall clock of the capturing machine, but if there's any way to get any sort of clock for each frame that'd be preferably
[19:20:46 CEST] <JEEB> *preferable
[19:23:59 CEST] <sd1074> as far as I understand, the accurate timestamps in the latter case boil down to using appropriate camera hardware which have internal clocks and clock synchronization mechanism. Could you give me an idea how to search this type of cam? I need to understand the cost trade-offs
[19:24:41 CEST] <TarquinWJ> JEEB: how long ago was this added? I compiled ffmpeg only a couple of weeks ago, is it out of date already?
[19:25:29 CEST] <JEEB> it was pushed into the tree quite recently, yes
[19:25:47 CEST] <JEEB> sd1074: unfortunately I haven't handled such setups yet
[19:27:28 CEST] <TarquinWJ> shweet, progress is progress
[19:28:14 CEST] <sd1074> JEEB, ok, thanks anyway. Technically if the timestamps from cameras are correct, then we won't need to write our own API, right?
[19:28:28 CEST] <JEEB> ffmpeg.c is very static and blocking
[19:28:38 CEST] <JEEB> so I would recommend writing your own API client
[19:28:54 CEST] <JEEB> ffmpeg.c is the command line app that people know from FFmpeg, and it's just an API client
[19:29:00 CEST] <JEEB> the core of FFmpeg are the libraries
[19:29:03 CEST] <JEEB> and the APIs
[19:35:54 CEST] <TarquinWJ> JEEB: could you perhaps tell me if that is in stable (as in, will I get it if I just compile again like I did before?)
[19:37:03 CEST] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=shortlog
[19:37:07 CEST] <JEEB> that's the log for master
[19:37:12 CEST] <JEEB> it's the "dashenc" stuff there
[19:37:16 CEST] <JEEB> so if you build master now, you get it
[19:38:02 CEST] <TarquinWJ> nice one, thanks
[19:38:35 CEST] <sd1074> JEEB, ok, thanks
[20:44:33 CEST] <ariyasu> Frame rate : 29.970 (29970/1000) FPS
[20:44:33 CEST] <ariyasu> Original frame rate : 29.970 (30000/1001) FPS
[20:44:43 CEST] <ariyasu> is there any diffrence between these reported framerates ?
[20:52:08 CEST] <kepstin> ariyasu: yes. 30000/1001 is the exact, correct value for ntsc. 29970/1000 is a rounded approximation (but is pretty close)
[21:03:01 CEST] <ariyasu> thanks you kepstin
[21:11:30 CEST] <Vise> Hello
[21:12:04 CEST] <Vise> I need some help on transcoding a video, I'm sure my question isn't difficult and I'm missing something stupid
[21:12:35 CEST] <Vise> I use filter_complex for the video part but the audio is missing from the output file
[21:13:10 CEST] <Vise> ffmpeg -i INTRO.AVI -c:v libx264 -c:a libmp3lame -pix_fmt yuv420p -filter_complex "[0:v]SeveralFilters[v]" -map "[v]" -movflags +faststart INTRO.mp4
[21:13:37 CEST] <DHE> add "-map 0:a"
[21:13:37 CEST] <Vise> Any solution to get the audio transcoded properly?
[21:14:00 CEST] <DHE> when you use -map, automatic stream selection is disabled and you never explicitly mapped an audio stream
[21:14:19 CEST] <Vise> Ok it makes sense but I could not figure out how my syntax was wrong, that was easy XD
[21:14:28 CEST] <Vise> Thanks DHE
[21:16:32 CEST] <Zexaron> does anyone know the full size of avcodec.lib
[21:16:33 CEST] <TarquinWJ> JEEB: you earned your cookie today, many, many thanks, looks like the nee web dash format nailed it for me :)
[21:16:40 CEST] <TarquinWJ> new*
[21:17:55 CEST] <Zexaron> setting up VS2017 to build ffmpeg is going to take more time, since I'm always on slow-and-steady to make sure i don't mess up my freshly installed win10 since i had a ton of PC maintenance and hardware breakdowns i don't want to deal with backuping and restoring images anymore
[21:18:10 CEST] <Zexaron> so I might not be done today, just for me to ge an idea
[21:19:12 CEST] <Zexaron> a 9 MB avcodec.lib generated 2MB of extra .exe size I calculated when I didn't include it in Dolphin project, but size of full avcodec.dll is 47 MB ... so that means the lib is like over 300 MB in size or what ?
[21:19:58 CEST] <kepstin> Zexaron: the size of the lib depends a lot on the features and libraries included, and also whether debug symbols, etc. are enabled (most builds strip those out)
[21:21:23 CEST] <Zexaron> yeah the 9MB one is stripped, I have no contact with the guy who did that a year ago, and no info oh what features he included, but we're upgrading this framedumping system here so I might need more stuff than he included, https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoCommon/…
[21:22:24 CEST] <Zexaron> I imagined I would want to first update ffmpeg to 4.0 in a separate PR, but the tricy thing is, it's hard for them to accept 50 Megs while nothing would use it yet https://github.com/dolphin-emu/dolphin/tree/master/Externals/ffmpeg/lib
[21:23:16 CEST] <Zexaron> Unless I do ffmpeg update and new system all in one PR (or patch as you guys call it) but I've learned huge changes like that all at once are really unwelcome
[21:23:55 CEST] <Zexaron> That said, I know I would use more stuff, since will play with hwaccell
[21:25:12 CEST] <lyncher> kepstin & JEEB: following our previous conversation about NDI
[21:25:49 CEST] <lyncher> I think I found the source of the missing captions over NDI
[21:26:26 CEST] <lyncher> ffmpeg's NDI integration is using NDIlib_video_frame_t
[21:26:35 CEST] <lyncher> which is now deprecated in NDI's SDK
[21:26:59 CEST] <lyncher> the current NDI struct to represent a video frame is: NDIlib_video_frame_v2_t
[21:27:19 CEST] <lyncher> and one of the fields is:
[21:27:20 CEST] <lyncher> const char* p_metadata; // Present in >= v2.5
[21:27:42 CEST] <lyncher> Per frame metadata for this frame. This is a NULL terminated UTF8 string that should be
[21:27:48 CEST] <lyncher> in XML format. If you do not want any metadata then you may specify NULL here.
[21:28:31 CEST] <lyncher> which means that is possible to encode CEA-608/708 (or any other frame base captioning format) in NDI metadata
[21:28:41 CEST] <lyncher> and receive it in the other end
[23:06:50 CEST] <menon> hello
[23:06:56 CEST] <menon> i would like to cut video with ffmpeg
[23:07:10 CEST] <menon> or with any other linux program really
[23:07:24 CEST] <menon> i would like to input the input file output file beginning time and end time
[23:07:41 CEST] <menon> instead i have to input codec settings and not very well formated arguments
[23:07:47 CEST] <menon> and still my video is cut at different times
[23:07:50 CEST] <menon> and frames are missing
[23:08:10 CEST] <menon> i dont want to use other scripts just to convert it to webm and then back and other walkarounds
[23:08:20 CEST] <menon> my question is can ffmpeg cut videos at right time
[23:08:35 CEST] <menon> or is it always just 10 minutes of trying commands and seeing if it can or can not
[23:08:46 CEST] <kepstin> menon: it can, but it will usually require re-encoding the video, which means setting codec parameters, etc.
[23:08:52 CEST] <menon> like most topics on this case ended up for me
[23:09:00 CEST] <kepstin> menon: if you have a specific example, we can help you set up the command.
[23:09:13 CEST] <menon> cant it detect the codec
[23:09:25 CEST] <menon> isnt there an alternative that can cut videos
[23:09:35 CEST] <kepstin> it detects the input, but you have to specify the output.
[23:09:35 CEST] <menon> like some webm converter my friend sent me and i lost
[23:09:46 CEST] <menon> it made video frames right and enabled cutting
[23:09:54 CEST] <menon> all i want is cut my video at the time i enter
[23:09:57 CEST] <menon> not at some other time
[23:10:11 CEST] <menon> i see
[23:10:21 CEST] <menon> well i dont really mind about the format of the output
[23:10:32 CEST] <menon> but i want the simplest barest command possible
[23:10:34 CEST] <menon> to do what i need
[23:10:53 CEST] <menon> if i knew the command after years of doing this i would have saved it already
[23:11:00 CEST] <menon> but i never really figured it out
[23:11:11 CEST] <menon> even tho i did try multiple times to play around with it
[23:11:27 CEST] <klaxa> ffmpeg -i input.mp4 -ss 00:00:04.000 -to 00:01:04.000 output.mp4
[23:11:29 CEST] <kepstin> for most purposes, something like "ffmpeg -ss 1:30 -i inputfile -t 4:00 output.mkv" will do something reasonable. The argument to -ss is the start time, and the argument to -t is the *length* of the section.
[23:11:42 CEST] <menon> klaxa: completly ignoring my problem i see
[23:11:50 CEST] <klaxa> i... am?
[23:12:01 CEST] <menon> it doesnt cut at right time or frames are missing
[23:12:22 CEST] <kepstin> menon: you asked for a simple bare command to do what you want, and klaxa provided an example that will do exact frame-accurate cutting.
[23:12:24 CEST] <menon> or it takes a lot of trying to get a mile long command to cut a video with 4 arguments i want to use
[23:12:38 CEST] <menon> that command doesnt work for what i want
[23:12:39 CEST] <klaxa> what command did you use
[23:12:40 CEST] <menon> i want the frames to show
[23:12:46 CEST] <menon> i want it to cut where i want
[23:12:53 CEST] <klaxa> the exact command you used
[23:12:53 CEST] <klaxa> copy pasted from your command line
[23:12:55 CEST] <klaxa> not "the same command"
[23:13:42 CEST] <menon> i have -c copy in it
[23:13:45 CEST] <klaxa> remove it
[23:13:49 CEST] <kepstin> menon: that's the problem.
[23:13:50 CEST] <klaxa> it will cut at the right frames
[23:14:06 CEST] <kepstin> menon: you can't cut on exact frames with "-c copy", because of how video codecs work.
[23:14:08 CEST] <menon> before i try
[23:14:10 CEST] <klaxa> if you used either kepstin's or my command you would have seen that it would have worked
[23:14:12 CEST] <menon> will it cut at the right time?
[23:14:19 CEST] <menon> or will it cut few seconds whereever it wants
[23:14:22 CEST] <menon> instead of the time
[23:14:30 CEST] <klaxa> it will cut at the right frames
[23:14:35 CEST] <klaxa> it will take longer without -c copy
[23:14:38 CEST] <klaxa> but it will be frame accurate
[23:14:51 CEST] <menon> in other words
[23:14:58 CEST] <menon> will the video be freezed at the beginning
[23:15:01 CEST] <kepstin> menon: by default ffmpeg will cut at the exact times specified. If you use -c copy, then it can only cut at keyframes, which might not be where you want.
[23:15:01 CEST] <klaxa> no
[23:15:38 CEST] <menon> kepstin: but from what i understand there are 3 frame types and only the keyframes hold information that is enough on its own to render a frame
[23:15:46 CEST] <menon> rest are differentials from the keyframe
[23:15:51 CEST] <menon> or not?
[23:15:54 CEST] <klaxa> correct
[23:16:03 CEST] <klaxa> or from other differential frames
[23:16:13 CEST] <menon> so if i remove -c copy it will reencode?
[23:16:17 CEST] <klaxa> yes
[23:16:21 CEST] <menon> oh ok
[23:16:27 CEST] <menon> i was sure i tried before
[23:16:38 CEST] <menon> thanks
[23:17:05 CEST] <klaxa> maybe your ffmpeg is a bit old and -ss as an input is not frame accurate? not sure if it was inaccurate in the first place, but i know it's definitely frame accurate nowadays
[23:17:18 CEST] <klaxa> and as an output option as well because it will decode the input instead of seeking
[23:17:19 CEST] <menon> idk its new now
[23:17:33 CEST] <menon> im on a fresh install writing commands and stuff
[23:17:34 CEST] <kepstin> -ss as an input option has been frame accurate for a long time
[23:17:53 CEST] <menon> there might be conflicting answers on this topic if you search
[23:17:55 CEST] <klaxa> yeah replace "a bit" with "very very"
[23:17:58 CEST] <menon> and as you mention older versions
[23:18:08 CEST] <menon> the problem could have been anywhere
[23:18:11 CEST] <menon> if this works im fine with that
[23:18:30 CEST] <kepstin> yeah, there's a lot of poor information about how to use ffmpeg online, particularly if it's old :/
[00:00:00 CEST] --- Thu May 31 2018
1
0
[01:21:25 CEST] <klaxa> hrmpf, been listening to a stream for 2 hours now and the skipping didn't happen... but i already found more bugs :V
[05:42:15 CEST] <hapyt0wn> Hey I'm interested in detecting changes in powerpoint slides during a video and getting a hook set up
[05:42:21 CEST] <hapyt0wn> anyone know how to do that?
[06:57:16 CEST] <cone-059> ffmpeg 03Vishwanath Dixit 07master:f09635f2a2e6: avformat/utils: function to get the formatted ntp time
[06:57:16 CEST] <cone-059> ffmpeg 03Vishwanath Dixit 07master:5717cd80dcb8: avformat/movenc: creating producer reference time (PRFT) box
[08:26:15 CEST] <j-b> kierank: all of them? hevc?
[08:30:56 CEST] <atomnuker> which arch?
[08:32:58 CEST] <JEEB> hevc is slow on all I think? vp9 is a very nice contrast to it at least on x86_64
[08:35:57 CEST] <nevcairiel> hevc is indeed relatively slow, but thats not just a SIMD thing, it could probably use some general review of performance
[08:36:37 CEST] <cone-059> ffmpeg 03Gyan Doshi 07master:cba167934bb2: doc/ffmpeg: update disposition values
[08:38:15 CEST] <durandal_1707> j-b: all codecs are slow
[08:38:39 CEST] <j-b> durandal_1707: sorry, it was a morning joke ;)
[08:38:53 CEST] <j-b> atomnuker: I would say x64 for hevc
[08:39:23 CEST] <j-b> kierank: cf the talk at SES industry days...
[08:55:19 CEST] <hanna> atomnuker: chromaticaberration_vulkan
[08:55:24 CEST] <hanna> No such filter: 'chromaticaberration_vulkan' *
[08:56:03 CEST] <hanna> Oh sorry
[08:56:14 CEST] <hanna> [hwupload @ 0x557ec7915e40] A hardware device reference is required to upload frames to.
[08:57:15 CEST] <hanna> this is me trying to run ./ffmpeg -f lavfi -i testsrc=duration=10:size=1920x1080:rate=60 -vf format=rgba,hwupload,chromaticaberration_vulkan,hwdownload,format=rgba /mem/out.mkv
[08:57:36 CEST] <hanna> I guess the -init_hw_device and -filter_hw_device options are relevant but I have no idea how to use them for vulkan
[08:57:55 CEST] <hanna> it's not like any of this is documented
[08:59:35 CEST] <hanna> Okay, after looking at the source cod^W^Wdocumentation, and your other examples, I managed to come up with this:
[08:59:37 CEST] <hanna> ./ffmpeg -init_hw_device vulkan=vk -f lavfi -i testsrc=duration=10:size=1920x1080:rate=60 -filter_hw_device vk -vf format=rgba,hwupload,chromaticaberration_vulkan,hwdownload,format=rgba /mem/out.mkv
[09:00:15 CEST] <hanna> This segfaults
[09:01:31 CEST] <hanna> atomnuker: https://0x0.st/s2WC.txt
[09:01:47 CEST] <hanna> fun
[09:02:31 CEST] <hanna> let me retry with debug symbols
[09:04:11 CEST] <hanna> Huh, I tried building with CFLAGS="-Og -g" but I don't get debug symbols
[09:06:28 CEST] <hanna> Yeah, still no dice
[09:07:31 CEST] <nevcairiel> you need to use ffmpeg_g if you want debug symbols
[09:07:35 CEST] <nevcairiel> ffmpeg is always stripped
[09:09:16 CEST] <hanna> oh
[09:10:23 CEST] <hanna> https://0x0.st/s24z.txt
[09:10:27 CEST] <hanna> still not sure why it's optimizing stuff out
[09:11:12 CEST] <hanna> Might be an upstream issue anyway by the looks of it
[09:11:17 CEST] Action: hanna rebuilds mesa
[09:15:17 CEST] <hanna> I think I see the bug
[09:20:15 CEST] <hanna> atomnuker: Judging by the RADV source code it would appear as though you're supported to put a VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR into the pNext chain of your VkImageFormatProperties2 props
[09:20:32 CEST] <JEEB> hanna: btw if you want to tell FFmpeg to never strip, --disable-stripping
[09:20:46 CEST] <hanna> atomnuker: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPhy… this documentation appears to confirm that
[09:20:52 CEST] <hanna> To determine the image capabilities compatible with an external memory handle type, add VkPhysicalDeviceExternalImageFormatInfo to the pNext chain of the VkPhysicalDeviceImageFormatInfo2 structure and VkExternalImageFormatProperties to the pNext chain of the VkImageFormatProperties2 structure.
[09:21:04 CEST] <hanna> You never add a VkExternalImageFormatProperties struct to your VkImageFormatProperties2 chain
[09:21:06 CEST] <hanna> Therefore it segfaults
[09:28:36 CEST] <atomnuker> hanna: force pushed a fix to my repo
[09:28:56 CEST] <atomnuker> anv seems to be a more lenient
[09:29:33 CEST] <atomnuker> you can just comment that part out too, it would only be used for exporting dmabufs from vkimages
[09:31:50 CEST] <hanna> Device creation failed: -12.
[09:31:52 CEST] <hanna> Failed to set value 'vulkan=vk' for option 'init_hw_device': Cannot allocate memory
[09:35:01 CEST] <atomnuker> try vulkan=vk:0
[09:53:53 CEST] <kierank> j-b: meh, hevc
[09:58:52 CEST] <merbanan> hanna: g=3
[10:13:15 CEST] <durandal_1707> atomnuker: the quality of anlmeans for speach is passable for me, for music its bad, but any denoiser is bad in such case, what do you think?
[10:16:08 CEST] <atomnuker> I agree, most music is hard to denoise (though it should still do fine with piano music)
[10:16:14 CEST] <atomnuker> I'll test the patch tonight
[11:36:59 CEST] <hanna> atomnuker: same error
[11:37:05 CEST] <hanna> merbanan: huh?
[11:37:38 CEST] <hanna> atomnuker: Wild stab in the dark: The logic you use to find an appropriate memory type doesn't work for RADV because you made assumptions about available memory types that only work for iGPUs? :p
[11:37:45 CEST] <hanna> And therefore it fails allocating memory?
[11:38:00 CEST] <hanna> Oh, it says "Device creation failed: -12" before that though
[11:38:53 CEST] <merbanan> hanna: g=3 gives more debug info
[11:40:11 CEST] <hanna> I don't know how to set that
[11:40:13 CEST] <hanna> Or where
[11:40:15 CEST] <hanna> Or what this is about
[11:41:02 CEST] <merbanan> when you configure you can add that
[11:41:34 CEST] <hanna> Oh
[11:41:52 CEST] <hanna> What's the exact syntax for that?
[11:41:56 CEST] <hanna> ./configure g=3 ?
[11:43:00 CEST] <merbanan> hmmm, --enable-debug=3 I think
[11:47:07 CEST] <hanna> [AVHWDeviceContext @ 0x55e9a65bdb00] Failed to allocate memory: VK_ERROR_INVALID_EXTERNAL_HANDLE
[11:47:12 CEST] <hanna> this is the first error
[11:47:45 CEST] <hanna> atomnuker: ^
[11:57:36 CEST] <atomnuker> it works for jkqxz, something must be different with your system
[11:58:19 CEST] <atomnuker> just try ./ffmpeg_g -init_hw_device "vulkan=vk:0" -i <something> -f null -
[11:58:30 CEST] <atomnuker> to see if it can init without doing anything
[12:08:45 CEST] <hanna> atomnuker: that works
[12:08:59 CEST] <hanna> I probably don't have some whatever interop extension for whatever
[12:09:16 CEST] <jkqxz> What case are you trying here?
[12:09:43 CEST] <hanna> I have mesa built without support for wayland but with vaapi and with vdpau
[12:09:49 CEST] <hanna> jkqxz: I was running exactly this:
[12:10:23 CEST] <hanna> ./ffmpeg_g -init_hw_device vulkan=vk:0 -f lavfi -i testsrc=duration=10:size=1920x1080:rate=60 -filter_hw_device vk -vf format=rgba,hwupload,chromaticaberration_vulkan,hwdownload,format=rgba -f null -
[12:10:43 CEST] <hanna> log file: https://0x0.st/s246.txt
[12:11:11 CEST] <jkqxz> I'm not sure I ran something like that on radv.
[12:11:27 CEST] <jkqxz> I can check later, not next to the machine right now.
[12:11:51 CEST] <jkqxz> The YUV stuff didn't work, so I mostly concentrated on anv after testing a few others (including Windows).
[15:18:30 CEST] <cone-578> ffmpeg 03Sergey Lavrushkin 07master:bdf1bbdbb4eb: Adds dnn inference module for simple convolutional networks. Reimplements srcnn filter based on it.
[15:44:16 CEST] <gagandeep> kierank: one frame is now giving a respectable output, just need to provide 2nd frame data in global context
[15:44:47 CEST] <gagandeep> some blurring is there in the first frame of group of 2 frames but that i guess can be figured out
[15:48:50 CEST] <kierank> gagandeep: can you send screenshot
[15:49:54 CEST] <gagandeep> well the file is a full 1080p video with many frames, so one snap for now
[15:50:21 CEST] <kierank> ok
[15:50:48 CEST] <gagandeep> let me see if ffmpeg can convert without 2nd frame
[15:51:00 CEST] <gagandeep> i was using ffplay
[15:53:24 CEST] <gagandeep> kierank: ffmpeg conversion is causing a bit of problem right now
[15:53:31 CEST] <gagandeep> here is the ffplay frame
[15:53:33 CEST] <gagandeep> screenshot
[15:53:34 CEST] <gagandeep> https://imgur.com/a/f5xkcNA
[15:54:09 CEST] <kierank> gagandeep: what does mountain sample look like
[15:54:31 CEST] <gagandeep> i will need to first bypass the error cfhd is raising with it
[15:54:35 CEST] <gagandeep> so give me some time
[15:54:47 CEST] <gagandeep> i will try to open that sample as well
[15:55:01 CEST] <gagandeep> this sample is the one progressive ip i got from david
[15:55:28 CEST] <gagandeep> by tomorrow i think i can give you converted file of mountain one
[15:55:40 CEST] <gagandeep> need to finish the second frame integration
[15:56:04 CEST] <kierank> ok
[15:56:52 CEST] <gagandeep> also i will send the patch later if i can reduce the amount of code cause it only uses the inverses we had built in cfhd
[15:58:43 CEST] <gagandeep> kierank: does ffmpeg conversion cause problems if frame rate of video doesn't match the number of frames it gets
[15:58:52 CEST] <kierank> shouldn't matter
[15:59:01 CEST] <kierank> if you output to yuv
[15:59:11 CEST] <gagandeep> how would i do that
[15:59:22 CEST] <gagandeep> i have frame data in yuv only
[16:00:52 CEST] <gagandeep> oh, it won't matter if raw video is used while transcode
[16:02:59 CEST] <gagandeep> and pix_fmt yuv420p is selected
[16:03:49 CEST] <gagandeep> ffmpeg output for the ip progressive file is good now
[16:03:58 CEST] <gagandeep> thanks, i was scared for a moment
[16:04:36 CEST] <gagandeep> ./quit
[16:16:57 CEST] <atomnuker> jkqxz: it ran on windows?
[16:36:30 CEST] <jdarnley> A rather generic question for you all. Can one de-interleave every other value in an array without temporary storage for the whole array?
[16:36:56 CEST] <akravchenko188> hi guys. I have question. it look like HWFrameContext of DXVA2 type does support frame allocation if initial_pool_size=0, i.e one by one. any reasons for that?
[16:37:23 CEST] <akravchenko188> hi guys. I have question. it look like HWFrameContext of DXVA2 type does NOT support frame allocation if initial_pool_size=0, i.e one by one. any reasons for that?
[16:48:45 CEST] <nevcairiel> because that would not be usable with the dxva2 decoder
[16:49:05 CEST] <nevcairiel> it requires a pre-defined pool size
[16:50:52 CEST] <akravchenko188> d3d11va does support single alloc
[16:52:28 CEST] <nevcairiel> not sure any use of dxva2 frames would actually support non-pooled frames, filtering probably also requires all of them from the same pool
[16:52:57 CEST] <nevcairiel> dxva2 is much less flexible then d3d11
[16:53:53 CEST] <akravchenko188> I need it for filter which outputs dxva2 frames
[16:55:02 CEST] <akravchenko188> so now I have to set initial_pool_size. probably we need to extend hwcontext_dxva2 to allocate single frames
[16:55:21 CEST] <nevcairiel> what can actually properly consume those then, and why not use d3d11?
[16:56:10 CEST] <akravchenko188> I am implementing both dxva2 and d3d11
[16:57:23 CEST] <nevcairiel> maybe skip dxva2 if its a problem? its mostly legacy at this point
[16:57:59 CEST] <nevcairiel> the DXVA2 api itself is not really designed for un-pooled frames
[16:58:25 CEST] <akravchenko188> in case of ffmpeg.exe usage yes, it is legacy. in case of libs usage not
[17:02:17 CEST] <nevcairiel> the only thing we even have that handles dxva2 frames is a decoder that can output it, we dont have any filters or encoders that can consume them. only qsv encoding sort-of through deriving it into a qsv frames, but we could probably implement deriving into d3d11 if thats something thats useful
[17:08:24 CEST] <jkqxz> atomnuker: It did upload/download of RGB on both Intel and AMD on Windows (no YUV support on either of those). I didn't try to build libshaderc, so no filters.
[17:10:19 CEST] <jkqxz> nevcairiel: Deriving from D3D11 for libmfx requires the subresource index stuff which wasn't implemented for a long time; apparently Intel have done that now, but I don't know when it will be generally usable.
[17:10:42 CEST] <nevcairiel> not for intel, i meant from dxva2 -> d3d11
[17:17:36 CEST] <jkqxz> akravchenko188: None of the hwcontext implementations are required to use the allocation from libavutil. If you have your D3D9 surfaces by some other route you can plug them into a frames context.
[17:18:23 CEST] <jkqxz> nevcairiel: Oh, right. That would probably make sense, though I'm not sure what the use-case would actually be.
[17:19:05 CEST] <jkqxz> (I looked at DXVA2 -> D3D11 a while ago as a way to get around the incomplete support in libmfx, but that turned out to be really painful.)
[17:21:44 CEST] <akravchenko188> Does it mean that I can could d3d surface in amf and attach to av_frame for further usage?
[17:25:55 CEST] <akravchenko188> jkqxz: Does it mean that I should create d3d9 surface in amf and attach to av_frame and pass to output to pipeline?
[17:26:29 CEST] <akravchenko188> This case I dont need to create output frame context, right?
[17:27:14 CEST] <jkqxz> Yes, that should work. I don't know if it's a better route to what you want, though.
[17:27:36 CEST] <jkqxz> You do still need an output frames context, it just wouldn't use the internal allocation.
[17:27:54 CEST] <akravchenko188> Ok
[17:27:58 CEST] <akravchenko188> Thanks
[17:33:45 CEST] <jamrial> should i just push the crypto_bench patch? Thomas Volkert hasn't replied or addressed anything about this tls library for a while now
[22:02:12 CEST] <cone-578> ffmpeg 03Paul B Mahol 07master:73438dbbbc87: avfilter/af_afir: draw IR frequency response
[00:00:00 CEST] --- Wed May 30 2018
1
0
[00:00:46 CEST] <lays147> Hello all, I need some help. I need to concatenate n videos that needs to have 8 audio channels each. Non necessary they will come with 8 channels, so I think that I need to normalize the video to have 8 channels and then concat them. I would like to know if this is the right approach, because this is my first try with ffmpeg.
[00:01:40 CEST] <lays147> i would appreciate any help on this,
[00:06:14 CEST] <user24> Q: I'm using `ffmpeg -re -f lavfi -i "sine=frequency=1000:duration=10" test.wav` to generate a sine wave in real time and write it to a file. How can I make ffmpeg flush the file every n bytes (my chunk size)?
[00:07:31 CEST] <user24> Right now, when I look at the output file size in real time it's first at 78 bytes for a few seconds, then 262222, then 524366. I'd like to write/flush the file every 2048 bytes.
[00:08:52 CEST] <klaxa> https://ffmpeg.org/ffmpeg-protocols.html#file
[00:09:00 CEST] <klaxa> looks like you can set it with -blocksize 2048
[00:09:37 CEST] <klaxa> lays147: sounds sane, you want to upmix from whatever to 8 channels then
[00:10:00 CEST] <klaxa> not sure if it can be done with filters only or if you have to script around a bit
[00:12:46 CEST] <user24> klaxa: this doesn't seem to have an effect
[00:12:48 CEST] <lays147> klaxa: I'm using python to run the ffmpeg because is a flow that I'm working on.
[00:14:05 CEST] <user24> https://gist.github.com/void4/070ea1e8fee9e5e25164b62d8c0dacb0
[00:15:33 CEST] <klaxa> hmm yeah... i'm testing around myself right now
[00:22:44 CEST] <klaxa> hmm an "easy hack" that (probably?) doesn't exactly write 2048 bytes but writes much faster would be using a pipe
[00:22:58 CEST] <klaxa> doesn't look like the -blocksize option gets applied correctly
[00:23:37 CEST] <klaxa> to use a pipe you can run: ffmpeg -re -f lavfi -i "sine=frequency=1000:duration=10" -f wav pipe: > test.wav
[00:23:48 CEST] <klaxa> note that this overwrites test.wav regardless of whether it exists or not
[00:24:28 CEST] <furq> lays147: just -ac 8
[00:24:43 CEST] <furq> it's a noop on 7.1 and it'll upmix anything else
[00:24:56 CEST] <furq> idk how well it'll upmix it but it should at least work
[00:25:10 CEST] <user24> klaxa: that works! :D thank you very much!
[00:25:45 CEST] <klaxa> great! but like i said, it's a hack
[00:26:12 CEST] <user24> yeah, good enough for me. I'm going to ask on stackoverflow to see if there's another way
[00:26:32 CEST] <klaxa> it's documented it should work, maybe later i can even take a look and check why it's not working as described
[00:28:03 CEST] <fa0> Well I finally found something to cut it, ffmpeg -i input.mkv -ss 00:00:06 -strict -2 -t 01:00:00 output.mkv
[00:30:21 CEST] <user24> https://stackoverflow.com/questions/50574086/ffmpeg-flushing-output-file-ev…
[00:31:10 CEST] <lays147> furq: I tried that, I used a video mono with 5 tracks, and the output was a 8 channel, but the audio was mixed in the third channel. and the others channels was empty
[00:31:12 CEST] <user24> klaxa: Thank you for the offer, your approach seems to work well
[00:31:24 CEST] <furq> oh
[00:31:35 CEST] <furq> if you have multiple audio tracks you want to mix then you need to use filters
[00:31:55 CEST] <furq> !filter amix @lays147
[00:31:55 CEST] <nfobot> lays147: http://ffmpeg.org/ffmpeg-filters.html#amix
[00:32:39 CEST] <furq> so presumably -af amix=inputs=5,aresample=och=8
[00:35:09 CEST] <lays147> furq: I'm confused. What I need is to concat N videos, that have between 1 and 8 channels of audio. this single output, how can I manage the channels?
[00:40:05 CEST] <lays147> I think that what I need to know first is that if I need to normalize the videos that doesnt have 8 channels of audio, to add silence to them, and then concat.
[00:43:17 CEST] <lays147> furq: klaxa would be something like this? https://pastebin.com/t49FkWXg
[01:26:12 CEST] <fa0> damm I finally split a video into 3 sections and joined it LOL
[01:26:14 CEST] <fa0> sheesh
[03:49:28 CEST] <sickcure> alright, so I've been advised ffmpeg might be what I need to fix some corrupted camcorder files. after a bit of guesswork on other channels, I've ended up here.
[03:49:51 CEST] <sickcure> I suppose the number one issue I'm having is I can't figure out how to actually *use* ffmpeg
[03:50:59 CEST] <furq> do you by any chance have mp4 files with missing headers
[03:57:06 CEST] <sickcure> believe that's exactly the issue
[03:58:02 CEST] <sickcure> one batch of the files are MP4s, one batch are MTS, all encoded in x264.
[04:00:49 CEST] <sickcure> I've tried a number of programs and have met my wit's end.
[04:03:47 CEST] <furq> yeah ffmpeg can't fix that
[04:04:06 CEST] <furq> i assume the ts files work and the mp4s don't
[04:04:23 CEST] <furq> if the ts files are broken then you probably have a different issue
[04:29:07 CEST] <not_sickcure> furq, the TS files are encoded the same way
[04:29:13 CEST] <not_sickcure> just a different container
[04:29:29 CEST] <furq> yeah if those are broken as well then you have a different issue
[04:30:21 CEST] <furq> the missing header issue is specific to mp4
[04:32:17 CEST] <sickcure> furq, what do I need to do to send you a private message here?
[04:32:32 CEST] <furq> you're better off asking in here
[04:32:35 CEST] <furq> most people in here are much smarter than i am
[04:33:49 CEST] <sickcure> I'm really at a loss with these, and am to the point that if I can pay someone to get these working, I'll be thrilled
[04:34:26 CEST] <sickcure> I don't have a ton of money going into these, because these were a zero budget production and the budget is entirely coming out of my pocket, but I could spare enough to make it worth while
[16:07:32 CEST] <foobarry> hi, compiling from source and want nvenc, i'm getting "ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec" even though i pulled "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git" and make installed it too. i also tried using the intructions at https://www.metaask.com/8752/error-cuvid-requested-dependencies-satisfied-c… but still get the error, any suggestions?
[16:08:32 CEST] <foobarry> the headers do get installed in /usr/local/include/ffnvcodec, but either the configure script isn't picking it up or wants something else?
[16:12:04 CEST] <foobarry> oh i was missing pkg-config package. that's a bit of a misleading error from the configure script
[16:51:08 CEST] <Zexaron> Hello
[16:52:17 CEST] <Zexaron> so it was suggested I that a program use ffmpeg's GPU encoders in order to relese CPU workload, but isn't that GPU specific right in terms of codec name ?
[16:53:33 CEST] <Zexaron> so resulting video would be different depending on GPU right, still usable/playable just would take more coding effort, but I guess it's worth it if it proves to relieve the CPU
[16:54:40 CEST] <Nacht> Zexaron: For more info I suggest looking here: https://trac.ffmpeg.org/wiki/HWAccelIntro
[16:55:52 CEST] <Mario____> Hi. I have a question about equalizer filter. What is a Q-factor? (https://ffmpeg.org/ffmpeg-filters.html#equalizer)
[17:03:04 CEST] <Nacht> Mario____: My guess is, https://en.wikipedia.org/wiki/Q_factor
[17:05:12 CEST] <Mario____> thanks
[17:27:29 CEST] <Mario___> I have another question with audio equalizer. If I add overlapping ranges, will they sum or just one of them will work?
[18:48:52 CEST] <acresearch> hello people, i have a video with a strange audio encoding, it works in my computer but not my TV, how can i re-encode the audio without loosing any video quality?
[18:55:32 CEST] <Blacker47> acresearch, with something like ffmpeg -i input.file -v:codec copy -a:codec target output.file with apropriate target codec...
[18:56:03 CEST] <acresearch> Blacker47: hmm i am not very good at audio encoding, what would be something good?
[18:56:23 CEST] <Blacker47> acresearch, you probably should start at finding out what audio codec is used now.
[18:56:43 CEST] <Blacker47> something good != something that your TV supports.
[18:56:51 CEST] <acresearch> Blacker47: i see
[18:56:59 CEST] <acresearch> ok 1 moment let me see how i can find out
[18:57:20 CEST] <Blacker47> also not all container supports all codecs.
[18:58:13 CEST] <acresearch> i have .mp4 (this is the container?) its audio is MPEG-4 AAC Surround 5.1 48000 Hz 384 kbps
[18:59:51 CEST] <acresearch> Blacker47: the strang part is that i have other videos with the extact same audio setup and .mp4 but they work with my TV ?!?! confused
[19:01:36 CEST] <Blacker47> try (+install) "mediainfo filem.mp4" and compare the output.
[19:03:11 CEST] <acresearch> ok 1 moment
[19:06:59 CEST] <Blacker47> acresearch, you can maybe try MP3 as audio codec: https://en.wikipedia.org/wiki/Comparison_of_video_container_formats#Audio_f…
[19:07:24 CEST] <Blacker47> acresearch, you also may try to contact the vendor of your tv.
[19:07:57 CEST] <acresearch> Blacker47: samsung, i doubt it, it is a tv from 2014, also in my country we do not have customer services
[19:08:12 CEST] <acresearch> anyway the difference is in the format profile,
[19:08:58 CEST] <acresearch> format profile: main seems to not work but LC works
[19:09:17 CEST] <Blacker47> is this for audio or for the video stream?
[19:10:36 CEST] <acresearch> Blacker47: audio
[19:11:34 CEST] <Blacker47> ok. didn't know they can have profiles too.
[19:13:06 CEST] <acresearch> so how can i change the profile? or reencode the file with something that will work?
[19:17:30 CEST] <acresearch> i am getting Invalid loglevel "copy"
[19:17:56 CEST] <Blacker47> acresearch something like that: https://superuser.com/a/1082211
[19:18:03 CEST] <Blacker47> just with .mp4 files...
[19:19:04 CEST] <acresearch> ok
[20:57:26 CEST] <^Neo> hello friends, I'm interested in how the codec parameters channel layout versus the frame channel layout gets set and parsed?
[20:57:37 CEST] <^Neo> i.e. when I open an AC3 codec, and say it returns 2.0
[20:57:50 CEST] <^Neo> and I get a frame from a source that has a channel layout 5.1
[20:58:00 CEST] <^Neo> is there no enforcement of the codecpars from the AVStream?
[20:58:12 CEST] <JEEB> always trust the AVFrame, the codecpar is just the information the decoder had when it got created
[20:58:27 CEST] <JEEB> a lot of decoders can be dynamic due to the nature of formats you're dealing with
[20:58:56 CEST] <JEEB> I've got plenty of broadcast channels that switch between stereo and 5.1 in f.ex. AC3, and that's 100% valid
[20:59:25 CEST] <JEEB> if you want to make sure you get the audio stuff in a certain format, you add filtering (which then utilizes swresample to remix)
[20:59:52 CEST] <JEEB> I hope you understand what I'm trying to convey :P
[21:00:50 CEST] <^Neo> I do :0
[21:00:53 CEST] <^Neo> :)
[21:01:15 CEST] <^Neo> side question about swresample
[21:01:18 CEST] <^Neo> can you make it generic?
[21:01:30 CEST] <^Neo> and basically say I don't care about the input, give me 5.1 on the output?
[21:02:00 CEST] <JEEB> you will have to reconfigure it when the sample rate/channel layout switches, but other than that you just care about your output
[21:02:10 CEST] <JEEB> I think the libavfilter filter does that for you
[21:02:27 CEST] <JEEB> you just say "I want 5.1, 48000kHz on the output" and you get that
[21:03:35 CEST] <JEEB> there's literally a function in swresample that takes in an AVFrame (which decoders give out and encoders take in) for both in and output
[21:03:42 CEST] <JEEB> which reconfigures the swresample chain
[21:04:03 CEST] <JEEB> https://www.ffmpeg.org/doxygen/trunk/swresample_8h.html
[21:04:06 CEST] <^Neo> is there one for av_filter_graph?
[21:04:08 CEST] <JEEB> AVFrame based API
[21:04:21 CEST] <JEEB> ^Neo: for avfilter you can just keep feedin'
[21:04:31 CEST] <^Neo> I've found that's not the cause
[21:04:35 CEST] <^Neo> I've found that's not the case
[21:04:48 CEST] <JEEB> interesting, I remember in my tests it worked but it might depend on the filters
[21:04:57 CEST] <^Neo> I was doing some ebur128 stuff
[21:05:04 CEST] <JEEB> oh, eburc128
[21:05:06 CEST] <^Neo> but the buffersrc would reject it
[21:05:13 CEST] <JEEB> yea it depends 100% on the filters I think
[21:05:45 CEST] <JEEB> although of course I'm not 100% sure. not sure how much I tested my audio filtering test code when I last poked at it
[21:15:39 CEST] <sickcure> alright, so my the professional data recovery company I was working with has let me down. I have some corrupted video files I desperately need to recover. they were from two different interview shoots I did, sitdown documentary style interviews. Unfortunately my camera decided to output some bad files. The files seem to be complete, but will not play in anything. I am willing to pay for working files! I've got the source files
[21:15:40 CEST] <sickcure> uploaded to my google drive right now and anyone willing to take a look and make an attempt is welcome
[21:59:42 CEST] <alexpigment> sickcure: does mediainfo say anything about the video or audio streams at all?
[22:00:23 CEST] <sickcure> nah, no info found
[22:00:36 CEST] <sickcure> and I've yet to find anything that can even open them
[22:00:37 CEST] <alexpigment> not a good sign
[22:01:07 CEST] <alexpigment> i'm assuming that ffmpeg -i [input] -c copy output.ext does nothing
[22:01:25 CEST] <sickcure> I honestly couldn't figure out how to work ffmpeg
[22:01:31 CEST] <sickcure> and that's how I ended up here
[22:01:49 CEST] <alexpigment> well, pm me a link to the google drive and i'll be happy to take a look
[22:02:03 CEST] <alexpigment> but if mediainfo has no info, it's usually hopeless
[22:02:53 CEST] <klaxa> pretty much
[00:00:00 CEST] --- Wed May 30 2018
1
0
[07:55:18 CEST] <gagandeep> kierank: fixed that stuff, made a noob mistake, back to work
[08:10:53 CEST] <cone-828> ffmpeg 03Karthick Jeyapal 07master:2efdbf736798: avformat/dashenc: Added option for Segment file format
[08:10:53 CEST] <cone-828> ffmpeg 03Karthick Jeyapal 07master:ebf85d319087: avformat/dashenc: Added a warning for incorrect segment name extension
[08:34:53 CEST] <hanna> atomnuker: I still wonder if there's a better way to upload RGB textures than my texel storage buffer hacks
[08:35:25 CEST] <hanna> Specifically, on devices where RGB textures are wholly unsupported
[08:35:32 CEST] <hanna> I know ANV has them to an extent, but e.g. RADV doesn't at all
[08:40:02 CEST] <atomnuker> huh, what devices don't support rgb textures?
[08:53:06 CEST] <atomnuker> hanna: were you talking about yuv textures?
[08:59:40 CEST] <hanna> no, plain old RGB
[08:59:41 CEST] <hanna> e.g. rgb24
[08:59:51 CEST] <JEEB> RGBA vs RGB, basically
[08:59:53 CEST] <hanna> atomnuker: all discrete GPUs don't, essentially
[08:59:57 CEST] <hanna> intel iGPU supports them to a limited extent
[09:00:14 CEST] <hanna> (only supports sampling from them, but not e.g. rendering to them or using them in compute shaders)
[09:05:02 CEST] <atomnuker> what use do you have for plain rgb textures? would they be any faster
[09:05:37 CEST] <hanna> atomnuker: consider a user opening an rgb file
[09:05:40 CEST] <hanna> like a png
[09:05:55 CEST] <hanna> I want to avoid a software conversion pass the likes of swscale
[09:06:23 CEST] <hanna> what I'm doing currently in libplacebo is doing the conversion from rgb to rgb24 on the GPU (using compute shaders)
[09:08:33 CEST] <atomnuker> that sounds reasonable
[09:09:10 CEST] <hanna> but this solution involves a lot of moving parts
[09:09:31 CEST] <atomnuker> yeah, sounds annoying if you want to ensure you never load overlapping parts in each workgroup
[09:10:28 CEST] <atomnuker> ok, how about this
[09:10:46 CEST] <atomnuker> you load the texture into memory and you map it to 3 1d images
[09:10:53 CEST] <atomnuker> each with a different stride
[09:11:01 CEST] <hanna> you can't put a stride on the texel size
[09:11:04 CEST] <hanna> (typically)
[09:11:30 CEST] <hanna> or am I misunderstanding?
[09:12:18 CEST] <atomnuker> oh, right, you can't
[09:12:59 CEST] <atomnuker> well, you could
[09:13:02 CEST] <atomnuker> if the image was 2d
[09:13:29 CEST] <atomnuker> you'd map the same memory to 3 images again and tweak the width until you get the right offset
[09:14:16 CEST] <atomnuker> should work on nvidia, I think they don't care about alignment of stride at all
[09:15:18 CEST] <hanna> I'm still not sure what you mean
[09:15:34 CEST] <hanna> also the stride has alignment requirements
[09:16:11 CEST] <atomnuker> on nvidia the requirements were "1"
[09:16:27 CEST] <hanna> bufferRowLength has to be a multiple of the texel size, the vulkan spec requires this
[09:16:38 CEST] <hanna> (in fact it has to be a multiple of the compressed block size for compressed texture formats)
[09:17:06 CEST] <atomnuker> that's for buffers
[09:17:34 CEST] <hanna> then I'm confused as to what you're talking about
[09:17:47 CEST] <hanna> copying from a buffer to an image is the ultimate goal here
[09:18:53 CEST] <atomnuker> basically, if it were possible, you'd create 3 images, each with a width==stride of 3, and map the same vkdevicememory to them but with a different offset
[09:19:14 CEST] <atomnuker> the vkdevicememory would be linear, you'd just map it and copy the texture directly
[09:19:28 CEST] <atomnuker> or you could use the awesome host mapping extension and skip copying it
[09:20:24 CEST] <atomnuker> then each of the components would be available as a different vkimage
[09:21:42 CEST] <atomnuker> this is all assuming that the implementation is merciful and VkSubresourceLayout.rowPitch isn't aligned
[09:27:01 CEST] <atomnuker> or if the compiler isn't merciful and demands a stride of 4, you could handle this in chunks of 5x(rgb)
[09:27:27 CEST] <atomnuker> since every 12 components the pattern repeats and 12 is a multiple of 4
[09:34:37 CEST] <hanna> Okay, I can see how that might work (given the assumptions) - but it has a shortcoming which is the same issue I have with texel buffers (potentially even worse)
[09:35:02 CEST] <hanna> Say I'm uploading a 1000x1000 image. Since you want the offset of 3 encoded as the width of the 2D image, you're using the height to cover the full amount of pixels in the original
[09:35:17 CEST] <hanna> so essentially you want a 2D texture that has dimensions 1x1000000
[09:35:42 CEST] <hanna> This exceeds the practical maxImageDimension2D (which is e.g. 16K for me)
[09:35:53 CEST] <hanna> To work around this you'd need to split those 1 million pixels up into 16K slices
[09:35:59 CEST] <hanna> And that's the same thing I'm trying to avoid, which the texel buffer case also requires
[09:36:09 CEST] <hanna> (Because texel buffers can also have size limitations)
[09:36:28 CEST] <hanna> (Fortunately the texel buffers on e.g. my end the limit is 134217728 on a texel buffer)
[09:44:14 CEST] <atomnuker> welp, what I would do which would work would be to host map the image to a buffer (or copy it) and work it in chunks of whatever I find is most efficient
[12:16:56 CEST] <gagandeep> kierank: about indentation, if i add an if statement that covers the existing code, should i indent the existing code in the patch i send with new code
[12:17:25 CEST] <gagandeep> i think this was also being discussed in my previous mail, so i sent an indented mail with new code
[12:18:07 CEST] <gagandeep> also i am now reading all the 17 subbands and just need to apply the inverses, and some minor stuff
[12:19:07 CEST] <jdarnley> Usually we prefer whitespace and indentation changes to be done in seprate patches.
[12:19:37 CEST] <jdarnley> Especially if you are just sticking if(){...} around a block.
[12:21:16 CEST] <gagandeep> ok
[12:21:51 CEST] <gagandeep> so i should send the indentation in a later patch, in the same mail? or a new one
[12:23:03 CEST] <jdarnley> Use git-send-email and/or git-format-patch and send all your changes as one thread to the mailing list.
[12:23:23 CEST] <jdarnley> If you need to do your own email then you may attach all the patches to one email.
[12:24:10 CEST] <gagandeep> ok
[12:24:14 CEST] <gagandeep> thanks
[12:25:17 CEST] <jdarnley> https://ffmpeg.org/developer.html#Submitting-patches-1
[12:25:27 CEST] <jdarnley> That ^ covers it
[12:32:08 CEST] <nevcairiel> we should really get rid of that stupid policy
[12:32:21 CEST] <nevcairiel> only carl really likes that because he doesnt have a proper patch viewer that can just ignore whitespace changes
[12:33:40 CEST] <jdarnley> I rather like it. It means I don't have to do something special to ignore whitespace changes.
[12:33:58 CEST] <nevcairiel> except you have to do something special when authoring patches
[12:34:00 CEST] <nevcairiel> which is far worse
[12:34:05 CEST] <jdarnley> Not to mention I don't know how to get Thunderbird to do that.
[12:34:09 CEST] <JEEB> btw, I got a confirmation during my sleep that https://patchwork.ffmpeg.org/patch/9114/ indeed fixes sftp for a user, so if someone else can say if that looks OK it can be merged and back-ported to release/4.0 (I can do that after $dayjob, but that's still some hours off)
[12:34:19 CEST] <nevcairiel> its basically in my genes to auto-indent any blocks i create
[12:34:25 CEST] <nevcairiel> and some editors i use even do that for me
[12:34:43 CEST] <JEEB> jdarnley: I usually get patches through patchwork because my clients are awful with patches
[12:35:03 CEST] <JEEB> so I can `curl -L "https://patchwork.ffmpeg.org/patch/9114/mbox/" | git am`
[12:35:08 CEST] <JEEB> for example
[12:35:22 CEST] <JEEB> so when I am looking at the patch it is already in git
[12:35:35 CEST] <JEEB> (well I can take a basic look in patchwork or so)
[12:36:45 CEST] <durandal_1707> atomnuker: looks like filter also filters out high frequencies like breath, they appears like noise
[13:01:32 CEST] <cone-828> ffmpeg 03Jun Zhao 07master:90acf168a6e2: cmdutils: print missing caps in print_codec().
[13:01:33 CEST] <cone-828> ffmpeg 03Jun Zhao 07master:81b77e7bf16a: cmdutils: dump supported hardware devices in print_codec()
[13:14:42 CEST] <jdarnley> Well, that is disapponting. My simd quant doesn't make the encoder any faster.
[13:15:04 CEST] <jdarnley> Even when I took the time to use intrinsics and linine it all.
[13:15:07 CEST] <nevcairiel> is the quant itself faster if you measure it targeted?
[13:15:40 CEST] <jdarnley> Hm. I'd have to cut it out and so some specific testing.
[13:23:31 CEST] <jdarnley> Wow. How does perf think pabsd is so slow?
[13:23:51 CEST] <jdarnley> Rather how does it think I spend so much time on it?
[13:24:48 CEST] <jdarnley> I was expecting the 2 pmuludq to be a bigger penalty
[13:53:15 CEST] <kierank> jdarnley: I would do the transforms
[13:53:22 CEST] <ubitux> jdarnley: perf is misaligning instruction for me
[13:53:44 CEST] <ubitux> and if you see a memory load or write above it's probably where the cost is
[13:54:05 CEST] <jdarnley> I will and I do
[13:55:46 CEST] <ubitux> jdarnley: https://bugzilla.kernel.org/show_bug.cgi?id=196205
[13:55:53 CEST] <ubitux> that kind of shit ^
[13:56:06 CEST] <ubitux> happens on all platforms
[13:56:20 CEST] <ubitux> maybe i'm jsut misinterpreting thing, but since the instruction itself is marked in red...
[13:56:34 CEST] <jdarnley> That's rather obvious. 3 movs then some register only instructions
[13:57:12 CEST] <ubitux> yes that's rather obvious
[13:57:26 CEST] <ubitux> ...obvious there is a bug in how the timing are represented
[13:59:03 CEST] <kierank> jdarnley: I think we tried simding quant before
[13:59:07 CEST] <kierank> It doesn't help
[14:05:49 CEST] <kierank> gagandeep: personally I don't care about this whitespacing thing
[14:16:26 CEST] <kierank> gagandeep: what are you working on currently
[14:22:22 CEST] <gagandeep> kierank: i think i should have progressive ip working by tomorrow, fingers crossed
[14:22:43 CEST] <kierank> ok, you'll have a challenge with threading I think
[14:22:54 CEST] <gagandeep> i am also thinking the same
[14:23:43 CEST] <kierank> gagandeep: might need to maintain a fork on github
[14:23:53 CEST] <kierank> and develop features on that with threads off
[14:24:10 CEST] <kierank> and then we can discuss with people who understand the frame thread code better than me
[14:27:38 CEST] <gagandeep> ok, i'll discuss what to do next once i get this running
[14:29:19 CEST] <kierank> gagandeep: does the mountain sample work?
[14:31:36 CEST] <kierank> we might have to use the mplayer binary loader to play that
[14:33:10 CEST] <gagandeep> kierank: with the mountain sample, some tag problem is there, right now it fails some tests you have placed in cfhd
[14:33:26 CEST] <kierank> which tag
[14:33:37 CEST] <gagandeep> allocated width and allocated height
[14:33:46 CEST] <gagandeep> haven't analysed it more yet
[14:33:49 CEST] <kierank> ok, might need changing
[14:34:02 CEST] <kierank> gagandeep: can you make a github tree
[14:34:51 CEST] <gagandeep> just need to post this repo i am working on github?
[14:35:08 CEST] <kierank> yes
[14:35:19 CEST] <gagandeep> k, will do that
[14:35:29 CEST] <kierank> durandal_1707: do any codecs have threaded transform?
[14:38:32 CEST] <kierank> gagandeep: problem with mountain sample is that it is a "cut" avi file with no index
[14:38:43 CEST] <kierank> so that's why cineformsdk doesn't support it
[14:38:49 CEST] <kierank> but ffmpeg can try to fix
[14:39:59 CEST] <durandal_1707> kierank: ?
[14:40:08 CEST] <kierank> durandal_1707: do any codecs do threaded transform
[14:40:27 CEST] <kierank> where transform is decomposed into sub transforms
[14:40:37 CEST] <kierank> gagandeep will most likely have to do this for cineform
[14:54:48 CEST] <durandal_1707> kierank: 2
[14:55:18 CEST] <kierank> I guess also threaded coefficient unpack
[14:56:42 CEST] <durandal_1707> with slice threading?
[14:58:09 CEST] <kierank> it doesn't have slices
[14:59:04 CEST] <durandal_1707> but does it have code where slice threading could be used, like for loops...
[14:59:08 CEST] <kierank> no
[14:59:17 CEST] <kierank> slices imply independently decodable regions
[14:59:38 CEST] <kierank> cineform has parts of the bitstream which can be threaded (coefficients and transforms) but not slices
[15:03:29 CEST] <durandal_1707> well, look how much time is spent on that before writting threading for that
[15:03:49 CEST] <kierank> well simd for transform first of course
[15:12:07 CEST] <kierank> gagandeep: http://www.cinemartin.com/cinec/_Sample_Videos/Gopro_Cineform/cymono1HD.avi
[15:12:09 CEST] <kierank> download that sample
[15:12:16 CEST] <kierank> will be useful during optimisation work later in gsoc
[15:16:23 CEST] <durandal_1707> shit, can not download matlab code files from shady site, need to pay them little fortune
[15:33:06 CEST] <kierank> gagandeep: did you download file
[15:34:35 CEST] <gagandeep> downloading it, internet is slow in the place i am working
[15:34:55 CEST] <kierank> I had to download using lftp threaded mode
[15:34:58 CEST] <kierank> such a big file
[15:35:31 CEST] <gagandeep> damn, i don't know so many ftp modes, i am downloading using chrome
[15:35:50 CEST] <Compn> lftp? haha never heard of it
[15:36:17 CEST] <Compn> i'm stuck in the past with ncftp
[15:36:22 CEST] <Compn> maybe time to switcheroo
[15:36:28 CEST] <gagandeep> +1
[15:38:02 CEST] <Compn> hah it does fxp too, havent used that in years
[15:38:40 CEST] <JEEB> lftp is probably the least bad FTP client for terminal
[15:39:06 CEST] <JEEB> for stuff like ssh I usually poke over with rsync -rP FROM TO
[15:40:24 CEST] <kierank> lftp
[15:40:33 CEST] <kierank> pget -n 10 http://www.cinemartin.com/cinec/_Sample_Videos/Gopro_Cineform/cymono1HD.avi
[15:40:40 CEST] <kierank> and it will download with 10 threads
[15:40:52 CEST] <JEEB> yup
[15:40:59 CEST] <durandal_1707> try this product: https://github.com/richardpl/ncdm and be like a PRO
[15:41:18 CEST] <JEEB> I used to utilize that (pget) when synchronizing data between my Japan box and Europe
[15:41:33 CEST] <JEEB> just because I couldn't get more than 300kbps over a single connection
[15:41:50 CEST] <JEEB> but the line was much better on both sides so just threading it tended to help
[16:56:03 CEST] <durandal_1707> atomnuker: is opus noise reduction merged into main tree?
[19:00:50 CEST] <gagandeep> kierank: how do i keep the decoded data of second frame for displaying it in next frame
[19:01:24 CEST] <gagandeep> in one run of cfhd.c i think second frame data is lost
[19:01:51 CEST] <gagandeep> because both frames bands are streamed with first frame data
[19:03:06 CEST] <kierank> gagandeep: av_frame_ref
[19:04:35 CEST] <kierank> gagandeep: and you store it in your global context
[19:06:15 CEST] <gagandeep> ok
[19:06:30 CEST] <kierank> is it only decoded data you need?
[19:06:33 CEST] <kierank> you don't need coefficients?
[19:09:09 CEST] <gagandeep> i should be able to decode the band data and get the frames, that seems simple and what do you mean by coefficients
[19:09:28 CEST] <kierank> the coefficients are the data which does into the inverse wavelet transform
[19:09:45 CEST] <kierank> goes*
[19:09:51 CEST] <kierank> but if you need the pixel data then ok
[19:09:53 CEST] <gagandeep> well coefficients are overwritten after inverse
[19:10:05 CEST] <kierank> yes
[19:10:24 CEST] <gagandeep> so it's pointless anyways, and i don't think i need them later
[19:10:33 CEST] <kierank> ok
[19:10:34 CEST] <gagandeep> there are only 2 frames used for temporal
[19:10:47 CEST] <gagandeep> and then it repeats
[19:10:51 CEST] <kierank> i find it a bit strange that it uses pixel data but i don't know exactly what it's doing anyway
[19:10:59 CEST] <kierank> so carry on
[19:11:11 CEST] <gagandeep> what do you mean by pixel data
[19:11:17 CEST] <gagandeep> the final one
[19:11:20 CEST] <kierank> the data from the reconstructed first frame
[19:11:36 CEST] <kierank> I would have thought it maybe uses coefficients from the first frame
[19:11:39 CEST] <kierank> to decode the p frame
[19:12:06 CEST] <gagandeep> for temporal transform it is using coefficients of both frames, so you are right
[19:12:36 CEST] <gagandeep> two lowpasses are passed through temporal to get a new lowpass and highpass band
[19:12:37 CEST] <kierank> so you may have to remove some of the inplace transformations
[19:13:38 CEST] <kierank> gagandeep: btw you may want to fix tag=71
[19:14:10 CEST] <kierank> I think that part is wrong, it's all done in tag 72
[19:14:53 CEST] <gagandeep> ok, will see
[19:20:40 CEST] <kierank> gagandeep: also for the new samples you should add fate tests https://trac.ffmpeg.org/wiki/FATE/AddingATest
[19:21:26 CEST] <kierank> gagandeep: also at some point you need to check bitexactness with cineformsdk
[19:22:57 CEST] <gagandeep> yeah, just let me finish this pframe thing first
[19:23:02 CEST] <kierank> ok
[19:27:18 CEST] <kierank> I will add to your github issues
[19:27:53 CEST] <kierank> ah no I can't :)
[19:28:21 CEST] <gagandeep> yeah, just let me, i need to fork ffmpeg then connect it with my local branch
[19:28:52 CEST] <gagandeep> i haven't done that yet and will ask for help later
[19:29:11 CEST] <gagandeep> more like i don't know how, but right now got my hands full
[19:32:56 CEST] <kierank> ok
[19:33:01 CEST] <kierank> no problem, p-frames is the big problem
[19:33:05 CEST] <kierank> the other issues are small
[19:34:34 CEST] <cone-828> ffmpeg 03Jan Ekström 07master:26892c761539: lavf/libssh: translate a read of 0 to EOF
[19:35:20 CEST] <cone-828> ffmpeg 03Jan Ekström 07release/4.0:c8b57d4333b1: lavf/libssh: translate a read of 0 to EOF
[19:43:49 CEST] <atomnuker> durandal_1707: yes, use whicever one is newer
[19:58:33 CEST] <kierank> j-b: what codecs are too slow?
[20:44:22 CEST] <durandal_1707> atomnuker: have you tried anlmeans ?
[23:10:21 CEST] <atomnuker> klaxa: I can't wait for the audio-only support
[23:10:34 CEST] <atomnuker> icecast is unwieldy and archaic at this point
[23:11:26 CEST] <klaxa> well the patch is on the ML, i think i still have some race-conditions (with more than 1 thread sometimes two threads try to write at the same time) and in very rare cases a segment gets skipped even with one writing thread
[23:11:49 CEST] <nevcairiel> how do you implement metadata updates if you plan to replace icecast?
[23:11:59 CEST] <klaxa> yeah i was just wondering that as well
[23:12:36 CEST] <klaxa> i suppose doing icy-metadata is not impossible
[23:12:55 CEST] <klaxa> iirc it's just a variable length segment every X bytes?
[23:13:02 CEST] <klaxa> with the length specified in the header
[23:13:46 CEST] <nevcairiel> the header basically specifies the distance between headers, yea
[23:14:22 CEST] <klaxa> but that would not work with hls/dash streams i guess?
[23:14:44 CEST] <atomnuker> it would if you make a new segment I think?
[23:14:48 CEST] <nevcairiel> guess it could if its implemented on a low enough level
[23:14:51 CEST] <nevcairiel> but it would be ugly
[23:16:20 CEST] <atomnuker> for ogg streaming you'd use the annoying chaining feature which we partly support (vorbis only)
[23:17:22 CEST] <klaxa> hmm... looking at my code, every segment is given the metadata for each stream and the whole file, not sure if it is automatically updated? i also haven't tried a stream with changing metadata
[23:18:08 CEST] <cone-045> ffmpeg 03Michael Niedermayer 07master:42f40d36b74e: avcodec/allcodecs: Provide empty codec_list in allcodecs when ossfuzz is used
[23:22:05 CEST] <klaxa> hmm doesn't seem to show any metadata with an icy-metadata compatible stream as an input
[23:46:18 CEST] <cone-045> ffmpeg 03Jerome Borsboom 07master:c0402e1e30c2: avcodec/vc1: fix mquant calculation for interlace field pictures
[23:52:02 CEST] <cone-045> ffmpeg 03Jerome Borsboom 07master:8a4dbd3e9fd1: avcodec/vc1: store zero MVs for all blocks in a MB
[00:00:00 CEST] --- Tue May 29 2018
1
0
[00:00:37 CEST] <durandal_1707> but with noise, it could be very hard if noise is very big
[00:00:49 CEST] <slavanap> durandal_1707, got it. Will try. I've already forgot this "cross-correlation" word after couple years of work as a programmer. Thanks.
[00:01:48 CEST] <slavanap> Similar to Block-based motion estimation algorithm I'm already familiar with though. Better to start over with simple method.
[00:02:59 CEST] <slavanap> durandal_1707, I've just found Fourier-based solution, but it's not noise resistant https://github.com/allisonnicoledeal/VideoSync/blob/master/alignment_by_row…
[00:13:26 CEST] <johnnny22> JEEB: think it's not liking the option since the source is an hls (but it's content is fmp4/mp4)
[00:15:13 CEST] <JEEB> right, it's a meta demuxer so you'd have to find the option on how to pass the options to the sub-demuxer
[00:15:28 CEST] <JEEB> (these things seem to be a pet peeve at this point because people started making more and more of those)
[00:16:05 CEST] <johnnny22> is there such a generic way of passing options to one of the streams demuxers ?
[00:16:13 CEST] <JEEB> guess twice
[00:16:41 CEST] <johnnny22> or compile it in as false :P lol
[00:17:07 CEST] <JEEB> basically initially nobody envisioned that you'd be calling a demuxer from a demuxer and that the demuxer would have its own libavformat context
[00:17:17 CEST] <JEEB> and then those got added with not too much thought given into it
[00:17:29 CEST] <JEEB> and now we're having fun with it y'all
[00:17:40 CEST] <JEEB> anyways, have you posted the issues you have with the sample on trac.ffmpeg.org?
[00:17:59 CEST] <JEEB> so that someone with time could maybe take a look at it
[00:18:59 CEST] <johnnny22> not yet, but it's strange, still trying to grasp the issue. I just just realized that when #EXT-X-END is present the start_time seems right, but if it's not, then thats when it's off.
[00:19:26 CEST] <johnnny22> start_time on the video stream that is.. the audio stream seems to always report a right time.
[00:20:09 CEST] <JEEB> shfil: and yes, I was afraid cehoyos would just glance over your ticket and just notice the mp3 stuff that is actually not your issue :P
[00:20:44 CEST] <JEEB> because your actual issue is that you have some samples of PCM data, and then using swresample is seemingly adding artifacts
[00:23:23 CEST] <shfil> Yeah, I wanted add "introduction" what caused me to use libresampler, but still I think breaking api without mentioning there is a issue. https://github.com/FFmpeg/FFmpeg/blob/master/doc/APIchanges
[00:23:31 CEST] <shfil> *an
[00:24:12 CEST] <shfil> and *libswresampler
[00:32:08 CEST] <ePirat> Good evening
[00:36:31 CEST] <JEEB> shfil: I agree that it could have been mentioned either there or in the general change log if it wasn't, but cehoyos is really correct there in saying that we don't promise that you get a certain decoder or pix_fmt/sample_fmt by default
[00:38:07 CEST] <JEEB> yeh, not mentioned in the general change log
[00:39:53 CEST] <shfil> just I added it extra, because I think it can cause problems for another people. but yeah I should more concentrate on swresampler.
[00:42:59 CEST] <JEEB> basically give a small sample and a piece of code that focuses on that part
[00:43:08 CEST] <JEEB> so that it is self-contained
[00:44:12 CEST] <shfil> add comment or open new issue?
[00:44:56 CEST] <JEEB> feel free to just use that issue
[00:45:09 CEST] <JEEB> modify description + comment, I guess?
[01:02:31 CEST] <absence> i'm having some trouble with converting dvd with subtitles to mkv. i'm using "copy" for all codecs, including subtitle, but the subtitles are completely black. i've tried -ifo_palette, but nothing happens (apparently it doesn't even care if the filename exists or not), and i've tried -palette and set all sixteen colours to white. still the subtitles are black
[01:05:04 CEST] <absence> command line is ffmpeg -fflags +genpts -ifo_palette VTS_01_0.IFO -i "concat:VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB|VTS_01_5.VOB|VTS_01_6.VOB|VTS_01_7.VOB|VTS_01_8.VOB" -map 0:1 -map 0:4 -map 0:6 -vcodec copy -acodec copy -scodec copy test.mkv
[01:09:57 CEST] <johnnny22> JEEB: when creating a ticket, and attaching a file on the videolan file uploader.. Do i create the ticket 1st so that I have a "Trac ticket" to assign to the file being uploaded ?
[01:10:49 CEST] <JEEB> I've never actually utilized any mentioned (bigger) file uploader relevant. but yes, that's one way of doing it
[01:11:01 CEST] <furq> absence: it's generally better to use something like tccat to deal with dvd titles
[01:14:35 CEST] <absence> furq: hmm, why?
[01:15:11 CEST] <furq> mostly for cases where the title doesn't exactly line up with the vobs
[01:15:17 CEST] <furq> but i find it just does a better job in general
[01:15:33 CEST] <furq> there's also tcdemux if you just want to extract the subtitle stream and mux it in separately
[01:18:23 CEST] <absence> i see.. can't seem to find a windows build of it though
[01:21:08 CEST] <furq> oh fun
[01:21:28 CEST] <furq> maybe try pgcdemux on windows
[01:27:25 CEST] <johnnny22> JEEB: http://trac.ffmpeg.org/ticket/7235 ¯\_(Ä)_/¯
[01:28:04 CEST] <JEEB> cheers
[01:29:42 CEST] <johnnny22> I'm mostly wondering if the source is the issue or if there's an issue in ffmpeg :) It could be that the source has a major problem.
[01:29:58 CEST] <johnnny22> But it plays in VLC & Quicktime :)
[01:42:32 CEST] <bemeurer> Hey there, since av_register_all() has been deprecated, what replaced it?
[01:43:25 CEST] <JEEB> nothing
[01:43:47 CEST] <JEEB> unless you have to support older versions, don't call it and that's it
[01:43:57 CEST] <bemeurer> Got it
[01:44:04 CEST] <bemeurer> I'm trying to follow this: http://dranger.com/ffmpeg/tutorial01.html
[01:44:16 CEST] <bemeurer> Does anyone have an updated similar tutorial/article?
[01:44:35 CEST] <JEEB> there are various things, such as the transcoding example under doc/examples in the repo
[01:46:25 CEST] <bemeurer> JEEB: Awesome, thank you!
[01:59:11 CEST] <TiZ_> Hi there. I'm having trouble getting ffmpeg to record from the desktop and consistently keep video and audio in sync. Here is output from the last time the script I made to generate a command line was run: https://pastebin.com/HCtrz3BH It doesn't seem to matter if I use .mp4 or .ts. It doesn't seem to matter if I add setpts filters. It doesn't seem to matter if I have wallclock_as_timestamps. Very inconsistently, it will sometimes desyn
[02:01:22 CEST] <TiZ_> The one thing I have a handle on is that when it does go out of sync, "queue input backwards in time" and "non-monotonous DTS" messages will frequently appear. Is there something I should be configuring in the pulse device? One thing I have noticed about pulse is that it tanks performance; my max FPS is way lower with it, and if I have two pulse devices I can't capture 30FPS at all. That's why one is ALSA.
[02:03:43 CEST] <furq> TiZ_: use_wallclock_as_timestamps is an input option, you probably want to specify it once per input
[02:05:02 CEST] <TiZ_> furq: Okay, that's good to know. I will try adding that. Is the fact that I am mixing pulse and alsa potentially part of my woes here? I'd like to be able to get both the system audio and the mic.
[02:05:32 CEST] <furq> no idea but it's probably better to use alsa for both
[02:06:05 CEST] <furq> also you might want to use scale_vaapi instead of scale
[02:06:24 CEST] <absence> furq: so i found something called dvdsubedit that appears to have exported the subtitles in sup format.. i tried searching for info about that, but i just get a lot of hits for some bluray tool
[02:06:51 CEST] <furq> absence: pgcdemux can do that
[02:07:19 CEST] <furq> i would generally use that if you're working with dvds on windows
[02:09:14 CEST] <absence> furq: humm, pgcdemux appears to produce sup files as well
[02:09:57 CEST] <absence> furq: so i still need to find a way to convert them
[02:10:14 CEST] <furq> ffmpeg will read sup iirc
[02:14:36 CEST] <absence> furq: it tries, but "Invalid data found when processing input", "could not find codec parameters"
[02:14:52 CEST] <absence> furq: would probably be better if i could convert it to idx/sub
[02:16:12 CEST] <furq> oh right yeah there's some weird incompatibility between hdmv sup and dvd sup
[02:16:28 CEST] <furq> you can do it with pgcdemux though
[02:16:54 CEST] <furq> uncheck everything in the bottom left except "create a pgc vob", then in the customize file menu, uncheck everything except "write subpicture packs"
[02:17:04 CEST] <furq> that'll give you a .vob with just the subtitles that ffmpeg will read
[02:18:06 CEST] <furq> with that said, you might as well just create a normal pgc vob with the video and audio and then work with that
[02:18:24 CEST] <furq> that just puts the entire title into one vob with no splitting
[03:18:44 CEST] <TiZ_> furq: I'm sure it would be better to use as much as I can within vaapi, but I want this script to be able to overlay a webcam, and create padding for 4:3 games, and all that jazz. I'd have to do a lot of hwupload/hwdownload if I'm going between filters that can use vaapi and ones that can't, right?
[03:19:39 CEST] <TiZ_> furq: Also, the main reason I can't use alsa for both is because I have a HDMI/VGA adapter that uses USB for audio, and pulse automatically switches to it. The guide for setting up system audio capture for alsa kind of makes it seem like I'd have to hardcode just one audio device for output.
[09:59:53 CEST] <d-safinaskar> where is full documentation of options to "ffmpeg -vcodec ffv1"? My local copy of "man ffmpeg-all" and "man ffmpeg-codecs" say nothing about ffv1 (i have ffmpeg 3.2.10 installed) (in fact, they mention ffv1 in example code, but still they don't document ffv1). online copies of this manuals at https://www.ffmpeg.org/ffmpeg-all.html and https://www.ffmpeg.org/ffmpeg-codecs.html don't say anything, too.
[09:59:59 CEST] <d-safinaskar> https://trac.ffmpeg.org/wiki/Encode/FFV1 contains some info, but it doesn't say, what actually is -coder, -context and -g. They simply say that -coder is coder, -context is context and -g is GOP (what is GOP?!). Esentially, this docs say nothing about this 3 parameters. so, where is real documentation?
[10:01:24 CEST] <durandal_1707> d-safinaskar: you are supposed to know all this by your own
[10:04:32 CEST] <durandal_1707> d-safinaskar: look at this: https://www.ffmpeg.org/~michael/ffv1.html
[10:12:22 CEST] <furq> sar_den specifies the sample aspect ratio numerator. Inferred to be 0 if not present. MUST be 0 if sample aspect ratio is unknown.
[10:12:25 CEST] <furq> this seems correct
[10:24:27 CEST] <d-safina1kar> i am here again
[10:24:46 CEST] <d-safina1kar> dustfinger: very first sentense of your link is awfully outdated
[10:26:22 CEST] <d-safina1kar> dustfinger: it says: "intra-frame only codec". but, as well as i know ffv1 version 1 and ffv1 version 3 are not neccessary intra-frame only
[11:03:41 CEST] <d-safina1kar> let's consider intra-frame variant of ffv1. does it have any benefits over PNG or GIF? here I want to note that both PNG and GIF support animation, so, they essentially support storing of video
[11:05:31 CEST] <JEEB> GIF is paletted and PNG is a) RGB and b) much simpler than ffv1
[11:05:42 CEST] <JEEB> we've come quite a bit further since those simple zlib-like things
[11:05:53 CEST] <JEEB> I mean, their simplicity is not a bad thing
[11:06:05 CEST] <JEEB> it's just that you need to understand the pros and cons of each format
[11:14:15 CEST] <d-safina1kar> JEEB: thanks
[11:14:48 CEST] <JEEB> and for example if you have a YCbCr source, you don't want to use a format that cannot save YCbCr in it
[11:23:53 CEST] <Guest86998> I am trying to compile ffmpeg with opus for Android but I am getting a opus not found error, even when all the files were compiled
[11:24:03 CEST] <Guest86998> here's my build log: https://pastebin.com/NBjD3CyV
[11:24:06 CEST] <Guest86998> anyone know what's wrong?
[11:33:34 CEST] <JEEB> have you had your PKG_CONFIG_LIBDIR correctly configured?
[11:33:47 CEST] <JEEB> see ffbuild/config.log in your build dir regarding where the configure script failed
[11:34:33 CEST] <Guest86998> JEEB, i fixed it now with -lm flag
[11:34:37 CEST] <Guest86998> seems like a hack though
[11:36:37 CEST] <JEEB> was it a static library?
[11:37:07 CEST] <Guest86998> yes
[11:37:14 CEST] <JEEB> if yes, you might have needed --pkg-config-flags="--static"
[11:37:29 CEST] <JEEB> check the libopus .pc file, it should have had Libs.private or so
[11:37:34 CEST] <JEEB> that might have contained -lm
[11:37:47 CEST] <JEEB> and --static then adds Libs.private into linker flags
[11:38:00 CEST] <Guest86998> set --pk-config-flags when configuring ffmpeg?
[11:38:21 CEST] <Guest86998> pkg*
[11:38:24 CEST] <JEEB> yes
[11:38:54 CEST] <JEEB> at times I wonder if those could be set per-component somehow because sometims you have some system libraries for which you don't have static, and some of your own stuff
[11:39:02 CEST] <Guest86998> okay i'll try that since i have issues now with libvorbis
[11:41:41 CEST] <Guest86998> weird that I get random for some libs while other libs just compile fine like x264
[11:54:20 CEST] <d-safina1kar> is this possible to specify "-vcodec ffv1 -level 3 -slices 1"?
[11:54:31 CEST] <d-safina1kar> or valid value for -slices starts from 4?
[12:42:26 CEST] <intrac> can ffplay be made to decode only I frames?
[12:42:47 CEST] <intrac> I've tried -discard nokey, but it doesn't recognise it
[13:55:07 CEST] <paveldimow> Hi guys, I have a question about manipulating video size and orientation. The thing is that I have video with resolution 720x1280, I would like to rotate this video by 90 degrees and make it hmmm a "cube" resolution like 480x480 or 720x720 but to keep the proportion, is this possible without cropping?
[13:58:48 CEST] <Mavrik> Well, yes, but I'm not sure what you're trying to achieve.
[14:06:17 CEST] <d-safina1kar> what pixel formats using by ffv1?
[14:06:36 CEST] <Blacker47> "change the proportion without cropping to keep the proportion" don't make sense IMHO.
[14:07:22 CEST] <paveldimow> Mavrik: I am trying to keep to proportions of the videos, what I am actually doing is that I am mixing more videos with different resolutions ie 720x1280 and 480x640. When I do that then first video with greater resolution looks fine however the second videos has black bars on top and bottom
[14:07:37 CEST] <d-safina1kar> again, documentation doesn't say this anywhere. even spec itself says nothing about it. (strictly speaking, spec says that ffv1 uses YUV and JPEG2000, but doesn't say exact count of bits per pixel)
[14:08:32 CEST] <Mavrik> d-safina1kar: ffvenc.c or something similar in ffmpeg source should list supported pixel formats
[14:09:02 CEST] <paveldimow> Blacker47: maybe, that's the reason why I ask :)
[14:09:04 CEST] <Mavrik> paveldimow: yeah, what you're trying to do won't really work well
[14:09:07 CEST] <Mavrik> :)
[14:09:43 CEST] <paveldimow> Mavrik: ok, so cropping is the only option then I guess?
[14:09:43 CEST] <d-safina1kar> Mavrik: so, i am supposed to look sourse?
[14:09:47 CEST] <d-safina1kar> Mavrik: this is bad
[14:10:30 CEST] <Mavrik> d-safina1kar: well you can always try looking in documentation if there's a command that lists that
[14:10:31 CEST] <Mavrik> :P
[14:10:52 CEST] <Mavrik> paveldimow: well videos pretty much can't be of different resolutions in a single stream
[14:10:58 CEST] <Mavrik> So you kinda need to do *something*
[14:11:05 CEST] <Mavrik> Anamorphic video does exist for legacy reasons
[14:11:22 CEST] <Mavrik> But most modern formats and players don't handle that well
[14:11:40 CEST] <Mavrik> And even ones that do, kinda really just want to switch between 4:3 and 16:9, not your mobile portrait stuff
[14:13:35 CEST] <paveldimow> Mavrik: ok, thanks for you help, highly appreciated!
[14:14:11 CEST] <Mavrik> paveldimow: if you've seen what people mostly do - they choose one aspect ratio, then stretch rest of videos to that size and add blurry bands
[14:15:19 CEST] <paveldimow> Mavrik: yes, I saw that, but I think it's not the best option in my case or to say for my client :)
[14:18:06 CEST] <Mavrik> Well your client will just have to fund a new video format then :P
[14:24:50 CEST] <paveldimow> Mavrik: :D
[14:27:32 CEST] <intrac> so I've tried to use the first example given in the answer here: https://video.stackexchange.com/questions/21970/speed-up-a-video-30x-using-…
[14:27:39 CEST] <intrac> but ffmpeg returns:
[14:27:44 CEST] <intrac> "Failed to set value 'nokey' for option 'discard': Option not found"
[14:27:59 CEST] <intrac> aah. nvm.
[14:28:07 CEST] <intrac> I'm being dumb this morning.
[14:29:04 CEST] <intrac> ffmpeg works. ffplay doesn't. so back where I started
[16:58:15 CEST] <zevarito> how bad is call av_alloc_frame on each frame resampling iteration ?
[16:58:24 CEST] <zevarito> or each other context
[17:14:57 CEST] <ozette> browsers can't play mpeg-1, is that correct?
[17:25:35 CEST] <kepstin> ozette: in general, you should only expect browsers to play h.264 + aac (or sometimes mp3) in mp4 container, or vp8/vp9 + vorbis/opus in webm container.
[17:26:27 CEST] <kepstin> (or same codecs in HLS or Dash streaming, depending on browser and javascript player capabilities)
[17:40:24 CEST] <ozette> kepstin: thanks, i found out the hard way
[17:40:35 CEST] <ozette> but it's fine :) TY
[18:40:18 CEST] <bemeurer> How do I get the codec type of a stream, since doing `stream->codec->codec_type` seems to be deprecated
[18:41:36 CEST] <klaxa> stream->codecpar->codec_type
[18:44:11 CEST] <bemeurer> klaxa: Aha, thank you :)
[18:47:27 CEST] <bemeurer> klaxa: Has AVCodecContext just been replaced by AVCodecParameters?
[18:53:13 CEST] <klaxa> for remuxing yes, for encoding no (afaict)
[18:53:39 CEST] <klaxa> that way you don't have to allocate a codec context to get the parameters needed for muxing
[18:56:16 CEST] <bemeurer> klaxa: Got it, thanks!
[21:27:01 CEST] <allizom> Hi, I've got a mp4 file (h264+aac) which has sync issues between audio and video. I tracked it down to the video being played at 23.976 fps in place of the correct 24 fps. So I'd like to speed up the video without encoding it again (-codec:a copy -codec:v copy). I still can't find a way to do this with ffmpeg. I've tried the setpts, -r and -framerate options, but either they can't be used with copy or they have no effect
[21:36:17 CEST] <furq> allizom: you can do it with ffmpeg but it's better to do it with a proper mp4 muxer like l-smash
[21:36:40 CEST] <furq> with l-smash it'd be `muxer -i foo.mp4?fps=24 -o bar.mp4`
[21:38:13 CEST] <furq> with ffmpeg you'd need to do something like `ffmpeg -i foo.mp4 -c copy -map 0:v -f h264 - | ffmpeg -f h264 -r 24 -i - -i foo.mp4 -map 0:v -map 1:a -c copy bar.mp4`
[21:38:20 CEST] <furq> which as you can tell is a bit hacky
[21:38:45 CEST] <allizom> hm, let me parse that a bit...
[21:39:49 CEST] <furq> you need to demux the h264 stream in order to be able to apply the framerate input option to it
[21:40:25 CEST] <furq> like i said, i'd rather use l-smash to do it
[21:40:34 CEST] <allizom> so you extract the video stream, apply the framerate then mux them back?
[21:40:40 CEST] <furq> something like that
[21:40:42 CEST] <allizom> seems doable
[21:41:09 CEST] <allizom> why would you recommend another software then? any other advantages?
[21:41:12 CEST] <BtbN> that can make the sync even worse though
[21:41:38 CEST] <furq> doing it with ffmpeg has always worked ok for me but smarter people than me have told me not to rely on it
[21:41:47 CEST] <durandal_1707> garbage in -> garbage out
[21:41:53 CEST] <furq> l-smash is generally worth having anyway
[21:41:56 CEST] <BtbN> If the audio has a late or early start, it can easily give you even more trouble
[21:42:14 CEST] <furq> or mkvmerge will do it if you don't mind switching containers
[21:42:17 CEST] <allizom> BtbN: audio and video are correcly in sync at the start
[21:42:29 CEST] <BtbN> that doesn't mean it might not start late.
[21:42:49 CEST] <furq> yeah if one stream is delayed then that method probably won't preserve it
[21:43:34 CEST] <allizom> in that case I could just add an offset right? But I think in my case they are correctly aligned when the media starts
[21:43:47 CEST] <allizom> I'm going to make sure
[21:44:10 CEST] <BtbN> Why insist on ffmpeg when there is clearly a better tool for the job?
[21:44:47 CEST] <durandal_1707> is there l-smash irc channel?
[21:45:22 CEST] <allizom> BtbN: nothing in particular, I just thought it was adequate doing this with ffmpeg
[22:31:36 CEST] <Zexaron> Hello
[22:32:03 CEST] <Cracki> ave
[22:32:36 CEST] <fa0> Hello...
[22:33:18 CEST] <fa0> Off to another ffmpeg adventure, I'm trying to trim off a few seconds on the start of a video, but it's not working;
[22:33:24 CEST] <fa0> ffmpeg -i input.mkv -c copy -ss 00:00:05 -to 01:00:00 out.mkv
[22:34:06 CEST] <fa0> This has been working on a lot of my videos but for some reason this one, does cut it in the right place, the section where it's starting is like 9 seconds into the video, not 5
[22:34:09 CEST] <Cracki> do you want to transcode using standard bitrate?
[22:34:20 CEST] <fa0> no just mux/copy it
[22:34:30 CEST] <Cracki> do you know what a Group of Frames is?
[22:34:42 CEST] <iive> when you use copy it can only start from a keyframe
[22:34:45 CEST] <Cracki> ^
[22:34:51 CEST] <fa0> a wee bit, can't say I remember much...
[22:34:53 CEST] <Zexaron> I'm wondering on a few pointers anyone could give about how well can ffmpeg integrate with a high performance 3D C++ program, in this case Dolphin Emulator, I'm not the developer of the existing implementation but the problem is that currently AVIDump and FFV1 that's used do not produce good results, either that's a problem on the implementation or the codecs themselfs, basically it's about recording the game screen into a movie, in
[22:34:53 CEST] <Zexaron> real time, but variable framerate doesn't play good and the resulting video isn't perfect
[22:35:25 CEST] <Cracki> Zexaron, bitrate can be a problem
[22:35:32 CEST] <fa0> Cracki: yeah been wondering that... So might need to be transcoded, to get it where I want?
[22:35:44 CEST] <Cracki> Zexaron, you can use hw encode acceleration for H.264
[22:35:49 CEST] <iive> ffv1 is supposed to be lossless,
[22:35:49 CEST] <Cracki> fa0, likely.
[22:35:58 CEST] <Cracki> lossless means huge data rate
[22:36:09 CEST] <fa0> ok thanks
[22:36:10 CEST] <iive> it's also quite slow.
[22:36:12 CEST] <Cracki> depending on content, incompressible
[22:36:14 CEST] <Zexaron> The wish is, that this would work without lagging the system, and create a near lossless movie, but that the variable framerate that all 3D games have to be accurately showin in the ffmpeg movie, but something like X264 so it's not that big as FFV1
[22:36:25 CEST] <Cracki> slow because you gotta write that stuff to somewhere
[22:36:52 CEST] <iive> x264 does have lossless mode, and gives quite good results
[22:36:52 CEST] <Cracki> ask ffmpeg for h264_qsv, h264_nvenc, ...
[22:36:55 CEST] <Zexaron> Slow on the disk, not necessairly CPU, but anyone that does movies would have another disk just for writing that so that shouldn't be an issue
[22:37:02 CEST] <Cracki> do you *NEED* it lossless?
[22:37:09 CEST] <iive> you have to use quant parameter of 0
[22:37:09 CEST] <Cracki> or do you need it fast?
[22:37:14 CEST] <Zexaron> No not me personally, some people
[22:37:15 CEST] <Cracki> lossless doesn't mean fast
[22:37:25 CEST] <Cracki> do these people *understand* what they are asking?
[22:37:40 CEST] <kepstin> Zexaron: if you don't actually need *lossless*, you'd want to use x264 or even hardware h264 at high bitrate/quality.
[22:37:46 CEST] <Cracki> ^
[22:38:15 CEST] <Zexaron> I'm not too sure what all the downsides they want are, I'll ask more, but I heard they mentioned variable framerate just not working right, the implementation doesn't deal with the video good when FPS is variating, so the video looks wrong or what
[22:38:28 CEST] <Cracki> use hw encoders if you can. recent generations are quite ok, quality-wise, if you give them leeway with bitrate
[22:38:33 CEST] <kepstin> if you do need lossless, i'd recommend using a faster (less compression) codec than ffv1 - but that means you need faster disks
[22:38:37 CEST] <Cracki> variable frame rate, eh?
[22:38:42 CEST] <iive> ffmpeg should not have problem with variable framerate
[22:38:47 CEST] <Cracki> that's nonsense. vfr should work just fine.
[22:38:58 CEST] <kepstin> Zexaron: if you're having issues with vfr stuff, it might just be a bug in how your software is providing frame timestamps to ffmpeg
[22:38:58 CEST] <Cracki> give the frame the right PTS, it's good
[22:39:18 CEST] <Zexaron> It's not that about quality, I think, it's more about video integrity, it doesn't make the video look right
[22:39:33 CEST] <iive> Zexaron, what do you mean by "look right" ?
[22:39:40 CEST] <Cracki> show, don't tell
[22:39:41 CEST] <Zexaron> variating the fps breaks it and it looks crap, or something ... I'll try it my self now and see
[22:39:50 CEST] <Zexaron> yeah sorry I got a bit ahead of myself
[22:40:26 CEST] <Zexaron> they call this feature "framedumping" ... I hope I didn't mix it up with "movies"
[22:40:32 CEST] <Cracki> imagine the infinite possibilities that something can look like and still be called "breaking"
[22:45:40 CEST] <fa0> This is odd, I did one video and it cuts out the time, another and it won't hmm
[22:45:57 CEST] <Cracki> variable gop length
[22:46:34 CEST] <Cracki> even if it "does" something, it won't be exactly the time
[22:47:00 CEST] <Cracki> encode something with fixed gop length, 5 seconds (times frame rate) or so, then you'll see the granularity
[22:47:03 CEST] <fa0> hmm
[22:47:41 CEST] <Zexaron> I would have to make a movie myself, in the meantime here's an example of the code on current repo https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoCommon/…
[22:47:43 CEST] <Cracki> if you wanted to deal with this right, you'd have to either re-encode *everything*, or split at gop boundaries, reencode the affected area, and concatenate back together
[22:47:57 CEST] <Cracki> Zexaron, make them drop avi
[22:49:08 CEST] <Zexaron> Yeah I heard something about AVI being a problem and they apparently would like to get H264, but most people aren't that experienced into video transcoding, I'm not a programmer but I did a lot of that so I was thinking maybe I could bridge
[22:49:29 CEST] <Zexaron> because I think some of them, that were discussing, didn't even knew H264 has a lossless mode
[22:49:32 CEST] <Cracki> good.
[22:50:03 CEST] <Cracki> ffmpeg source contains examples. maybe you can "copy" from that
[22:51:15 CEST] <Cracki> I would guess there's an integer overflow
[22:51:17 CEST] <fa0> Cracki: thanks
[22:51:35 CEST] <Cracki> at least someone should carefully check, where pts are computed
[22:51:43 CEST] <Cracki> it seems you people have a "ticks" variable
[22:52:15 CEST] <Zexaron> Now, I was premature, had planned but didn't take a look at the code for ffmpeg in Dolphin yet, but it looks like most framedumping stuff is in the AVIDump.cpp if you're lookign at it
[22:53:35 CEST] <Zexaron> I am somewhat familiar with the codebase since I have repo down with git myself and grepin throug the full source, but only for 1 year (6 months of pause) so I'm not a longtime developer of anykind, but I would be able to send recommendations
[22:54:05 CEST] <Zexaron> That code was written probably a long long time ago and those developers probably not around anymore
[22:54:24 CEST] <furq> i hope avidump doesn't imply avi the container format
[22:54:36 CEST] <furq> because as far as i know avi doesn't support vfr video
[22:55:36 CEST] <Cracki> it looks like they allow other file extensions, and figure the container format from that
[22:55:46 CEST] <furq> fair enough
[22:56:15 CEST] <Zexaron> By the sound of it I'm not even sure if movies are made, as it's called "framedumping" however, in the main GUI there is "Movies" and it asks to load single file called ".dtm" or Dolphin TAS Movies, not sure if this is the same ,TAS Input ... ah I should have looked that up before coming here
[22:56:52 CEST] <furq> yeah that much sounds normal
[22:56:52 CEST] <Zexaron> Okay, TAS is for Tool-Assisted Speed Run
[22:57:00 CEST] <Zexaron> Speedrun*
[22:57:11 CEST] <klaxa> yeah it's a recording of the inputs rather than a video
[22:57:16 CEST] <furq> right
[22:57:35 CEST] <furq> and then you dump those to a video so that the rendering isn't slowing the emulator down during gameplay
[22:57:43 CEST] <furq> and also so you can potentially do it faster than realtime
[22:58:02 CEST] <furq> idk whose benefit i'm explaining this for
[22:58:38 CEST] <Zexaron> There is an option though, "Frame Dumps using FFV1" ... so it's like they don't make a movie, they just use FFV1 to encode each frame file in
[23:00:04 CEST] <furq> well yeah i was asking what container it outputs
[23:03:05 CEST] <Zexaron> Sorry, cause I'm figuring this out in realtime, I'll run it right now and do some recording quickly
[23:03:35 CEST] <klaxa> from the code it looks somewhat user-supplied?
[23:03:41 CEST] <klaxa> https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoCommon/…
[23:05:05 CEST] <Zexaron> Looking at the commit history of that file may reveal more details sorrounding that, but I'll go make some recordings, can't do everything at once
[23:07:10 CEST] <furq> i can't find any options in dolphin to change any of the frame dumping options
[23:07:15 CEST] <furq> it just gives framedump0.avi
[23:07:46 CEST] <furq> there must be options somewhere because this is xvid
[23:08:16 CEST] <Zexaron> I also am not sure yet if this is meant to be used in conjunction with TAS or not. The configuration for framedumps is in the Graphics->Advanced tab
[23:08:58 CEST] <furq> oh
[23:09:01 CEST] <furq> just one checkbox huh
[23:09:21 CEST] <furq> you can dump frames whenever you want
[23:09:25 CEST] <furq> either when playing or playing back an input
[23:09:31 CEST] <Zexaron> at least in the GUI, the INI has more options, but not included by default, if you're trying yourself, you can make a file called "portable.txt" so the config is saved in the root folder where you extracted it, instead of My Documents or elsewhere according to OS
[23:09:42 CEST] <furq> but yeah there's no option to use anything other than avi
[23:09:45 CEST] <furq> and avi doesn't support vfr
[23:09:48 CEST] <furq> so that's probably your problem
[23:10:42 CEST] <Zexaron> yeah, pretty big facepalm ... but maybe that's not the only problem so I don't want to jump to conclusion hehe
[23:10:54 CEST] <furq> well you definitely need to fix that anyway
[23:11:17 CEST] <Zexaron> That's the first thing on the list yeah, then.
[23:11:22 CEST] <furq> i guess mkv would be a better choice
[23:11:23 CEST] <Zexaron> Not even OpenDML supports it ?
[23:12:06 CEST] <furq> i don't think so
[23:12:23 CEST] <Zexaron> Yeah ageed with mkv, i've dealth with them a lot when archiving my historical tapes
[23:12:27 CEST] <furq> afaik it's always fixed framerate and you can emulate vfr with dummy frames
[23:12:33 CEST] <furq> which means setting the fixed framerate really high
[23:12:41 CEST] <furq> but that's an awful hack that should be avoided
[23:12:59 CEST] <furq> like most things involving avi
[23:13:23 CEST] <furq> nut would probably be the simplest thing to use for this, but then people would complain because they've never heard of it and nothing other than ffmpeg and mpv will open it
[23:13:41 CEST] <furq> so you're probably stuck with mkv
[23:15:43 CEST] <Zexaron> Could be added as option tho ...
[23:16:14 CEST] <Zexaron> I remember some talks they had, historically it was possible to choose different codecs, but they removed that from the GUI at least.
[23:16:38 CEST] <Zexaron> That said, what if, that was just the codec, and not the file format, so it was always .avi
[23:16:43 CEST] <furq> yeah they used to use VfW
[23:16:48 CEST] <furq> which is a nightmare
[23:18:00 CEST] <Zexaron> There doesn't seem to be interest in this area, but they're all wanting it to be fixed, so I might take the challenge, I'm trying to learn C++ along anyway
[23:19:35 CEST] <Zexaron> I just don't know much history of the project, even tho I was lurking around for a long time
[23:19:51 CEST] <Zexaron> code histroy, I mean.
[23:23:19 CEST] <fa0> Cracki: one last thing, did you say before, if I transcode the video over, then it should be good to trim, and would I need to encode over the audio too, or just video?
[23:23:34 CEST] <Zexaron> furq: Hmm, not sure why it's dumping only when resizing the window, so it made only one avi file for you?
[23:24:01 CEST] <Zexaron> dump one when I resize the window, then stops, maybe not configured right
[23:24:16 CEST] <Cracki> fa0, you might be able to get away with not reencoding the audio. audio comes in shorter packets.
[23:24:39 CEST] <fa0> ok let me try just video and let you know, thanks again Cracki
[23:24:44 CEST] <Cracki> so a bit of difference between audio and video is absolutely ok. container formats record that difference and report it to whoever plays it back
[23:25:27 CEST] <Cracki> "smart rendering" is a tricky technique. virtualdub did this for mpeg4.
[23:25:59 CEST] <fa0> k
[23:26:08 CEST] <Cracki> the technique has different names. I hear avisynth might have it implemented for mpeg4 too, but who knows...
[23:26:09 CEST] Action: fa0 flips the switch Vrooommm
[23:26:17 CEST] <fa0> hmm
[23:26:32 CEST] <Cracki> the technique being just reencoding the affected GOP
[23:26:50 CEST] <Cracki> the presence of B-frames can complicate things
[23:27:19 CEST] <Cracki> (or might not, I don't understand enough about h.264 features)
[23:28:05 CEST] <fa0> hmm well, since this is a mkv I tried mkvmergeGUI, it has a spilt option by time, and it ended up the same thing too...
[23:28:19 CEST] <fa0> wasn't sure if I'd have better luck with it...
[23:30:26 CEST] <Cracki> you can use that to split into 3 parts
[23:30:30 CEST] <Cracki> and reencode the middle part
[23:30:52 CEST] <Cracki> _if_ the tool does split at exactly gop boundaries (and doesn't truncate GOPs... which it may)
[23:31:11 CEST] <fa0> Crap transcoding the video didn't do anything... :(
[23:31:24 CEST] <Cracki> what did you do
[23:31:24 CEST] <fa0> so maybe before I try anything else, transocde audio too?
[23:31:41 CEST] <Cracki> you do "ffmpeg -i ... -ss ... -c:v ... out.xxx"
[23:31:47 CEST] <fa0> I'm running this in a script, here's the cmds;
[23:31:49 CEST] <fa0> urxvt -g 120x32 -e ffmpeg -i "$i" -vf format=yuv420p -c:v libx264 -preset fast -crf 20 -c:a copy -metadata:s:a:0 language=eng "$OUTPUT/${i%.*}.mkv"
[23:31:50 CEST] <Cracki> that way it seeks *after* decoding frames
[23:31:59 CEST] <Cracki> not before (i.e. seeking in the bitstream)
[23:32:09 CEST] <fa0> I just transcoded to x264
[23:32:13 CEST] <Cracki> so?
[23:32:14 CEST] <fa0> copied audio
[23:32:23 CEST] <Cracki> what did you expect that to do?
[23:32:29 CEST] <fa0> then I ran this cmds;
[23:32:30 CEST] <fa0> urxvt -g 120x32 -e ffmpeg -i "$i" -c:v copy -c:a copy -ss 00:00:05 -to 01:00:00 "$OUTPUT/${i%.*}.mkv"
[23:32:35 CEST] <fa0> and same problem...
[23:32:41 CEST] <Cracki> can you guess why
[23:32:46 CEST] <Cracki> -c copy
[23:33:22 CEST] <fa0> I tried that too, didn't work and I never used it on my other videos, this cmd works on all them except this one
[23:33:28 CEST] <Cracki> you misunderstand
[23:33:43 CEST] <Cracki> DO NOT COPY when you want frame-exact cutting
[23:33:56 CEST] <fa0> ok
[23:34:18 CEST] <Cracki> what is $i anyway?
[23:34:53 CEST] <fa0> it's in a script, I just run the file with all the cmds in them, I have several
[23:35:04 CEST] <fa0> So then how you mux and trim if not copying?
[23:35:15 CEST] <Cracki> by not using the "copy" codec, but a real codec
[23:35:22 CEST] <Cracki> that's why it's called reencoding
[23:36:16 CEST] <Cracki> I think if grasping this is already a hurdle, forget anything I said about "smart rendering/transcode/copy"
[23:36:25 CEST] <fa0> Like this; http://dpaste.com/1FMTVFD
[23:36:37 CEST] <Cracki> no, not like that
[23:36:47 CEST] <Cracki> that paste still does a "copy"
[23:36:56 CEST] <fa0> I was just showing you the script is all...
[23:37:00 CEST] <Cracki> ah
[23:37:19 CEST] <fa0> I grasp, all this, sorry if I said something confusing back...
[23:37:31 CEST] <Cracki> ok
[23:37:53 CEST] <fa0> I just thought you said before '-c:v copy -c:a copy' was ok for trimming...
[23:38:33 CEST] <fa0> Sorry trying to stay focused, was messing with this and chatting...
[23:39:46 CEST] <fa0> So with as little transcoding as possible, how would you recommend going about --> -ss 00:00:05 -to 01:00:00
[23:40:41 CEST] <Cracki> that's going to be messy
[23:41:09 CEST] <Cracki> you need to split the source at or after 5 seconds
[23:41:43 CEST] <Cracki> then do a reencode on the first piece, with "-i -ss" ordered like that, so you get actual decoded frames and seek on that
[23:42:12 CEST] <Cracki> from that reencode, you get an exactly shortened piece that ends at the GOP boundary where the second piece continues
[23:42:31 CEST] <Cracki> you should then be able to concatenate both. of course the codec and many of its parameters have to match.
[23:42:48 CEST] <fa0> ok
[23:43:06 CEST] <Cracki> split the source file means you want to get two pieces that exactly line up
[23:43:21 CEST] <Cracki> and the split being at or after the split/cut point you actually want
[23:46:38 CEST] <Zexaron> furq:If you started diving deep into that AVIDump.cpp and even doing code your self, tell me so I don't waste time on it myself, just saying that because it happened many times on freenode that I had a random discussion and a few hours later the person brings me a fully functioning example of all that we discussed lol
[23:53:36 CEST] <fa0> Wel for now just trying -ss -t to split, this doesn't work...
[00:00:00 CEST] --- Tue May 29 2018
1
0
[01:47:56 CEST] <atomnuker> jkqxz: can I ignore drm layers and just put each plane in a single layer?
[01:48:15 CEST] <atomnuker> suppose I'm getting dmabufs from something that doesn't have a concept of layers
[05:30:38 CEST] <atomnuker> why do my timestamps get messed up if I encode to matroska with a time base that isn't exactly 1 ms?
[05:30:46 CEST] <atomnuker> I thought rounding timestamps was optional
[06:49:46 CEST] <hanna> atomnuker: I'll follow up on it when I manage to get shaderc compiled again
[06:50:10 CEST] <hanna> which is something I'll be attempting over the course of the next X days
[06:53:50 CEST] <hanna> lol
[06:53:59 CEST] <hanna> apparently in RADV, the storage format you specify in your GLSL shader doesn't matter at all
[06:54:03 CEST] <hanna> RADV just completely ignores it altogether
[07:06:14 CEST] <atomnuker> I always thought it was kinda pointless considering if you wanted to interpret memory differently you'd just bind the same memory to 2 images
[07:07:32 CEST] <hanna> atomnuker: well most typically you'd make a different VkImageView
[07:07:45 CEST] <hanna> but actually aliasing the same memory to different VkImages is not something I've investigated very well
[07:08:00 CEST] <hanna> I think the synchronization issues present there may make it non-trivial to do some things that you can do with VkImageViews more easily
[07:09:12 CEST] <hanna> atomnuker: also the point about storage formats is not so much about being _able_ to reinterpret the image contents
[07:09:25 CEST] <hanna> rather, the fundamental point here is that the shader compiler may be _unable_ to know what the format is
[07:09:33 CEST] <hanna> but it may need to know that during shader compilation stage
[07:20:29 CEST] <atomnuker> I know that memory aliasing on anv works very well on intel, one of the devs there swears by it to the point of doing that instead of other more correct and less hacky ways
[08:30:08 CEST] <hanna> Actually I don't really see any indication in the spec for why using aliased memory would be more difficult than using e.g. an imageview
[08:30:14 CEST] <hanna> both just require regular memory synchronization
[08:30:18 CEST] <hanna> which you need to be doing anyway
[08:30:21 CEST] <hanna> oh actually I think there's one issue
[08:30:31 CEST] <hanna> memory aliasing with images in optimal tiling is undefined?
[08:30:41 CEST] <hanna> so you need to use linear tiling in order to guarantee that the memory layout is actually the same
[08:30:51 CEST] <hanna> you can make a VkImageView of an image in optimal tiling
[08:31:26 CEST] <hanna> Note: Doing that with memory aliasing _would_ work in the same circumstances that using a VkImageView is possible, but it would be undefined behavior
[09:01:53 CEST] <atomnuker> yeah, guy suggesting using memory aliasing was insane enough to suggest using disjoint multiplane images
[09:02:25 CEST] <atomnuker> where the planes are guaranteed to be individually accesible even if tiled
[09:03:36 CEST] <atomnuker> disjoing images are kinda slower on intel though, 43 vs 51 fps for a simple vaapi->vulkan->chromaticaberration filterchain (without download, 4k images)
[11:21:55 CEST] <hanna> tiled vs linear isn't just about multiplan
[11:22:02 CEST] <hanna> it's also about the organization of pixels within the image
[11:22:13 CEST] <hanna> in an optimal image you subdivide the actual image into tiles
[11:22:26 CEST] <hanna> (note that linear images are also interleaved)
[16:15:21 CEST] <kierank> how do I download a patch from the ml
[16:17:54 CEST] <JEEB> I've used patchwork for that generally
[16:18:26 CEST] <JEEB> like `curl -L 'https://patchwork.ffmpeg.org/patch/8980/mbox/' | git am`
[16:18:41 CEST] <JEEB> of course switch the patch ID depending on what you want to poke
[16:19:38 CEST] <kierank> did that
[16:19:40 CEST] <kierank> thanks
[16:21:15 CEST] <JEEB> yw
[16:25:14 CEST] <cone-220> ffmpeg 03Gagandeep Singh 07master:9cefb9e7ec50: lavc/cfhd: interlaced frame decoding added
[17:02:08 CEST] <kierank> I've probably been blocked
[17:02:56 CEST] <JEEB> sounds weird
[17:03:18 CEST] <kierank> happened before
[17:03:28 CEST] <kierank> atlassian sourcetree likes polling git.videolan.org every 10 seconds
[17:03:44 CEST] <JEEB> ah
[17:53:12 CEST] <durandal_1707> kierank: they want encoder, so i dont get why you closed that bug
[17:58:52 CEST] <kierank> durandal_1707: encoder is x86 intrinsics only
[17:59:22 CEST] <durandal_1707> kierank: lavc encoder....
[18:10:31 CEST] <kierank> That's not what the ticket says, it says integrate GoPro encoder
[18:16:52 CEST] <durandal_1707> kierank: just integrate it for once as said in that ticket and be done
[18:17:19 CEST] <kierank> Won't work on most platforms
[19:16:27 CEST] <jkqxz> Urgh, that took three hours. I don't think I'll do the rest today.
[19:30:21 CEST] <ubitux> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=fftools/ffmpeg.c;h=5a19a09d9…
[19:30:28 CEST] <ubitux> why are we running this code at every frame?
[19:31:25 CEST] <JEEB> ah, the vsync stuff \o/
[19:31:51 CEST] <JEEB> I really like that we have that in addition to the fps filter that you'd think we'd use for frame rate conversions or whatever
[19:31:54 CEST] <ubitux> also, i still havent figured out why x11grab + nut output vomit the "Past duration" warning
[19:32:22 CEST] <JEEB> anyways, it seems like -vsync passthrough -copyts is probably one of the better ways of trying to make sure ffmpeg.c doesn't touch your timestamps (although it still might in some places)
[19:32:28 CEST] <ubitux> typically `ffmpeg -f x11grab -video_size 1920x1080 -framerate 60 -i :0.0 -c:v huffyuv -y /tmp/test.nut`
[19:33:02 CEST] <JEEB> also -debug_ts I think might be useful, albeit spammy
[19:33:55 CEST] <ubitux> -vsync passthrough -copyts just converts to a different warning
[19:34:03 CEST] <jkqxz> Yeah, I always use -vsync 0 with screen captures to stop it doing anything funny.
[19:35:02 CEST] <jkqxz> There is also some case triggerable with grabbers where it decides that you don't deserve to get any frames at all, which I never tracked down.
[19:47:05 CEST] <gagandeep> kierank: do you have any idea why vlc code is giving my memory leak error for reading subband data from stream
[19:47:31 CEST] <gagandeep> i don't understand why it cant read subband 10 properly
[19:48:13 CEST] <gagandeep> i have allocated memory for subbands worth 2 frames
[19:58:31 CEST] <gagandeep> i think the code is unable to break the vlc look
[19:58:37 CEST] <gagandeep> *loop
[20:15:08 CEST] <cone-372> ffmpeg 03Marton Balint 07master:2b059813127c: avformat/mxf: fix NTSC 59.94 samples per frame layout
[21:20:42 CEST] <cone-372> ffmpeg 03Reino Wijnsma 07master:0263c52f4d4e: configure: fix check for mbedtls
[21:39:27 CEST] <cone-372> ffmpeg 03Michael Niedermayer 07master:1386a199f9fe: configure: Omit fsanitize flags if they are already specified by the user
[21:39:28 CEST] <cone-372> ffmpeg 03Michael Niedermayer 07master:df3d962d2e73: libavformat/mxfenc: Add some () to attempt to workaround build issue on osx
[21:42:28 CEST] <atomnuker> jkqxz: wow, thanks, I can see why this took you 3 hours
[21:42:55 CEST] <atomnuker> btw yeah, I had a map_from function for vulkan->vaapi but I removed it (it was even present in an earlier version of the pr)
[21:43:20 CEST] <atomnuker> but I realized it was wrong and I got frustrated trying to fix it
[21:43:48 CEST] <atomnuker> once you export FDs from a vulkan image the ownership is transferred and freeing the original image does nothing, you need to close the fds
[21:44:40 CEST] <atomnuker> I wrote code which destroyed the image and memory and then reimported the fds using the map_to code but it kept crashing
[21:45:59 CEST] <atomnuker> can a frame be mapped multiple times? I think what I might to would be to make some priv array in the avvkframe struct and put exported FDs there, which would get closed when the frame gets freed
[22:00:52 CEST] <jkqxz> Other things close the fds if necessary in the free function from the bufferref.
[22:01:43 CEST] <jkqxz> (And it has to be the source which handles whether to do that - the Rockchip decoder gives you it's internal shared fds, so if you close them it explodes.)
[22:07:29 CEST] <atomnuker> the vulkan spec states that ownership is transferred to the driver once you submit them for importing, so its up to it to close them
[22:11:01 CEST] <jkqxz> That might mean we need to dup() somewhere.
[22:13:25 CEST] <jkqxz> Aha: <https://0x0.st/s2e5.txt>.
[22:13:30 CEST] <jkqxz> Looks like we do need the dup().
[22:13:40 CEST] <jkqxz> (That would be totally fatal in a multithreaded application.)
[22:23:08 CEST] <atomnuker> jkqxz: the dump would be needed only on rockchip, right?
[22:23:35 CEST] <atomnuker> I didn't know rockchip had vulkan drivers, or in fact any arm device
[22:25:56 CEST] <JEEB> I think some modern ones might have it, I should check if my new adreno 640 has vulkan support
[22:27:01 CEST] <JEEB> "The Adreno 6xx parts have Vulkan 1.0 capabilities similar to the A5xx series..."
[22:27:09 CEST] <JEEB> according to phoronix
[22:30:37 CEST] <jkqxz> No, you need to dup everywhere because of how we've defined the API everywhere else.
[22:30:50 CEST] <jkqxz> (That fds are closed by the source.)
[22:32:11 CEST] <atomnuker> didn't know we defined anything about fds, will do that once I fix the rest of the issues you said
[22:32:13 CEST] <jkqxz> I haven't actually seen Vulkan on Rockchip yet, but in theory it should work since they use recent Mali cores.
[22:51:45 CEST] <cone-372> ffmpeg 03Carl Eugen Hoyos 07master:fbb283cfefb1: lavc/hevcdec: Treat clean random access nals as keyframes for -skip_frame.
[23:19:52 CEST] <cone-372> ffmpeg 03Michael Niedermayer 07master:e1182fac1afb: avcodec/mpeg4videoenc: Use 64 bit for times in mpeg4_encode_gop_header()
[23:19:53 CEST] <cone-372> ffmpeg 03Michael Niedermayer 07master:53f241218d9e: avcodec/g723_1dec: Clip bits2 in both directions
[23:19:54 CEST] <cone-372> ffmpeg 03Michael Niedermayer 07master:62cb6fadf33d: oavcodec/aacpsdsp_template: Use unsigned for hs0X to prevent undefined behavior
[23:19:55 CEST] <cone-372> ffmpeg 03Michael Niedermayer 07master:90475db97e2e: avcodec/aacdec_fixed: use 64bit to avoid overflow in rounding in apply_dependent_coupling_fixed()
[23:19:56 CEST] <cone-372> ffmpeg 03Michael Niedermayer 07master:e3f656f2dea6: avcodec/ac3dec: Fix null pointer dereference in ac3_decode_frame()
[23:19:57 CEST] <cone-372> ffmpeg 03Michael Niedermayer 07master:e3275f937dc3: avcodec/ac3dec: Check that the number of channels with dependant streams is valid
[23:25:44 CEST] <atomnuker> jkqxz: "E.g. mapping from VAAPI/NV12 works on Intel, but on AMD I get (with the above plane-count bug fixed):"
[23:26:05 CEST] <atomnuker> how does image creation even succeed when the yuv extension isn't supported on amd yet?
[23:27:03 CEST] <jamrial> rcombs: https://pastebin.com/raw/aG92JV7a tidy up and push your aes-ni patch already :p
[23:28:57 CEST] <atomnuker> last time you had to do that for the flac coverart patches :)
[23:31:00 CEST] <durandal_1707> strange thing i found, filter leaks phanom audio to other frequencies, when using aderivative + filter + aintegral gives big positive dc offset after each speak sequence
[23:33:58 CEST] <jkqxz> Well, it doesn't, since it segfaults inside vkCreateImage().
[23:34:41 CEST] <atomnuker> sounds like a driver bug, it ought to fail if the format isn't supported
[23:35:46 CEST] <atomnuker> durandal_1707: what's the dc amplitude? if its low it might be a rounding issue
[23:38:00 CEST] <durandal_1707> atomnuker: after second speak sequence it goes >1 and disappears from showwaves output, happens with float sample format
[00:00:00 CEST] --- Mon May 28 2018
1
0
[00:05:10 CEST] <JEEB> well if you're asking for interleaved stuff then the result goes into a single buffer? and what's your requested sample format?
[00:07:32 CEST] <shfil> AV_SAMPLE_FMT_S16
[00:09:14 CEST] <shfil> I do this: https://gist.github.com/ShFil119/ebd0cf30632c89aa393913b1abf52594#file-resa…
[00:09:21 CEST] <shfil> (updated)
[00:09:34 CEST] <JEEB> signed, 16bit samples then, each channel after each other in a single buffer
[00:09:52 CEST] <JEEB> if you needed multiple buffers then the P one is the one you want
[00:11:03 CEST] <shfil> openAL wants one buffer with interleaved data irrc
[00:58:24 CEST] <johnnny22> humm sidx_pts vs tfdt_dts :o
[00:58:35 CEST] <johnnny22> having the time of my life :P
[00:58:58 CEST] <JEEB> :D
[01:00:20 CEST] <JEEB> also if you're dealing with MOV/MP4 make sure https://patchwork.ffmpeg.org/patch/8980/ doesn't help you if applied
[01:00:35 CEST] <JEEB> I haven't had time to try and review it and nobody else seems to be capable of reviewing the mess that google/youtube left
[01:02:31 CEST] <johnnny22> I'll def give it a try
[01:02:56 CEST] <johnnny22> just those 2 lines ?
[01:05:34 CEST] <JEEB> yes
[01:09:48 CEST] <johnnny22> The issue I'm dealing with is more like: Audio source has an sidx_pts, so the tfdt_dts isn't used. And the video source has no sidx_pts, so the found tfdts_dts is used (within mov.c mov_read_trun). Swapped the if/else just to "try", to get both to use the tfdt value to set the 'dts' value. But the main problem in my case, is that the video source has a tfdt_dts that is zerobase timestamps,
[01:09:48 CEST] <johnnny22> while the audio source sidx_pts uses system-time timestamps. Basically, something seems screwed in the source.
[01:11:21 CEST] <johnnny22> But maybe i should approach it differently :P
[01:12:03 CEST] <johnnny22> Obviously, fixing at the encoder level is probably better, but ... for now I'm just trying to grasp the issue.
[01:12:30 CEST] <johnnny22> I'll still try the patch though.
[01:21:06 CEST] <johnnny22> But i think my src is on 3.4.1 :P lol
[01:22:05 CEST] <johnnny22> the issue i was testing though showed up on both 3.4.1 and 4.0 and nightly build (i'm sure it's the video source the issue)
[01:23:45 CEST] <johnnny22> i'll update to <master> and see
[01:28:04 CEST] <johnnny22> or should i try <release/4.0> instead ?
[01:30:32 CEST] <johnnny22> patch lines make more sense now :P older version didn't have those :)
[01:52:34 CEST] <johnnny22> humm, fun, it's complaining that ffserver ain't found..
[01:52:46 CEST] <johnnny22> *my rpm builder
[01:53:26 CEST] <nicolas17> johnnny22: https://ffmpeg.org/index.html#ffserv there is no ffserver anymore
[01:53:36 CEST] <johnnny22> good to know :D
[01:53:51 CEST] <johnnny22> at least i'm not depending on it ;)
[01:58:03 CEST] <johnnny22> This .spec file i got is strange ;)
[04:35:59 CEST] <nicolas17> with the API, can I seek to and decode a specific frame, by frame number?
[04:36:17 CEST] <nicolas17> it seems like the ffmpeg CLI asks for a timestamp, I can't use frame numbers
[04:36:36 CEST] <nicolas17> I'd have to convert to a timestamp based on fps and that could have rounding errors and blah
[04:38:24 CEST] <furq> nicolas17: https://ffmpeg.org/doxygen/trunk/group__lavf__decoding.html#gaa23f7619d8d4e…
[04:38:50 CEST] <furq> "timestamp" there is pts, which is frame number * timebase
[04:40:03 CEST] <furq> also a lot of filters let you specify a frame number or pts, so if you just want to trim or something then that's an option
[04:42:19 CEST] <nicolas17> hm that says "to the keyframe", would I need to write my own stuff to decode from there to the actual frame I want?
[05:45:44 CEST] <fa0> Hello
[05:46:09 CEST] <fa0> I'm muxing avi to mp4 and when doing so I'm getting this message;
[05:46:32 CEST] <fa0> Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly pts has no value
[05:46:50 CEST] <fa0> I've been looking around, seeing some options discussed, but not sure, what to use?
[12:17:56 CEST] <d-safinaskar> i have grayscale video. every pixel ocupies 8 bits. is there some filter which reduces number of bits used to store pixel and then expand number of bits back to 8?
[12:18:17 CEST] <d-safinaskar> i. e. i want some filter which simple zeroes out some least significant bits
[12:18:42 CEST] <d-safinaskar> this will make video quality lower and makes it more situable to lossless compressing
[12:18:48 CEST] <d-safinaskar> i will try to describe my use case
[12:18:55 CEST] <d-safinaskar> i always capture video from screen
[12:19:19 CEST] <d-safinaskar> i want to compress it to make it occupy minimal space
[12:19:55 CEST] <d-safinaskar> unfortunately screen video has some its own specifics, so usual lossy compression methods which are used for movies are unsituable
[12:20:22 CEST] <d-safinaskar> so i decided to reduce color space and then apply some lossless compression
[12:20:37 CEST] <d-safinaskar> i already convert my video to grayscale to reduce information
[12:21:03 CEST] <d-safinaskar> then i want to reduce number of bits in pixel. i think 4 bits will be enought, i don't need all 8 bits
[12:21:21 CEST] <d-safinaskar> and then i will apply some lossy compression, for example, ffv1
[12:21:44 CEST] <d-safinaskar> so, how to throw away some low-significant bits from every grayscale pixel?!
[12:31:41 CEST] <durandal_1707> d-safinaskar: lut filter....
[12:44:06 CEST] <d-safinaskar> durandal_1707: thanks a lot
[12:44:13 CEST] <d-safinaskar> durandal_1707: i am trying lutyuv=y='bitand(val,128+64+32)':u=128:v=128
[12:44:18 CEST] <d-safinaskar> durandal_1707: but i get error
[12:44:27 CEST] <d-safinaskar> durandal_1707: No such filter: '128+64+32):u'
[12:44:33 CEST] <d-safinaskar> durandal_1707: please help
[12:44:39 CEST] <durandal_1707> d-safinaskar: escape ,
[12:44:41 CEST] <d-safinaskar> durandal_1707: probably some problem with quotation
[12:44:51 CEST] <durandal_1707> with \
[12:45:13 CEST] <d-safinaskar> durandal_1707: thanks
[12:56:05 CEST] <probook> hello
[12:58:10 CEST] <probook> ffmpeg-compact-57 PGP problem with arch linux instalation
[13:28:23 CEST] <d-safinaskar> what is usual fps? 24 fps or 25 fps?
[13:28:32 CEST] <d-safinaskar> different sources give different answers?
[13:28:49 CEST] <d-safinaskar> what is usual fps for movies, say, dvd movies? 24 fps or 25 fps?
[13:28:51 CEST] <d-safinaskar> for TV?
[13:33:30 CEST] <BtbN> Whatever the creator decided to use
[13:33:52 CEST] <BtbN> and also depends on what continend he lived on
[13:36:24 CEST] <JEEB> generally you just want to output the same timestamps as input
[13:58:25 CEST] <ariyasu> tv framerate depends on region d-safinaskar
[13:59:14 CEST] <JEEB> that's why you generally keep the input timestamps, only exception is when you have to do something like IVTC
[13:59:18 CEST] <ariyasu> pal regions broadcast at 25fps or 50fps, ntsc regions broadcast at 23.976fps 29.970, usually
[13:59:23 CEST] <JEEB> but in that case you've looked at the content
[14:08:30 CEST] <d-safinaskar> what fps is used in DVD and bluray?
[14:09:27 CEST] <JEEB> blu-ray lets you do different rates at different resolutions etc
[14:10:14 CEST] <JEEB> but why would you care since in general you don't want to change it?
[14:14:21 CEST] <d-safinaskar> JEEB: i want to capture my screen. i want to set framerate to 24 or 25. also i am perfectionist, so i am curious what of this two numbers is *THE RIGHT WAY* - 24 or 25
[14:15:10 CEST] <JEEB> uhh
[14:15:18 CEST] <JEEB> what's the use case and all that shiz
[14:15:49 CEST] <JEEB> basically if it's games and such you just capture at 60/1.001 and if you're ever going to make a commercial blu-ray out of it just downscale to 720p and you can utilize 60/1.001 mode
[14:16:31 CEST] <JEEB> (or capture at plain 60 depending on your screen's refresh rate, you can always then do the /1.001 thing later with a minimal change to the audio as far as I can see)
[14:17:06 CEST] <JEEB> but really, there is no "right" frame rate, other than the frame rate for your use case that you can handle the best with your setup
[14:33:55 CEST] <kerio> modern games are 60 sharp, right
[14:34:02 CEST] <kerio> we left ntsc behind
[14:37:16 CEST] <JEEB> it all depends on the screen refresh rate
[14:37:34 CEST] <JEEB> a lot of screen refresh rates are still 60/1.001, games in general can output whatever they want but vsync is generally set to your screen
[14:41:42 CEST] <ariyasu> console gaming is a crap shoot
[14:41:52 CEST] <ariyasu> they may be aiming for 60 or 30
[14:41:59 CEST] <ariyasu> but often drop frames
[14:42:13 CEST] <ariyasu> it's rare a game is ever locked without dropping frames
[14:42:23 CEST] <ariyasu> unless it's retro stuff
[14:42:24 CEST] <JEEB> that's a separate thing of course
[14:42:51 CEST] <JEEB> you would still be capturing those at the refresh rate
[14:43:01 CEST] <JEEB> and then if you really wanted to do VFR later you could do that
[14:43:28 CEST] <JEEB> or if the refresh is at 30(/1.001) then you could just select the duplicates and remove them
[14:43:41 CEST] <JEEB> s/refresh/actual frame rate/
[14:45:48 CEST] <kerio> ariyasu: old games have lag frames all over the place yo
[14:52:33 CEST] <kerio> JEEB: there's no "right" frame rate but we can all agree that 59.94 is wrong
[14:53:11 CEST] <JEEB> well if your screen refresh rate is that, your thing is going to vsync and render at that rate max
[14:53:26 CEST] <JEEB> but yes, it shouldn't exist in many modern use cases
[14:54:05 CEST] <JEEB> if you then need to make a commercial blu-ray with /1.001 you can then always poke at the audio a wee bit and call it a day
[15:36:53 CEST] <shfil> JEEB do you know what can cause quiet "ticking" in sound resampled from mono to stereo?
[15:37:55 CEST] <JEEB> nope
[15:40:29 CEST] <shfil> maybe even more "scraping" than "ticking".
[15:47:37 CEST] <d-safinaskar> is there some lossless (this may be compressed or uncompressed format such as yuv4mpeg2) format which can store grayscale video, where every pixel ocupies 2 bits?
[15:49:07 CEST] <shfil> JEEB: with files don't recognized by ffmpeg(codec doesn't see it's mono) it happens.
[21:33:16 CEST] <johnnny22> JEEB: that patch didn't solve my issue ;)
[21:33:39 CEST] <johnnny22> Who knows, maybe it solved another problem that I haven't seen yet though.
[21:35:36 CEST] <JEEB> yes, it does. and I didn't think it'd solve your issue most likely
[21:36:39 CEST] <johnnny22> I wish I had another fMP4 hls sample to test with.. one done by ffmpeg. One that uses systemtime timestamps
[21:40:29 CEST] <johnnny22> think i might have found at least the base command, just not sure about the timestamps yet.
[21:58:16 CEST] <johnnny22> omg, hls_flags are nice, never noticed them in older versions ( append_list )
[23:02:04 CEST] <shfil> as I have a lot problems with swresampler(artifacts with mono pcm wav), is there possibility to force usage of decoder mp3(notFloat)?
[23:02:30 CEST] <shfil> (in ffmpeg 4.0)
[23:10:38 CEST] <JEEB> shfil: can you make a simple test case that makes it happen and file that on trac.ffmpeg.org ?
[23:10:50 CEST] <JEEB> also yes, you should be able as the default was all that got changed
[23:16:35 CEST] <shfil> you mean create bug report?
[23:17:38 CEST] <JEEB> yes. in the worst case you get told what you did wrong, but if there's anything wrong with swresample then that might be figured out as well
[23:46:19 CEST] <slavanap> Hi! Is there any simple algorithms for 2 audio files synchronization, if one of them has noise?
[23:46:46 CEST] <durandal_1707> simple? no
[23:47:56 CEST] <fa0> Hello all
[23:48:36 CEST] <fa0> I'm muxing/copying some videos, making some changes, and I noticed on one video this metadata lines 9-16; http://dpaste.com/2Z3V9XC
[23:49:31 CEST] <durandal_1707> and?
[23:49:32 CEST] <slavanap> durandal_1707, okay. Any complex ones? I have mathematical education, I can handle it, but it'll be longer.
[23:49:43 CEST] <fa0> The only thing I've come up with so far is to use, '-map_metadata 0:g' but then this is what I end up with, the 'handler_name' changes; http://dpaste.com/1H7P9DD
[23:50:06 CEST] <fa0> SO, how can I get all the metadata to copy exaclty?
[23:51:37 CEST] <slavanap> Like, how Adobe Audition sync the speech? https://digicompdiy.wordpress.com/2012/10/15/automatically-sync-up-two-audi… I wonder what's the underlying mathematical model used for that purpose, except full search for lower SND value.
[23:51:52 CEST] <JEEB> shfil: thanks
[23:51:55 CEST] <slavanap> *lower->the lowest
[23:53:10 CEST] <shfil> JEEB nope I should be thanking ;) thanks for earlier help
[23:53:38 CEST] <JEEB> I hope cehoyos et al will parse that the issue is actually with swresample
[23:54:00 CEST] <fa0> Hmm I tried like this, but not working; -metadata:s:s:0 handler="GPAC ISO Audio Handler"
[23:54:00 CEST] <johnnny22> JEEB: do you think that patch has to do with the "[lavf] Edit lists are not correctly supported (FFmpeg issue)." error ?
[23:54:44 CEST] <JEEB> johnnny22: yes, we've had fun with the google/youtube edit list thing since inception
[23:54:54 CEST] <JEEB> since it tries to do presentation level stuff on the demuxer level
[23:55:06 CEST] <johnnny22> k, will try to build the player with the patch.
[23:55:29 CEST] <JEEB> although no idea about this thing you're noting other than "lol edit lists in FFmpeg"
[23:55:40 CEST] <JEEB> you can disable the google/youtube code and a lot of players seem to do that
[23:56:07 CEST] <fa0> In ffmpeg-3.4.2, I thought these options worked for supplying a name for the handler_name? -metadata:s:s:0 handler="Name"
[23:57:05 CEST] <johnnny22> how can i disable that google/youtube code thingny you talk about ? :)
[23:57:29 CEST] <durandal_1707> slavanap: tried python code (audiosync) that sync audio?, it doesnt look that complicated
[23:58:04 CEST] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavformat/mov.c;h=f2a540ad…
[23:58:15 CEST] <JEEB> -advanced_editlist 0 I think
[23:58:22 CEST] <JEEB> before the input as it's an input option
[23:59:45 CEST] <durandal_1707> slavanap: you could use crosscorrelation that is very simple and very brute force and probably slow
[00:00:00 CEST] --- Mon May 28 2018
1
0
[01:15:09 CEST] <cone-124> ffmpeg 03Michael Niedermayer 07master:f77eee67e25b: avcodec/ac3dec: Use frame_size if superframe_size is 0
[01:15:09 CEST] <cone-124> ffmpeg 03Michael Niedermayer 07master:10c8521265da: indeo4: Decode all or nothing of a band header.
[01:15:09 CEST] <cone-124> ffmpeg 03Michael Niedermayer 07master:63c4a4b0d692: avcodec/mlpdec: Only change noise_type if the related fields are valid
[08:24:01 CEST] <hanna> atomnuker: I could test it on RADV if you need me to
[08:24:08 CEST] <hanna> As long as you explain to me what test suite to run
[08:26:35 CEST] <atomnuker> thanks, if you have the time just see if say the chromaticaberration filter works for some simple case like upload, filter, download on an rgb source
[08:26:58 CEST] <atomnuker> -vf format=rgba,hwupload,chromaticaberration_vulkan,hwdownload,format=rgba
[08:28:32 CEST] <atomnuker> if it does you can also test if mapping drm frames works, or vaapi (they both use the same path)
[08:29:19 CEST] <hanna> What remote do I add?
[08:32:06 CEST] <hanna> atomnuker: ^
[08:32:23 CEST] <atomnuker> pull from https://github.com/atomnuker/FFmpeg/tree/exp_vulkan
[08:32:41 CEST] <hanna> thanks
[08:33:01 CEST] <atomnuker> compile with --enable-libdrm --enable-vulkan --enable-libshaderc
[08:33:29 CEST] <atomnuker> vaapi support should get autoenabled if you've still got it
[08:35:13 CEST] <hanna> Do they not get auto-probed?
[08:35:41 CEST] <hanna> libavfilter/vulkan.c:496:11: error: unknown type name shaderc_env_version
[08:35:44 CEST] <hanna> I guess my version of shaderc is too old
[08:35:51 CEST] <hanna> might want to adjust the pkg_config check for that
[08:39:21 CEST] <hanna> anyway that means it might be difficult for me to test, since I can't really update shaderc
[08:39:23 CEST] <hanna> it stilled compiling months ago
[08:40:36 CEST] <atomnuker> that is kinda old, just comment shaderc_compile_options_set_target_env and the opt_ver variable
[08:41:05 CEST] <atomnuker> I'd check for package version but it still lacks a pkgconfig file sadly
[08:41:17 CEST] <hanna> oh right
[11:32:35 CEST] <gagandeep> kierank: i remember you said to me to disable something related to threading, i am running into some trouble with tag reading in ip files
[11:32:44 CEST] <gagandeep> do you think it is because of that
[11:33:04 CEST] <kierank> probablhy
[11:33:09 CEST] <gagandeep> even avlog is only showing output for 4 - 5 tag/value pair
[11:33:10 CEST] <kierank> disable frame threads at the bottom
[11:33:15 CEST] <gagandeep> how
[11:33:25 CEST] <kierank> just remove the FRAME_THREADING
[11:33:26 CEST] <kierank> thing
[11:35:34 CEST] <gagandeep> .capabilities
[11:36:13 CEST] <kierank> yes
[11:58:11 CEST] <gagandeep> umm, i also had to disable the break loop for transform type tag
[11:58:27 CEST] <gagandeep> now avlog has the info
[12:22:55 CEST] <gagandeep> kierank: i think that mountain file is problematic
[12:23:05 CEST] <gagandeep> the new ip sample is working much better
[12:23:19 CEST] <gagandeep> i will first try to run the new sample
[12:24:14 CEST] <kierank> You should see if it works with cineformsdk in FFmpeg
[12:24:38 CEST] <kierank> Ok
[14:06:45 CEST] <durandal_1707> YYYYYYYYEEESSSSS!!!!!!!!
[14:23:00 CEST] <kierank> durandal_1707: ?
[14:28:19 CEST] <durandal_1707> kierank: finally got noise reduction filter act better than simple moving average filter
[16:19:00 CEST] <kierank> atomnuker: damn, there was an iter open day
[16:19:00 CEST] <kierank> https://twitter.com/iterorg
[16:19:05 CEST] <kierank> that would have been worth seying
[16:19:07 CEST] <kierank> e*
[16:21:19 CEST] <kierank> gonna push cfhd patches later
[16:30:19 CEST] <atomnuker> yeah, they have those once every 2 or so weeks
[16:30:54 CEST] <atomnuker> but when I checked in january it was all booked until may
[16:42:44 CEST] <kierank> atomnuker: ping me if there is one
[16:42:45 CEST] <kierank> i'd like to go
[17:31:28 CEST] <BtbN> "Chromeium to get video hwaccel on linux"
[17:31:32 CEST] <BtbN> "v4l2vda"
[17:31:34 CEST] <BtbN> great
[17:31:40 CEST] <BtbN> Where is that stuff even used?!
[17:33:24 CEST] <philipl> https://blog.csdn.net/ustcxiangchun/article/details/31800733
[17:33:26 CEST] <philipl> china?
[17:36:17 CEST] <nevcairiel> ARM basically
[17:46:36 CEST] <jamrial> is that avs2 codec basically hevc without the bloat?
[17:47:36 CEST] <jkqxz> Pretty much, yeah.
[17:48:28 CEST] <jkqxz> (Also it's Definitely Not Infringing on any patents which might apply to H.265.)
[17:48:57 CEST] <JEEB> glorious chinese technology with only chinese patents!
[17:52:11 CEST] <jkqxz> So, why would anyone ever want to use an almost-certainly-terrible intra-only H.264 encoder on a shitty ARM SoC?
[17:52:34 CEST] <jkqxz> That really doesn't seem like it has much in the way of use-cases.
[19:40:39 CEST] <atomnuker> its not all intra only on all arm boards, isn't it?
[19:42:20 CEST] <atomnuker> lol, 1700 lines, you can probably write an equivalent h264 encoder with less than that
[19:47:10 CEST] <durandal_1707> 17000 lines
[23:32:00 CEST] <atomnuker> hanna: had a chance to run the vulkan filtering stuff?
[00:00:00 CEST] --- Sun May 27 2018
1
0
[00:17:50 CEST] <wfbarksdale> attempting to load buffers manually into an AVFrame but the encoder spits out the error: [libx264 @ 0x102807400] Input picture width (848) is greater than stride (448)
[00:19:46 CEST] <the_k> Liquid - Sweet Harmony -- https://www.youtube.com/watch?v=RW4YfSxBeAw
[00:19:57 CEST] <wfbarksdale> https://pastebin.com/Udy2DjPr
[00:20:56 CEST] <wfbarksdale> pseudocode of how i'm loading the frame
[00:21:55 CEST] <wfbarksdale> seems like setting the pixel format should be enough for ffmpeg to know how to handle the buffer, but its over, striding on the UV components
[00:28:26 CEST] <wfbarksdale> found my goof
[00:28:46 CEST] <wfbarksdale> soory soory
[01:13:18 CEST] <Cracki> damn... moving from h.264 to h.265 is a real shocker in terms of file size
[01:13:32 CEST] <Cracki> I just wish people would use vpx and av1 more
[01:25:45 CEST] <furq> well av1 isn't finished yet so i'm glad nobody is using it
[01:40:37 CEST] <Cracki> heh
[01:41:14 CEST] <Cracki> I'm sure they're already thinking about fixed function hardware to accelerate encoding and decoding that's sure to be useful
[01:44:54 CEST] <Cracki> hmmm mainconcept has an office in my town. maybe I should pay them a visit
[01:46:10 CEST] <Cracki> lol they're advertising for a "sales allrounder / janitor"
[01:46:22 CEST] <furq> nice
[01:48:31 CEST] <furq> oh hey it looks like they finally froze the bitstream
[01:50:16 CEST] <Cracki> wtf their job vacancy reads like they have ONE employee in aachen, who's nothing but a "traveling" salesman
[01:50:47 CEST] <Cracki> nvm, 14-strong team, they claim
[01:51:15 CEST] <Lin-Buo-Ren> Hello, I would like to inform you that I am unable to shallow-clone the source repository with the "fatal: protocol error: bad pack header" error message
[01:58:21 CEST] <leinne_> Lin-Buo-Ren: try from git.videolan.org
[01:59:09 CEST] <Lin-Buo-Ren> leinne: That's working, the github mirror also works
[02:21:37 CEST] <nicolas17> when I use ffplay, it disables desktop compositing until it quits
[02:21:41 CEST] <nicolas17> how do I make it not do that?
[02:21:51 CEST] <furq> use something that isn't ffplay
[02:22:12 CEST] <nicolas17> ...there is no option for it?
[02:22:38 CEST] <furq> it's an issue with sdl
[02:23:41 CEST] <furq> you might be able to block it from disabling compoeition in your window manager, but there's nothing in ffplay itself
[02:23:44 CEST] <furq> s
[02:26:32 CEST] <nicolas17> I'm reviewing short video segments and VLC stutters badly for the first second or so :/
[02:28:33 CEST] <furq> use mpv
[02:29:57 CEST] <nicolas17> wow that works great
[02:30:21 CEST] <nicolas17> there's even negligible delay between one file and the next
[04:38:27 CEST] <johnnny22> I wonder where ffprobe gets the start_pts for fmp4 files. I get different value on a single file when comparing to MP4Box. The value from MP4Box should be the right value, but could there be a another place where a PTS might be obtained that ffprobe uses ?
[04:40:37 CEST] <johnnny22> The stream wasn't encoded with ffmpeg to my knowledge, but is being used then by ffmpeg, so I'm trying to see if i can help the demystify what the other encoder might be doing wrong.
[04:41:02 CEST] <johnnny22> Or maybe ffmpeg needs it adjusted, but that just feel like a long process :)
[04:41:45 CEST] <johnnny22> I'll probably try to create a ticket though
[05:28:28 CEST] <johnnny22> I guess it's all done in the mov.c
[06:10:06 CEST] <Nosomy> Someone have examples of eval AF of ffmpeg?
[06:11:29 CEST] <furq> https://ffmpeg.org/ffmpeg-filters.html#Examples-32
[06:11:30 CEST] <furq> you mean this
[06:11:56 CEST] <Nosomy> thanks
[06:12:19 CEST] <Nosomy> I don't why google are too bad todays.
[10:21:10 CEST] <acresearch> people, have a .mkv video file, and i just to remove 1 minute from it between times 24:31 and 25:31 i do not need any re-encoding or video or audio nor anything else, just cutting out that segment. is this possible with ffmpeg? i would appriciate your help
[10:40:28 CEST] <acresearch> i tried this command ffmpeg -i input.mkv -ss 00:24:39 -to 00:25:10 -c copy output.mkv but it extracts and generates a new file with the section i want removed (i want to do the opposite - regenerate the whole video WITHOUT this section)
[12:07:48 CEST] <ChocolateArmpits> acresearch, either cut two parts you want to remain and then concatenate them or create a concat file with two entries of the same file each having different start and end times defined
[12:08:58 CEST] <acresearch> ChocolateArmpits: i see, but there is no way to cutout a part?
[12:09:28 CEST] <ChocolateArmpits> without re-encoding nope
[12:10:13 CEST] <ChocolateArmpits> even then you'd have to use a filter which I think is more cumbersome than concatenation
[12:33:38 CEST] <acresearch> ChocolateArmpits: ok, how do i concatunate 4 videos?
[12:36:13 CEST] <acresearch> hmmm my command ffmpeg -i Podcasting.mkv -ss 00:00:00 -to 00:24:39 -c copy cut1.mkv is only starting at second 00:00:04 rather than 00:00:00 so i get 4 seconds of audio but not video
[12:38:12 CEST] <ChocolateArmpits> acresearch, you don't have to use -ss 00:00:00 as it'll copy the beginning regardless
[12:38:31 CEST] <ChocolateArmpits> remove that and try again to see if the initial thing gets copied now properly
[12:38:35 CEST] <acresearch> oh ok
[12:38:49 CEST] <acresearch> ok it works
[12:40:11 CEST] <ChocolateArmpits> acresearch, to concatenate videos use this article https://trac.ffmpeg.org/wiki/Concatenate it lists two methods in the first section
[12:40:35 CEST] <ChocolateArmpits> try concat protocol first, though that depends on input file format, not all formats are concateable like that
[12:47:30 CEST] <acresearch> ChocolateArmpits: my command: ffmpeg -f concat -safe 0 -i 1.txt -c copy output.mkv
[12:47:41 CEST] <acresearch> [NULL @ 0x55b2a3f9c9a0] Unable to find a suitable output format for 'output'
[12:47:43 CEST] <acresearch> output: Invalid argument
[12:48:37 CEST] <ChocolateArmpits> acresearch, pastebin the whole commnad output
[12:50:18 CEST] <acresearch> ChocolateArmpits: https://www.hastebin.com/gepeqareqi.pl
[12:51:04 CEST] <ChocolateArmpits> acresearch, hmm what is the 1.txt composed of?
[12:51:13 CEST] <acresearch> file 'cut1.mkv'
[12:51:15 CEST] <acresearch> file 'cut2.mkv'
[12:51:31 CEST] <ChocolateArmpits> the files themselves play back correctly, right?
[12:52:20 CEST] <acresearch> yes
[12:52:46 CEST] <ChocolateArmpits> acresearch, I have no idea, can you maybe try the -i "concat:cut1.mkv|..." thing ?
[12:52:56 CEST] <ChocolateArmpits> though not sure if mkv is supported
[12:54:34 CEST] <acresearch> ChocolateArmpits: did not concatinate, just republished cut1.mkv
[12:58:09 CEST] <ChocolateArmpits> acresearch, I think it should maybe work if you first split to mp4 then try the concatenation procedure
[12:58:25 CEST] <acresearch> ChocolateArmpits: oh so it is not possible with mkv?
[12:58:29 CEST] <ChocolateArmpits> but I geniunely don't know what the error is about
[12:58:38 CEST] <acresearch> oh
[12:58:41 CEST] <ChocolateArmpits> well it should be possible at least with the text file
[13:01:57 CEST] <acresearch> ok it works now with the file method, strange
[13:04:01 CEST] <acresearch> ChocolateArmpits: ok one last thing, my final "cut" command is this: ffmpeg -i Podcasting.mkv -ss 00:53:41 -c copy cut4.mkv but that causes a 3 second black video screen but audio is available
[13:05:02 CEST] <ChocolateArmpits> acresearch, well that's expected because it will start copying from the first keyframe which may be later than the timestamp
[13:05:15 CEST] <acresearch> ChocolateArmpits: hmmm
[13:05:27 CEST] <ChocolateArmpits> while the audio will be mostly copy-able right from the timestamp
[13:05:45 CEST] <acresearch> ChocolateArmpits: but that did not happen with cut2 and cut3 they worked perfectly
[13:06:08 CEST] <ChocolateArmpits> so maybe you were close to the keyframe
[13:06:19 CEST] <acresearch> hmmm
[13:06:25 CEST] <acresearch> there is no way arround it?
[13:06:44 CEST] <ChocolateArmpits> i don't know of a straightforward way
[13:06:52 CEST] <ChocolateArmpits> there might be but I'm not yet aware
[13:07:10 CEST] <acresearch> ok
[13:07:12 CEST] <ChocolateArmpits> acresearch, you can try maybe using the -ss as an input option
[13:07:27 CEST] <ChocolateArmpits> I think ffmpeg then tries to position itself on keyframes
[13:07:31 CEST] <acresearch> ffmpeg -i Podcasting.mkv -ss 00:53:41 -c copy cut4.mkv i thought i did
[13:07:39 CEST] <acresearch> am i using it wrong?
[13:07:40 CEST] <ChocolateArmpits> that's used as an output option
[13:07:44 CEST] <ChocolateArmpits> there are two ways to seek
[13:08:11 CEST] <ChocolateArmpits> did you see this article? https://trac.ffmpeg.org/wiki/Seeking
[13:08:47 CEST] <acresearch> ok let me read it
[13:14:09 CEST] <acresearch> thatis really strange, it won't cut at the defined position rather at a different position
[13:14:37 CEST] <acresearch> ffmpeg -ss 00:53:41 -i Podcasting.mkv -c copy cut4.mkv
[13:14:43 CEST] <ChocolateArmpits> well that's where the keyframe is
[13:14:51 CEST] <ChocolateArmpits> how far off is it?
[13:14:58 CEST] <acresearch> 3 seconds
[13:15:09 CEST] <ChocolateArmpits> yeah definitely a keyframe
[13:15:14 CEST] <acresearch> but if i try : ffmpeg -ss 00:56:41 -i Podcasting.mkv -c copy cut4.mkv i get only a 3 second video
[13:15:44 CEST] <acresearch> so i was lucky the first 3 times?
[13:15:54 CEST] <ChocolateArmpits> why 56 instead of 53?
[13:16:02 CEST] <ChocolateArmpits> it's a different place ?
[13:16:45 CEST] <acresearch> ChocolateArmpits: yes, i am trying to remove parts of the interview i recorded and i have to cut at 56, i tried 53 but it was too early
[13:26:04 CEST] <acresearch> ChocolateArmpits: can't i bypass the keyframe and cut at that spesific timestep?
[13:26:36 CEST] <ChocolateArmpits> acresearch, you'd need to reencode the video
[13:26:42 CEST] <acresearch> ChocolateArmpits: oh
[13:27:06 CEST] <ChocolateArmpits> the timestamp starts with an incomplete gop which can't be rendered properly because a keyframe is missing
[13:27:32 CEST] <acresearch> ChocolateArmpits: why is cutting a video so complicated? it seems conviluted for something so simple
[13:27:37 CEST] <acresearch> i don't understand
[13:28:13 CEST] <ChocolateArmpits> that's because you have a specific requirement of preserving the initial stream
[13:29:38 CEST] <ChocolateArmpits> If you are finding this hard then it would probably be more sane to use an NLE and cut your video there, on output render at sufficient quality albeit at file size increase.
[13:35:34 CEST] <acresearch> ChocolateArmpits: ok i will search it, thanks so much for helping me :-)
[17:05:16 CEST] <Cork> when reading a stream to a local file, is it possible to set it to always copy it straight off?
[17:11:43 CEST] <styler2go> Hi i am trying to open a video file but i can't figure out which codec/file type it could be. any ideas?
[17:13:15 CEST] <BtbN> You don't need to care about that. ffmpeg will figure it out, if it supports what you have there.
[17:14:53 CEST] <styler2go> Alright
[17:15:19 CEST] <styler2go> what if it can't recognize it?
[17:15:42 CEST] <BtbN> chances are whatever you have there is not even a media file then
[17:15:59 CEST] <JEEB> or you try to post a sample somewhere like here
[17:16:14 CEST] <JEEB> and/or try to figure out more with various tools or google
[17:16:17 CEST] <BtbN> or very broken/proprietary.
[17:16:23 CEST] <JEEB> if it's not supported with FFmpeg
[17:16:46 CEST] <styler2go> it's footage of my security camera and each file ends on .264 so i assume it's h264
[17:17:06 CEST] <BtbN> ffmpeg would support that just fine though
[17:17:21 CEST] <styler2go> upgrade still running.. will try it as soon as upgrade is done
[17:17:47 CEST] <durandal_1707> security camera videos can be anything under sun
[17:19:12 CEST] <JEEB> they can also be packed in very interesting ways
[17:19:39 CEST] <styler2go> https://p.styler2go.de/22781 That's what ffprobe told me
[17:19:55 CEST] <styler2go> so it seeeems to be something liek a 720p20 h264
[17:20:32 CEST] <JEEB> yes, seems so
[17:22:02 CEST] <styler2go> https://p.styler2go.de/4672521 output is just grey screen
[17:22:37 CEST] <styler2go> and, of course, tons of errors: https://p.styler2go.de/6912871
[17:23:12 CEST] <JEEB> has anyone been able to actually decode this video anywhere?
[17:23:32 CEST] <styler2go> i don't know
[17:23:37 CEST] <JEEB> is it actually raw H.264 or something different with that extension and some semi-valid packet-looking data
[17:24:40 CEST] <durandal_1707> look in hex editor for text of that .264 file?
[17:24:52 CEST] <durandal_1707> maybe it have junks
[17:26:59 CEST] <styler2go> https://p.styler2go.de/8034446 does this help in some way?
[18:19:11 CEST] <durandal_1707> styler2go: custom format
[18:21:15 CEST] <styler2go> durandal_1707, no way to watch this file?
[18:26:07 CEST] <durandal_1707> styler2go: grap software of corp that created that camera
[18:26:26 CEST] <styler2go> china camera
[18:28:56 CEST] <Hackerpcs> https://pastebin.com/vvYa2hCM what's the problem with my script and it says no output file specified?
[18:30:13 CEST] <durandal_1707> styler2go: certainly it could be done if you paid someone, or figure out bitstream format yourself
[20:36:08 CEST] <BlueShark> Hi. What's the easiest way to install ffmpeg with https support in Ubuntu 16.04?
[20:38:47 CEST] <JEEB> install gnutls's -dev package
[20:38:53 CEST] <JEEB> then configure with --enable-gnutls
[20:40:58 CEST] <BlueShark> JEEB, not possible to do the entire installation with apt?
[20:41:16 CEST] <BlueShark> "gnutls's -dev package" - what is the name of the package?
[20:41:39 CEST] <JEEB> apt search ".*gnutls.*-dev"
[20:41:52 CEST] <JEEB> and there is a version of FFmpeg in the repos, but that is IIRC 2.8
[20:42:05 CEST] <JEEB> so you are not exactly going to get a lot of support for that here due to its age
[20:43:54 CEST] <BlueShark> JEEB, I cloned the git repo and ran ./configure --enable-gnutls
[20:44:00 CEST] <BlueShark> Then make install - would this work?
[20:44:06 CEST] <JEEB> just run make
[20:44:15 CEST] <JEEB> you can run the ffmpeg.c binary out of the build dir
[20:44:40 CEST] <BlueShark> I'm trying to get youtube-dl working - it's failing because of this https error.
[20:44:43 CEST] <JEEB> also did that regexp actually work with apt search :P
[20:44:47 CEST] <JEEB> umm
[20:44:53 CEST] <JEEB> youtube-dl itself should do TLS
[20:45:03 CEST] <BlueShark> https protocol not found, recompile with openssl, gnutls,
[20:45:03 CEST] <BlueShark> or securetransport enabled.
[20:45:08 CEST] <JEEB> huh
[20:45:14 CEST] <JEEB> that's *weird*
[20:45:19 CEST] <JEEB> unless you're using it with ffmpeg somehow
[20:45:25 CEST] <JEEB> in a way that passes the URL to ffmpeg
[20:45:44 CEST] <JEEB> youtube-dl can download the stuff by itself just fine
[20:46:04 CEST] <BlueShark> JEEB, I believe youtube-dl uses ffmpeg internally for some conversion or something.
[20:46:12 CEST] <JEEB> it should only do remultiplexing
[20:46:14 CEST] <BlueShark> That error, I get when I run `youtube-dl URL`.
[20:46:21 CEST] <JEEB> how old is that youtube-dl?
[20:46:56 CEST] <BlueShark> virtualenv venv; source venv/bin/activate; pip install youtube-dl; youtube-dl URL
[20:46:59 CEST] <BlueShark> that's what I did.
[20:47:07 CEST] <JEEB> youtube-dl --version
[20:47:11 CEST] <JEEB> basically what it does for me with youtube-dl URL is that it downloads the parts, and then call ffmpeg.c
[20:47:18 CEST] <JEEB> it doesn't pass the URL to ffmpeg.c
[20:47:25 CEST] <JEEB> (ffmpeg.c is the command line app in FFmpeg)
[20:47:33 CEST] <BlueShark> Downloading youtube_dl-2018.5.26-py2.py3-none-any.whl (1.7MB): 1.7MB downloaded
[20:47:58 CEST] <BlueShark> the compiling is going on. i'll run the verson command after this
[20:48:52 CEST] <BlueShark> JEEB, pip install youtube-dl will give you the latest verson right?
[20:49:19 CEST] <BlueShark> ffmpeg version git-2015-05-30-debf4d6 Copyright (c) 2000-2015 the FFmpeg developers
[20:49:23 CEST] <BlueShark> ffmpeg version was this one.
[20:50:31 CEST] <BlueShark> also, i'd like to know why this enable-gnutls is not enabled by default?
[20:52:16 CEST] <JEEB> BlueShark: actually it should be since gnutls doesn't require any extra parameters I think. if the FFmpeg binary was built without gnutls's development stuff around then of course it won't error out unless you specifically note that you wanted it
[20:52:31 CEST] <JEEB> but the standard ubuntu package FFmpeg should have it
[20:52:58 CEST] <BlueShark> JEEB, apt install ffmpeg/
[20:52:58 CEST] <BlueShark> ?
[20:53:24 CEST] <JEEB> https://packages.ubuntu.com/xenial/libavformat-ffmpeg56
[20:53:44 CEST] <JEEB> basically yea, that version in there should have this as a requirement, and it has gnutls as a dep
[20:54:09 CEST] <BlueShark> i wonder if I should stop this compile thingy and try to install it from apt
[20:54:10 CEST] <BlueShark> again.
[20:54:22 CEST] <BlueShark> CC libavcodec/vp9prob.o
[20:54:22 CEST] <BlueShark> CC libavcodec/vp9recon.o
[20:54:26 CEST] <BlueShark> stuck here
[20:54:27 CEST] <JEEB> I just hope you don't have random repos or PPAs installed at this point that might be derping you up :P
[20:54:42 CEST] <JEEB> anyways you can cancel the compilation at any point with ctrl+c
[20:55:00 CEST] <BlueShark> or should I let it run to completion? ;p
[20:55:15 CEST] <JEEB> it's a newer one and you can just open another terminal if you want
[20:55:24 CEST] <JEEB> you can tell youtube-dl which ffmpeg.c you want it to use
[20:55:34 CEST] <BlueShark> specifying path?
[20:56:10 CEST] <JEEB> yea, that way you don't have to install it into any global place (although you can in your profile set your custom prefix into PATH)
[20:56:26 CEST] <JEEB> --ffmpeg-location PATH Location of the ffmpeg/avconv binary
[20:56:33 CEST] <JEEB> so you can pass it like that
[20:56:39 CEST] <BlueShark> JEEB, and what should I specify that path as?
[20:56:57 CEST] <JEEB> the path you're building in + /ffmpeg ?
[20:57:11 CEST] <JEEB> echo "$(pwd)/ffmpeg"
[20:59:41 CEST] <BlueShark> I installed it using apt
[20:59:44 CEST] <BlueShark> and seems to work fine
[20:59:55 CEST] <JEEB> if it works - great
[21:00:53 CEST] <BlueShark> i am not too fond of installing packages from source. mostly because I don't have a clue what's going on. i just run make and make install and wait for a long time and usually it will throw some error along the way, and then it's a ton of googling, installing dependencies, and lot of issues like that :D
[21:35:56 CEST] <blayze> hi all.. where can i get a build of ffmpeg 4.0 with libaom av1 already compiled in for windows
[21:37:00 CEST] Last message repeated 1 time(s).
[21:37:08 CEST] <JEEB> no need to spam. no idea, and do remember that AV1 isn't frozen yet, so even if you can encode/decode it doesn't mean that the next version of libaom will be able to decode what you've encoded
[21:40:03 CEST] <blayze> thanx -smile
[21:44:00 CEST] <shfil> hi, I'm trying to get swresample to working I'm getting error `[SWR @ 0x556b4f2dadc0] Input channel count and layout are unset`
[21:44:22 CEST] <JEEB> I recommend utilizing it through libavfilter since you can feed that AVFrames
[21:45:06 CEST] <JEEB> unless swresample takes those, too
[21:45:08 CEST] <durandal_1707> iirc libswr also have avframes api
[21:45:12 CEST] <JEEB> ok
[21:45:26 CEST] <JEEB> yea, then that might have less overhead, although I think not by much
[21:45:54 CEST] <shfil> just it looks like codecContexct doesn't grab properties of file.
[21:46:16 CEST] <JEEB> that can be dynamic anyways, so you always want to decode an AVFrame before initializing any filtering
[21:46:51 CEST] <JEEB> the AVFrame will then contain various information about the input
[21:47:24 CEST] <JEEB> think of the case where you have a broadcast audio track that in the middle switches from stereo to 5.1
[21:47:27 CEST] <JEEB> and then back
[21:47:34 CEST] <JEEB> AVFrames will have that info
[21:48:27 CEST] <shfil> can you judge what should I change in this code? https://gist.github.com/ShFil119/ebd0cf30632c89aa393913b1abf52594
[21:50:48 CEST] <shfil> (been trying implement as in working examples)
[21:50:50 CEST] <JEEB> after you init the decoder, try doing avcodec_parameters_to_context as well with the created context and the params
[21:51:35 CEST] <JEEB> also yea, don't try to probe from the context's stuff
[21:51:42 CEST] <JEEB> you have to decode an audio frame
[21:51:59 CEST] <JEEB> and see what comes in, and preferably since you're doing resampling you can just do X->stereo
[21:52:16 CEST] <JEEB> and generally you want to keep output sample rate static
[21:52:53 CEST] <JEEB> so just set your output sample rate, channel layout and sample format
[21:53:11 CEST] <JEEB> and otherwise take from the AVFrame
[21:53:43 CEST] <JEEB> yea, it even has the sample rate for audio there in the decoded AVFrame
[21:55:52 CEST] <shfil> about first line just - just call `avcodec_parameters_to_context(codecContext, audioStream->codecpar)` once more?
[21:56:05 CEST] <JEEB> oh I missed it?
[21:56:12 CEST] <JEEB> I didn't notice it in the gist
[21:56:32 CEST] <JEEB> right, because I was ctrl+F'ing "copy" for some reason before looking at the docs
[21:58:41 CEST] <shfil> so it's enough? thx for suggestion about grabbing info from frame
[21:59:04 CEST] <shfil> or setting static setting
[22:01:30 CEST] <JEEB> yea, since you usually know your output "I want it stereo, xx kHz, in this sample format"
[22:03:09 CEST] <JEEB> also look at https://www.ffmpeg.org/doxygen/trunk/swresample_8h.html
[22:03:15 CEST] <JEEB> the part "AVFrame based API"
[22:03:40 CEST] <JEEB> since you most likely want to wait until you get AVFrames out of your decoder to know what's coming, that should be pretty useful
[22:04:07 CEST] <JEEB> esp. since you can (re)configure the SwrContext with them too
[22:14:16 CEST] <shfil> I've changed this way: https://gist.github.com/ShFil119/ebd0cf30632c89aa393913b1abf52594/revisions
[22:15:46 CEST] <shfil> but still doesn't play wav and mp3 sounds like channels alternately
[22:17:20 CEST] <JEEB> also why are you looking for the default channel layout for something that already has a layout? I think that function was meant to take in channel count?
[22:17:55 CEST] <JEEB> (and still, I would really prefer you taking those values from the AVFrame in case those values weren't yet set in the AVCodecContext
[22:19:43 CEST] <shfil> 1) you mean `resampled->channel_layout = av_get_default_channel_layout(OUTPUT_CHANNELS);` to `resampled->channel_layout = OUTPUT_CHANNELS;`
[22:19:55 CEST] <JEEB> no
[22:20:06 CEST] <JEEB> `av_get_default_channel_layout(codecContext->channel_layout), // input`
[22:20:07 CEST] <shfil> swr_alloc_set_opts?
[22:20:23 CEST] <JEEB> that kind of looks weird, but I was going to check the doxy
[22:20:33 CEST] <shfil> ah ok.
[22:21:10 CEST] <JEEB> "av_get_default_channel_layout (int nb_channels)"
[22:21:19 CEST] <JEEB> > int nb_channels
[22:21:25 CEST] <shfil> fixed ;)
[22:22:02 CEST] <shfil> 2) setting ops after avcodec_receive_frame
[22:22:03 CEST] <shfil> ?
[22:22:16 CEST] <shfil> *opts
[22:22:19 CEST] <JEEB> yes, you can call the AVFrame api for config
[22:22:35 CEST] <JEEB> I think you can feed it a dummy output AVFrame with the output params set too
[22:22:49 CEST] <JEEB> so it will then (re)configure the swresample context
[22:23:32 CEST] <faLUCE> hello. How can I check if ffmpeg is compiled with networking support?
[22:23:42 CEST] <JEEB> ffmpeg -protocols
[22:25:33 CEST] <JEEB> also this is output at the end of the configure script when you build FFmpeg
[22:28:45 CEST] <faLUCE> ok
[22:38:18 CEST] <shfil> sample_fmt has to be also set for swrContext?
[22:38:31 CEST] <JEEB> most likely
[22:38:37 CEST] <JEEB> at least hte output one
[22:38:50 CEST] <JEEB> that should also get configured by the AVFrame API though I think?
[22:39:05 CEST] <JEEB> you decode a frame of audio, that has a sample_fmt
[22:48:55 CEST] <shfil> weird with these changes, no sound :(
[22:48:57 CEST] <shfil> https://gist.github.com/ShFil119/ebd0cf30632c89aa393913b1abf52594/revisions
[22:49:03 CEST] <faLUCE> ciao rcdilorenzo ;-)
[22:50:10 CEST] <JEEB> yea not sure if that API is avopt based...
[22:50:26 CEST] <JEEB> and you were already using swr_config_frame
[22:50:33 CEST] <JEEB> which takes in AVFrames
[22:51:32 CEST] <d-safinaskar> i trying to write C code, which converts sequence of RGB frames into YUV4MPEG2 video
[22:51:47 CEST] <d-safinaskar> just as a excersize
[22:52:00 CEST] <d-safinaskar> so the program not nessesary should be production quality
[22:52:26 CEST] <d-safinaskar> so i don't care about gamma translation
[22:52:34 CEST] <d-safinaskar> about linear vs non-linear rgb
[22:53:07 CEST] <d-safinaskar> i just need red to look similar to red (not-nessesary exact red, something similar to red will go)
[22:53:11 CEST] <shfil> JEEB when using also only swr_config_frame also no sound.
[22:53:15 CEST] <d-safinaskar> green look similar to green etc
[22:53:21 CEST] <d-safinaskar> so, how to do this?
[22:53:51 CEST] <d-safinaskar> of course, the most important place is actual converting rgb into YCbCr
[22:53:59 CEST] <d-safinaskar> what formula i should use?
[22:54:14 CEST] <JEEB> shfil: for the reference I have no idea if you need to initial-configure swresample and I kind of have no idea how your values were set. I've only done resampling with avfilter myself (which then utilizes swresample in the background)
[22:54:22 CEST] <d-safinaskar> in this particular case, i. e. rgb (for example, ppm) to yuv4mpeg2
[22:54:25 CEST] <JEEB> although in theory since swresample has that nice AVFrame API
[22:54:35 CEST] <JEEB> so you should be capable of doing things
[22:54:51 CEST] <d-safinaskar> i tried this formula: https://stackoverflow.com/a/7086872 , but it converts white into green :(
[22:55:23 CEST] <JEEB> d-safinaskar: libavfilter can handle that for you with either the scale filter (good for basic stuff), or zimg filter (for various very specifics) - most likely you will have the first one and not the second one built in so go with the scale filter
[22:55:30 CEST] <JEEB> then you get raw AVFrames with that
[22:55:58 CEST] <JEEB> and I'm actually not 100% sure what's the correct way to then pass those to the y4m muxer since that then wants AVPackets
[22:56:21 CEST] <JEEB> for examples there are various examples under doc/examples
[22:56:35 CEST] <JEEB> additionally googling with "site:ffmpeg.org doxygen trunk KEYWORD" is generally useful
[22:56:42 CEST] <JEEB> since that should bring up related documentation
[22:56:54 CEST] <JEEB> (always start with the "trunk" [master] documentation)
[23:01:22 CEST] <d-safinaskar> JEEB: so, you recommend using libavfilter?
[23:01:29 CEST] <d-safinaskar> JEEB: you didn't understand me
[23:01:41 CEST] <d-safinaskar> JEEB: i want to write C code from stratch without any libs
[23:01:50 CEST] <d-safinaskar> JEEB: think about this as an excersize
[23:01:54 CEST] <JEEB> and you came to #ffmpeg for that?
[23:02:07 CEST] <JEEB> of course you are going to get things on how to do that with the FFmpeg APIs
[23:02:12 CEST] <d-safinaskar> JEEB: i think here are people good at computer graphics
[23:02:14 CEST] <JEEB> you can of course NIH all you want
[23:02:22 CEST] <d-safinaskar> JEEB: what channel i should use instead?
[23:03:13 CEST] <JEEB> if you really want to write it yourself, you could start looking at all the alternative colorspaces/primaries/transfer functions etc in zimg or libplacebo
[23:03:36 CEST] <JEEB> those generally I think have the values from the specs
[23:04:14 CEST] <JEEB> of course you could just hard-code "this crap produces" BT.709/BT.709/gamma
[23:04:28 CEST] <JEEB> (move end of the quote at the end)
[23:41:26 CEST] <shfil> is it possible that codecContext and frame doesn't contain information about nr of channels and layout? if I set input as mono with one channel it produces weird sound but works
[23:42:49 CEST] <JEEB> if you actually get a frame decoded it most definitely should have
[23:44:11 CEST] <JEEB> https://www.ffmpeg.org/doxygen/trunk/group__lavc__encdec.html
[23:44:18 CEST] <JEEB> overview of the dec/enc api
[23:51:01 CEST] <shfil> with mp3(stereo) ok, but with mono wav looks like layout is uninitialized.
[23:51:23 CEST] <JEEB> right, I think there was a value which said "unknown" and then you could use the "get default" thing
[23:52:41 CEST] <JEEB> seems like zarro is such a value
[23:53:57 CEST] <JEEB> so if zero, get default layout for that amount of channels
[23:54:03 CEST] <JEEB> (and possibly warn in your logging)
[23:59:24 CEST] <shfil> yes, I have all sounds now, maybe do know why two channels are mixed into one and played much faster?
[00:00:00 CEST] --- Sun May 27 2018
1
0