Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
September 2019
- 2 participants
- 80 discussions
[05:41:53 CEST] <tmm1> started adding a/53 cc sei to h264_vaapi but not working yet: https://gist.github.com/tmm1/cf7d047f8f2ad591f865647cc7d4921c
[08:39:48 CEST] <rcombs> BtbN: philipl: so, I'm looking at how to do stuff currently done in OpenCL in CUDA, and I see two plausible routes
[08:40:14 CEST] <rcombs> either convert the CL to CUDA in a preprocessor pass similar to this: https://github.com/Guilhermeslucas/OpenCL2CUDA/blob/master/createCUDAapp.py
[08:41:35 CEST] <rcombs> or make some changes to the CL code that use macros to abstract away the differences (tbh the biggest thing is probably vector literals), and then build the same code under both
[08:44:08 CEST] <rcombs> like, #define READ_TEX1(src, x, y) read_imagef(src, sampler, (int2)(x, y)).x in CL and tex2D<float>(src, x, y) in CUDA
[08:46:36 CEST] <rcombs> (the obvious third option is to just duplicate all the code in CUDA but I feel like these languages are similar enough that it's worth avoiding duplication if we can)
[10:14:53 CEST] <black> Hello ! Does somebody know where the (h264)parser is called in ffmpeg.c ?
[10:21:46 CEST] <black> And if it is possible to modify ffmpeg.c's pipeline so that bistream filters could be applied before decoding ?
[10:27:56 CEST] <JEEB> it is possible of course
[10:28:24 CEST] <JEEB> parsers are called from demuxer usually
[10:28:49 CEST] <JEEB> so when you get AVPackets from an AVFormatContext you usually get them pre-parsed
[10:29:07 CEST] <JEEB> parsing mostly meaning stuff like parsing NAL units from a byte buffer f.ex. :P
[10:30:08 CEST] <JEEB> you'd have to make bsf as an option go for inputs as well, and then add the code to add the bit stream filtering on the correct side
[10:36:32 CEST] <JEEB> although depending on your use case you could do the same thing as what we do with the HDR SEIs f.ex.
[10:36:41 CEST] <JEEB> you set side data to the AVPackets and finally AVFrames
[10:36:48 CEST] <JEEB> and apply those wherever you need
[10:37:04 CEST] <JEEB> also please do not privately message me
[10:39:10 CEST] <black> The issue I am facing is that all the parameters I need to apply a bsf filter are not accessible at the beginning of the pipeline. But I am interested in what you do with HDR SEI. Is there already some code implemented ?
[10:40:22 CEST] <black> Getting SEI informations to AVPacket to AVFrame is exactly what I want to do.
[10:40:43 CEST] <JEEB> see AV_PKT_DATA_CONTENT_LIGHT_LEVEL
[10:40:50 CEST] <JEEB> as an example
[10:42:08 CEST] <JEEB> and AV_FRAME_DATA_CONTENT_LIGHT_LEVEL
[10:42:40 CEST] <JEEB> then for example the colorspace filter is reading that AVFrame side data
[10:50:54 CEST] <black> I am sorry but I am not able to find where it reads SEI NAL unit and adds new packet side data
[10:51:34 CEST] <JEEB> most likely inside libavcodec in cbs or so
[10:51:43 CEST] <JEEB> I tried to find it but it's all pretty templated
[11:03:35 CEST] <black> What did you mean by getting pre parsed NAL units in AVFormatContext ?
[11:09:35 CEST] <JEEB> that's the more higher-level parsing stuff which is used with containers that don't have packets already pre-available for you one after naother
[11:09:39 CEST] <JEEB> like MPEG-TS
[11:12:01 CEST] <durandal_1707> i profiled ffmpeg with Very Sleepy CS and it speend most of time in WaitForSingleObject, arround 50% thats where 2x slowdown comes
[11:15:02 CEST] <nevcairiel> ie. threading overhead
[11:15:51 CEST] <vel0city> I don't think 50% would come from overhead, sounds like ineffiecient multithreading
[11:16:18 CEST] <nevcairiel> thats just another way to describe too much overhead
[11:16:20 CEST] <vel0city> some threads finishing much earlier than all of them
[11:16:31 CEST] <durandal_1707> yea, looks like
[11:16:51 CEST] <vel0city> I don't think that's what overhead means but whatever, semantics
[11:17:09 CEST] <nevcairiel> also that wouldnt explain actually slowing down compared to single threading
[11:17:51 CEST] <durandal_1707> shouldn't it wait more smartly, by not consuming CPU like crazy
[11:18:02 CEST] <vel0city> @nevcairiel: oh, weird
[11:18:15 CEST] <nevcairiel> WaitForSingleObject is usually a non-busy wait
[11:18:39 CEST] <nevcairiel> waits for the signal to be set
[11:20:03 CEST] <vel0city> @durandal_1707: very sleepy CS isn't very useful for profiling multithreaded issues btw
[11:20:03 CEST] <durandal_1707> when inspecting how are workers getting spread accross CPUs, i noticed that sometimes it get 0 0 0 0 1 2 instead of 0 0 1 1 2 2 spread
[11:20:31 CEST] <durandal_1707> vel0city: that was simplest thing to setup
[11:20:45 CEST] <vel0city> yeah that's the upside
[11:21:06 CEST] <durandal_1707> eg. there are 3 threads and 6 jobs -- channels
[11:23:00 CEST] <vel0city> is that left up to the OS or does ffmpeg configure if via affinity?
[11:26:55 CEST] <vel0city> I don't see a SetThreadAffinityMask or pthread_setaffinity_np anywhere
[11:27:53 CEST] <durandal_1707> dunno, http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavutil/slicethread.c;h=df…
[11:28:32 CEST] <vel0city> yea seems like it's left up to the OS, which would explain it being inconsistent
[11:28:38 CEST] <BtbN> rcombs, if we can just copy that converter-script to the ffmpeg compat tree, I think I'd actually prefer that.
[11:29:12 CEST] <vel0city> I was part of a projects that micromanaged these affinities, if you do it correctly you can get lots of speedup (depending on the application of course)
[11:29:20 CEST] <nevcairiel> affinity problems should perhaps result in not-ideal performance, not a 50% slowdown
[11:29:55 CEST] <durandal_1707> the dsd2pcm code basically does convolution, with floats
[11:29:55 CEST] <vel0city> does this issue only happen on Windows? it's been known to have a worse scheduler overally than linux
[11:30:17 CEST] <vel0city> wouldn't explain it being 50% worse but I'm still curious
[11:30:32 CEST] <vel0city> overall*
[11:31:48 CEST] <nevcairiel> also slower on linux
[11:32:18 CEST] <nevcairiel> carl tested it yesterday iirc, and his numbers were quite similar
[11:32:22 CEST] <durandal_1707> on 4 cpus with hyperthreading it was also 50% slower
[11:33:50 CEST] <jkqxz> Have you fixed the CPU frequency? If you end up doing a little bit of stuff on each core sporadically then the dynamic frequency scaling stuff may screw you over compared to just using one core all the time.
[11:34:06 CEST] <rcombs> BtbN: there are definitely features that ffmpeg uses that that script doesn't handle
[11:34:16 CEST] <BtbN> hm
[11:34:47 CEST] <BtbN> How much of a mess would a CL/CUDA compat header be? And what if someone comes up with a new filter that uses significantly more features?
[11:35:16 CEST] <BtbN> Specially as the majority of CL authors probably don't have nvidia hardware
[11:35:16 CEST] <rcombs> worst-case, that filter would only support one or the other ¯\_(Ä)_/¯
[11:35:24 CEST] <rcombs> no worse than now
[11:35:37 CEST] <rcombs> like, it wouldn't preclude writing CL-only code
[11:36:14 CEST] <vel0city> @durandal_1707: you could try VTune
[11:36:43 CEST] <rcombs> I don't think the header would be too bad, but I haven't tried to do it yet, so it's hard to be sure
[11:37:26 CEST] <vel0city> I think you'd need to build via VS though
[11:38:45 CEST] <rcombs> durandal_1707: have you profiled yet
[11:39:19 CEST] <rcombs> oh, scrolled up, I see you did
[11:39:46 CEST] <nevcairiel> well, benchmarking MT issues with such simple tools gives you hard to interpret data
[11:39:47 CEST] <BtbN> rcombs, I got my Nvidia-Box revived, via external ATX power supply. So I'll be able to test stuff once I got it up to date again.
[11:39:56 CEST] <rcombs> it's pretty common for short condition waits to spin
[11:40:43 CEST] <nevcairiel> perfect MT profiling probably needs instrumentation
[11:40:46 CEST] <rcombs> I'm not sure if profiling tools count context switch time towards time spent in a function
[11:42:34 CEST] <BtbN> rcombs, are you planning on submitting a version of the clang patch with different configure behaviour, or should I change it and post the new version to the ML?
[11:44:37 CEST] <durandal_1707> i downloaded VS 2019 on Windows 7, is that sane? perhaps i need older version?
[11:44:42 CEST] <rcombs> BtbN: which different behavior? like, making it autodetect?
[11:46:15 CEST] <BtbN> rcombs, auto-detect, and nvcc non-nonfree
[11:46:43 CEST] <rcombs> non-nonfree feels like a separate commit
[11:59:05 CEST] <durandal_1707> how i set path libs and etc for MSVC inside mingw32 tty?
[12:01:16 CEST] <BtbN> iirc it also takes -L
[12:02:01 CEST] <BtbN> rcombs, fair. But imo clang should be autodetected. And that also implies a configure-time feature-check if the clang binary even can produce nvptx.
[12:02:23 CEST] <rcombs> there's already one of those
[12:03:31 CEST] <nevcairiel> the best way to build with MSVC is to start a MSVC build prompt (it should've made shortcuts for you for that in the start menu, I think), which will setup the environment so that MSVC works, and from that windows shell then run mingw bash, so it inherits the fully setup MSVC environment
[12:03:35 CEST] <BtbN> oh yeah, check_nvcc should cover that
[13:39:26 CEST] <durandal_1707> what this means: Unable to obtain debug information. Link with the /PROFILE linker switch.
[13:41:17 CEST] <kierank> durandal_1707: why don't you install basic Linux distro
[13:41:35 CEST] <kierank> Or sign up to free Amazon trial for server
[13:42:24 CEST] <durandal_1707> i can not, sir, please help me!
[14:02:51 CEST] <durandal_1707> i figured it!
[14:15:08 CEST] <nevcairiel> or get windows 10 and WSL as a last resort =p
[14:56:11 CEST] <Lynne> who at intel thought it would be a good idea to have the src of vpermps accept memory and not the mask?
[14:59:00 CEST] <Lynne> and yet vpermilps accepts memory as mask
[14:59:17 CEST] <jamrial> one mask for a long array of source bytes in memory is probably the most common usage for it
[14:59:44 CEST] <J_Darnley> too few bits to allow memory for both? created for a specific/narrow purpose?
[15:12:10 CEST] <durandal_1707> http://0x0.st/zfwW.png
[15:13:41 CEST] <nevcairiel> if its spending so much time sleeping, maybe the threading isnt actually working, and you need to somehow allow it to process in parallel
[16:24:20 CEST] <Lynne> durandal_1707: do you think av_tx could be used in showcqt?
[16:25:28 CEST] <durandal_1707> Lynne: yes, with SIMD, why not?
[16:26:06 CEST] <Lynne> yes, unchanged, but I'm asking if it can be optimized more if it used a non ptwo transform
[16:26:32 CEST] <Lynne> since cqt_len is resolution dependent which is usually 1920, 1280, etc all of which can be done by av_tx
[16:26:41 CEST] <durandal_1707> ask original author
[16:27:11 CEST] <durandal_1707> i'm not much into its log transform
[16:56:25 CEST] <Lynne> looked into it, would be able to optimize non-default timeclamp values
[16:56:54 CEST] <Lynne> currently it uses the nearest bigger power of two transform sized samplerate * timeclamp
[16:57:39 CEST] <Lynne> so for 48000 * 0.09 = ~4320, but has to use 8192, doing a lot more work
[17:00:30 CEST] <Lynne> but won't be any faster without simd
[18:27:46 CEST] <jamrial> have we ever changed what kind of extradata a given codec propagates between lavc and lavf before?
[18:28:04 CEST] <jamrial> would it require anything other than just a major bump? is it considered an api change?
[18:30:36 CEST] <Lynne> some game codecs if at all, I don't think anything else
[19:29:44 CEST] <durandal11707> simple av_usleep() shows that issue is not in slice threading implementation
[20:07:37 CEST] <mkver> jamrial: I don't know if someone else alreay mentioned it, but your patch 7 also contains a typo: "writting"
[20:08:12 CEST] <jamrial> mkver: thanks, changed locally
[20:11:53 CEST] <durandal11707> could slowdown be caused by hyperthreading?
[20:38:22 CEST] <cone-180> ffmpeg 03Michael Niedermayer 07master:da5039415c2b: avformat/mpc: deallocate frames array on errors
[20:38:22 CEST] <cone-180> ffmpeg 03Michael Niedermayer 07master:267eb2ab7f87: avcodec/apedec: Fix multiple integer overflows and undefined behaviorin filter_3800()
[20:38:22 CEST] <cone-180> ffmpeg 03Michael Niedermayer 07master:bf778af1493b: avcodec/apedec: make left/right unsigned to avoid undefined behavior
[20:38:22 CEST] <cone-180> ffmpeg 03Michael Niedermayer 07master:1aad8937f73f: avcodec/apedec: Make coeffsA/B uint32_t, this avoids several cases of undefined behavior
[20:38:22 CEST] <cone-180> ffmpeg 03Michael Niedermayer 07master:9a353ea87662: avcodec/truemotion2: Fix several integer overflows in tm2_motion_block()
[20:38:22 CEST] <cone-180> ffmpeg 03Michael Niedermayer 07master:f31ed8f3b00e: avcodec/vc1_block: Fix integer overflow in ff_vc1_pred_dc()
[20:38:22 CEST] <cone-180> ffmpeg 03Michael Niedermayer 07master:6dfda35dd29d: avcodec/vc1_pred: Fix invalid shift in scaleforsame()
[20:38:23 CEST] <cone-180> ffmpeg 03Michael Niedermayer 07master:42a2edcc1d77: tools/target_dec_fuzzer: fix memleak of extradata
1
0
[04:20:11 CEST] <lucas_ai> I have raw h264 frames. Just the frames. No container. I have them in python. How could I decode them to get RGB frames? I can't find any way to do this in python :(
[04:35:04 CEST] <lucas_ai> ILoveYaToo ivan^ ilove11ven illuminated igitoor Jaex jab416171 irwiss ivan_b__ interruptinuse Icedream HexGlaze justinmrkva julesverne jpabq jpf1 jlut hfjvjffju jkqxz Jonno_FTW jkhsjdhjs jimbankoski_____ jiffe jarryd jerome- infojunky infinite ikonia ihavenohead Jikan JEEB jarainf hrvoje hreinnbeck Janhouse HostileButtplug hoek jya hendry aib Ahti
[04:35:04 CEST] <lucas_ai> 333 ackjewt Asterisk barhom __jack__ @ michaelni_ __4matter_ ]R[ [mbm] @ TimothyGu barg angular_mike amosbird ammen99_ alyawn Alina-malina balrog alex88 Aerroon AiNA_TE Accord _0x5eb_ acDC abranson [-T-] @ ubitux @ `md ashka _McGuyver Abbott @ superdump anolir Arwalk @ durandal_1707 arooni Arokh _nd_ another beaky bencoh Benjojo AssPirate bendikrb
[04:35:05 CEST] <lucas_ai> bofty123 bodqhrohro_ blb bray90820 blinky42 benwilber BhaveshSGupta Bombo Bruc3Wayn3 cantstanya c3r1c3-Lin c3r1c3-Win BtbN c_14 CarlGel Case_Of Chocobozzz chauffer cedra charlymp Cecil CARAM_______ cc0 daddesio dan2wik dairo[m] dashcom CyberShadow circuitbone cryptodechange ddevault cstk421 cowai dakar Cork CoreX D-ion CounterPillow Cldfire cj deet
[04:35:05 CEST] <lucas_ai> welve degenerate DDRBoxman DHE dilm__ decay Dimtree dingwat debianuser dexterfoo diverger diamondman dreamon__ dongs drv esby ePirat Elysion egrouse Ekho dv_ dlb76 dustinm` Exagone313 Etrigan63 esspapier foonix fpihl flying_sausages furq Freneticks friki fidothe fredgido__ fsphil Flat fflogger8 foul_owl Fenrirthviti florens_ Fletcher GTAXL Fusl gre
[04:35:06 CEST] <lucas_ai> ypack glamas GRMrGecko gnfzdz G goiko graphitemaster ghost9999 Guest13721 giaco haasn Henry151 Hello71 hcit hanetzer Harzilein HakanIST Hackerpcs KodiakIT[m] klaxa KombuchaKip kevev Kray kpuc Kronuz kepstin kurosu koz_ kraft Kei_N kam187______ kode54 klow K1rk ketas Keshl k0f k-man llyyr lomancer leonardus LRN lemourin lucas_ai Lightsword limbo les
[04:35:06 CEST] <lucas_ai> derid leif lebster Kuufi_ lilac Kuukunen- Lypheo Lynne luminarys lullerhaus Matador marso MasterPrenium maseck Martchus mateo` mac_nibblet m1dnight_ Maverick|MSG matthiaskrgr mete MatthewAllan93 mickael-kerjean3 meepmeep microchip_ mifritscher milek7 mayanksha meiamsome microcolonel mauz555 matteo Mavrik MightyBOB moser moreentropy[m] mlok MoziM mi
[04:35:07 CEST] <lucas_ai> stym mosh mozzarella mlk monokrome misuto mindfreeze miyalys Nitori nicoulaj nicolaus MrRobot7 noahmg123 MrNaz nfobot n000g nitroxis netrace nate nimaje nicolas17 Myrsloik NitrousPG nickster Muzer mundus pa[m] ossifrage Nothing4You pa Numline1 ocrete ntrrgc nullptr| ParkerR ootje Orphis ohnx Orochimarufan nyuszika7h nyaomi NoNet nurupo olspookishma
[04:35:07 CEST] <lucas_ai> gus nutron|w preece ponyrider Priapus PharaohAnubis peloverde Peetz0r podman pkx pl44c pinPoint poutine pomaranc pink_mist plitter pikapika phunyguy ps-auxw ravndal random_yanek relaxed qeed qacky pzy rcombs Redfoxmoon pzich q66 rav0 q-u-a-n3 raytiley rocktop rjeli ritsuka Rodn3y rkantos Ristovski rjp421 Rhvs ring0 ribasushi riemann Retal rom1v Sil
[04:35:08 CEST] <lucas_ai> icium Shibe scubacuda shodan45 Soni snooky sim590 sbraz runawayfive shivamgoyal skunkworks rrva roxlu sfan5 saml snatcher SingingTree_ s00pcan rossome technick SpeakerToMeat techietrash tempora storrgie termos tdr telex Tachyon TD-Linux tbrowder taliho StalkerRiga stanford_ai sonicrocketman t4c0c4t st-gourichon-fid trn th3_v0ice tommy`` tomaw Tries
[04:35:08 CEST] <lucas_ai> te theholyduck tmatth TheSashmo Trel TheRyuu Thomas_J tobbez trfl ThugAim TheLink TheAMM unlord Ultima TSaari tvsutton Umori ullbeking tth w1kl4s urluck vorteg80987 waldhar w1d3m0d3 void09 victorqueiroz viv`d vincent43 Velgor user890104 utack UukGoblin upperechelon wcpan wyatt8740 wiak Wessie waveframe wonchul whitekidney Whiskey wizonesolutions wo
[04:35:09 CEST] <lucas_ai> rstadmin wonchul[m] wget wedmisten xnco x0908d3b2 xcm Yuyu0 yaowu xlei xantoz xxzz^ YamashitaRen_ YamashitaRen Yamakaja_ Xiretza zeromind znf zyme Zuccace
[04:35:19 CEST] <Fenrirthviti> cool story.
[04:35:21 CEST] <CarlGel> fuck off.
[04:35:24 CEST] <MightyBOB> _
[04:35:29 CEST] <rcombs> tfw no +o
[04:35:37 CEST] <lucas_ai> I have raw h264 frames. Just the frames. No container. I have them in python. How could I decode them to get RGB frames? I can't find any way to do this in python :(
[04:35:37 CEST] <hanetzer> bleh
[04:35:39 CEST] <nyaomi> we doing this again?
[04:35:41 CEST] <CarlGel> oh hey it's rcombs, i know you
[04:35:56 CEST] <CarlGel> i knew you were everywhere
[04:36:20 CEST] <lucas_ai> How am I supposed to decode ffmpeg frames?
[04:36:26 CEST] <CarlGel> rtfm
[04:36:29 CEST] <nyaomi> you don't
[04:36:31 CEST] <lucas_ai> sorry, I mean h264 frames
[04:36:35 CEST] <technick> GB:B *(
[04:36:35 CEST] <CyberShadow> use a real programming language
[04:36:36 CEST] <lucas_ai> without any container file
[04:36:45 CEST] <lucas_ai> any language is fine for this
[04:36:47 CEST] <MightyBOB> thereisnospoon.jpg
[04:36:49 CEST] <c3r1c3-Win> Given the random name spamming, I wouldn't tell even if I did know.
[04:36:51 CEST] <nyaomi> by not flooding the irc channel you're looking for help in
[04:36:54 CEST] <technick> Waking me up...grrrrrr
[04:36:55 CEST] <noahmg123> lucas_ai: what the absolute f--- are you doing pinging everyone here?
[04:37:15 CEST] <nickster> lmaokillme
[04:37:18 CEST] <technick> Lucas must have had a stroke
[04:37:21 CEST] <kode54> for a second, I thought it was the return of the ping spam bots
[04:37:22 CEST] <kepstin> i could give you a reasonable answer, but i won't because of the ridiculous spam.
[04:37:26 CEST] <nicolas17> ditto
[04:37:27 CEST] <rcombs> I do know the answer but I want you out of this channel right now
[04:37:35 CEST] <nyaomi> kode54: same
[04:37:39 CEST] <nyaomi> gave me a tiny heart attack
[04:37:43 CEST] <technick> I concur
[04:37:53 CEST] <lucas_ai> I just need to decode h264 frames. they're all in an array, where each element is a bytearray containing the frame in h264
[04:37:58 CEST] <nicolas17> I don't care
[04:38:02 CEST] <technick> Go away lucas_ai
[04:38:08 CEST] <noahmg123> Answer the question. Why did you ping all of us?
[04:38:11 CEST] <lucas_ai> I think there is no way to do this on PC. only on mobile
[04:38:25 CEST] <lucas_ai> because PC does not support h264 unless inside a container file like mp4
[04:38:28 CEST] <technick> And get a real IRC client
[04:38:35 CEST] <lucas_ai> noahmg123 to get a response
[04:38:41 CEST] <nicolas17> ffmpeg doesn't have "PC" and "mobile" versions
[04:38:48 CEST] <rcombs> well you're getting _a_ response
[04:38:52 CEST] <rcombs> it's just "fuck you"
[04:38:56 CEST] <lucas_ai> yeah, ffmpeg can't decode h264 without a container file
[04:38:58 CEST] <noahmg123> lucas_ai: that... goes against all social norms in general
[04:39:03 CEST] <lucas_ai> only mobiles can do this I think
[04:39:16 CEST] <technick> Yes only Mobile, now please leave
[04:39:31 CEST] <nyaomi> lmao
[04:39:35 CEST] <nicolas17> y'all need better timezone coverage of ops
[04:39:43 CEST] <lucas_ai> Android has a Media Decoder which can decode h264... instead, ffmpeg can ONLY decode if it's inside an mp4 file...
[04:40:01 CEST] <stanford_ai> Yes, I concur
[04:40:09 CEST] <noahmg123> lucas_ai: next time, as your question and wait for a response. That's how this is supposed to work.
[04:40:15 CEST] <Fenrirthviti> YOu need to run an inversion matrix on the 8th bit.
[04:40:28 CEST] <technick> And reboot afterwards
[04:40:30 CEST] <stanford_ai> lucas_ai ffmpeg does not support h264 decoding... only mp4
[04:40:31 CEST] <nicolas17> you angered all 440 people in the channel and you're still expecting help
[04:40:34 CEST] <noahmg123> Pretty much one wants to help you now, because you were rude.
[04:40:42 CEST] <lucas_ai> stanford_ai oh, that makes sense. what do I use then?
[04:40:49 CEST] <CarlGel> recommendation: uninstall
[04:40:54 CEST] <stanford_ai> lucas_ai you can only use Android's native libraries or iOS ones
[04:40:59 CEST] <nicolas17> and all answers you'll get are trolling :P
[04:41:15 CEST] <CarlGel> stanford_ai lucas_ai why are you talking to yourself?
[04:41:24 CEST] <CarlGel> you realise you have the same mask right?
[04:41:26 CEST] <lucas_ai> ?
[04:41:37 CEST] <lucas_ai> it's my coworker
[04:41:42 CEST] <noahmg123> "_ai"
[04:41:57 CEST] <noahmg123> then fucking PM your coworker
[04:42:02 CEST] <noahmg123> This isn't Slack
[04:42:21 CEST] <stanford_ai> I had the same problem before... it's not possible to decode H264 directly with just ffmpeg... it's meant only for common videos like mp4... not for raw h264
[04:42:28 CEST] <CarlGel> I typically assume anybody that has the same ip and user are the same person
[04:43:08 CEST] <lucas_ai> but people online claim that ffmpeg supports decoding h264... is it false?
[04:43:15 CEST] <nicolas17> CarlGel: unfortunately the devil invented NAT
[04:43:16 CEST] <nyaomi> okay lucas_ai, i'm seriously confused, you know your coworker is here and you pinged literally everyone instead of just them?
[04:43:21 CEST] <kepstin> only h263 and h265, no h264.
[04:43:26 CEST] <nicolas17> lol
[04:43:34 CEST] <noahmg123> stanford_ai lucas_ai if you're both coworkers you can both talk somewhere privately about the issue. No need to have this talk in a public space where everyone already doesn't like you.
[04:43:44 CEST] <stanford_ai> lucas_ai yes, they're actually lying. what ffmpeg supports is mp4 with h264 encoding. it does NOT decode h264... it's a very basic and incomplete project
[04:43:45 CEST] <rcombs> ffmpeg only supports MPEG video, obviously
[04:43:46 CEST] <CarlGel> while fair, it's *pretty rare* on IRC ;)
[04:43:49 CEST] <rcombs> why do you think it's called that
[04:43:55 CEST] <kode54> it does decode raw h.264
[04:44:04 CEST] <kode54> but I don't feel like telling you how
[04:44:24 CEST] <furq> are you fakenicking to talk shit about the project so we'll feel compelled to defend it
[04:44:30 CEST] <furq> that's pretty smart
[04:44:34 CEST] <CyberShadow> it's basic bait
[04:44:46 CEST] <stanford_ai> kode54 no, that's false. it decodes rtsp but not pure h264
[04:44:54 CEST] <rcombs> I do have to admit this is some of the best-quality IRC drama I've ever seen
[04:45:04 CEST] <furq> i'm decoding raw h264 with ffmpeg right now
[04:45:06 CEST] <furq> it feels great
[04:45:09 CEST] <rcombs> some really great distributed trolling
[04:45:19 CEST] <stanford_ai> furq there are a lot of liars like you online
[04:45:23 CEST] <nyaomi> rcombs: ikr
[04:45:27 CEST] <technick> Someone should submit this to bash.org
[04:45:32 CEST] <nyaomi> so many plot developments
[04:45:33 CEST] <lucas_ai> furq yeah, they all pretend they do that but actually they're decoding mp4
[04:45:44 CEST] <nicolas17> what do you think mp4 is?
[04:45:52 CEST] <furq> it's like mp3 but one better
[04:46:05 CEST] <MightyBOB> ^
[04:46:14 CEST] <nicolas17> according to device marketers, you're right
[04:46:15 CEST] <lucas_ai> nicolas17 mp4 is a container format. it's not just h264
[04:46:21 CEST] <nicolas17> "mp4 player" is a better "mp3 player"
[04:46:21 CEST] <technick> mp4 is related to the german erotica mobile protocol
[04:46:30 CEST] <technick> 4th revision of course
[04:46:34 CEST] <furq> check this out: mp5
[04:46:35 CEST] <noahmg123> I'm partial to mp69, myself
[04:46:36 CEST] <furq> whoa!
[04:46:42 CEST] <kode54> again, remind me of what format that the x264 tool outputs? I don't recall if it bothered to produce a container
[04:47:08 CEST] <MightyBOB> It's like 5G wireless. Definitely better than 4G. It's an entire extra G.
[04:47:13 CEST] <stanford_ai> ffmpeg is very primitive... it only decodes from mp4 and container formats... never raw h264
[04:47:18 CEST] <furq> x264 can mux into mp4 or mkv nowadays
[04:47:23 CEST] <nicolas17> stanford_ai: I can't tell if you're trolling anymore
[04:47:26 CEST] <kode54> yeah, troll
[04:47:29 CEST] <furq> but by default it outputs an h264 es
[04:47:30 CEST] <technick> no troll
[04:47:34 CEST] <rcombs> if you want to decode H264 you have to use x264
[04:47:57 CEST] <technick> Or BeOS
[04:47:59 CEST] <stanford_ai> x264 is for encoding
[04:48:18 CEST] <rcombs> no what do you think the x stands for
[04:48:21 CEST] <rcombs> it eXtracts h.264
[04:48:23 CEST] <stanford_ai> for decoding you can only do that on android or iOS with the "h264/avc" option
[04:48:48 CEST] <nicolas17> https://media.discordapp.net/attachments/304805044241563658/606289936764633…
[04:48:50 CEST] <lucas_ai> stanford_ai yeah, that's what I thought
[04:49:44 CEST] <furq> well if nothing else i've never seen this channel so busy
[04:50:02 CEST] <noahmg123> stanford_ai, lucas_ai, why do you both have "_ai"?
[04:50:09 CEST] <technick> true, it's pretty chill normally
[04:50:12 CEST] <lucas_ai> noahmg123 we work in the same department
[04:50:16 CEST] <MightyBOB> They're trying to pass a turing test.
[04:50:20 CEST] <nicolas17> go talk to each other privately
[04:50:23 CEST] <stanford_ai> yeah, roomies :)
[04:50:26 CEST] <nicolas17> maybe in person
[04:50:28 CEST] <kepstin> noahmg123: they're both artificial intelligences running on the same compute cluster
[04:50:37 CEST] <technick> kids don't talk to each other in person these days
[04:50:39 CEST] <noahmg123> lucas_ai: the AI department?
[04:50:49 CEST] <technick> they text and tinder each other
[04:50:56 CEST] <lucas_ai> it's a secret project
[04:51:06 CEST] <furq> kids these days
[04:51:09 CEST] <lucas_ai> but basically, ffmpeg seems to be broken/lacking
[04:51:14 CEST] <furq> when i was a lad, if you wanted to talk to your flatmate, you used msn instant messenger
[04:51:36 CEST] <technick> I had to meet some folks at defcon to deliver badges I made and getting them on the phone was like pulling teeth. They would text and twitter me but never answer the phone.
[04:51:41 CEST] <nicolas17> you're both very wrong, but you annoyed everyone by pinging them so we won't tell you why you're wrong
[04:51:43 CEST] <stanford_ai> yeah, we work in different offices
[04:52:07 CEST] <rcombs> yes ffmpeg is very incomplete, if you want to add this functionality please send a patch to the mailing list
[04:52:09 CEST] <stanford_ai> nicolas17 sounds like we're right the
[04:52:11 CEST] <stanford_ai> then
[04:52:19 CEST] <noahmg123> lucas_ai: may I recommend slack.com/download. Or maybe Facebook Messenger. Telegram. WhatsApp. Or FUCKING TEXTING EACH OTHER.
[04:52:24 CEST] <stanford_ai> rcombs no, it's an old package
[04:52:32 CEST] <nicolas17> stanford_ai: you're trying to bait us into answering :P
[04:52:37 CEST] <stanford_ai> noahmg123 damn you're antisocial
[04:52:44 CEST] <noahmg123> You have a zillion different ways to contact each other that doesn't involve us listening to your bullshit.
[04:52:54 CEST] <kepstin> at this point we've probably screwed around so much that you probably wouldn't believe anyone here if they gave the right answer, so... :)
[04:53:10 CEST] <stanford_ai> right answer to what?
[04:53:12 CEST] <technick> Can we ping an OP to kick them?
[04:53:17 CEST] <technick> kick+ban
[04:53:19 CEST] <rcombs> he already pinged them all
[04:53:20 CEST] <stanford_ai> I already told lucas that ffmpeg can't do this
[04:53:24 CEST] <rcombs> they're asleep, apparently
[04:53:37 CEST] <noahmg123> Why did Lucas ping all of us when Stanford was already here?
[04:53:39 CEST] <rcombs> did you try calling avformat_find_stream_info()?
[04:53:50 CEST] <CyberShadow> You all are assuming that a person with the audacity to ping everyone and then bait for answers is not lying about having a "coworker" with the exact same residential ISP IP
[04:54:02 CEST] <lucas_ai> rcombs yeah, but call it on what? there is no file
[04:54:23 CEST] <technick> lucas_ai, check out efnet, they have a lot of ffmpeg channels over there
[04:54:43 CEST] <rcombs> oh yeah to get the value to call it on you have to delete system32
[04:54:54 CEST] <nicolas17> if no op can kick them then we should start ignoring them... trolling got boring now
[04:54:59 CEST] <rcombs> without that folder your computer will stop acting like windows and you can use android-only features
[04:55:33 CEST] <lucas_ai> I'm using ubuntu
[04:55:36 CEST] <technick> rcombs, that's a hidden feature microsoft doesn't share
[04:55:58 CEST] <nicolas17> does ffmpeg have its own av1 decoder or what lib does it use?
[04:56:06 CEST] <kepstin> noahmg123: dav1d
[04:56:09 CEST] <stanford_ai> nicolas17 uses libav I think
[04:56:14 CEST] <kepstin> er, nicolas17 ^^
[04:56:26 CEST] Action: nicolas17 throws some /ignore's
[04:56:55 CEST] <noahmg123> kepstin: huh?
[04:57:05 CEST] <stanford_ai> ffmpeg can't decode these frames - because they're in h264
[04:57:08 CEST] <nicolas17> wrong nick highlight :)
[04:57:13 CEST] <kepstin> noahmg123: sorry, pinged you by accident, was too lazy with the tab complete
[04:58:19 CEST] <furq> well at least this is better than that guy with 500 nicks who comes in twice a day and asks "which is best wmv or quicktime"
[04:58:33 CEST] <furq> and then asks the same question again but with an additional question mark
[04:58:58 CEST] <lucas_ai> furq I can come again tomorrow
[04:59:04 CEST] <lucas_ai> with extra question marks
[04:59:09 CEST] <kepstin> dav1d could have been part of ffmpeg, but i guess browser authors and whatnot wanted to be able to use it without the rest of ffmpeg like is needed with ffvp9
[04:59:19 CEST] <stanford_ai> lucas_ai don't bother, ffmpeg is deprecated now
[04:59:33 CEST] <kepstin> (also it's bsd licensed rather than lgpl)
[04:59:54 CEST] <furq> actually stanford_ai i think you'll find that is incorrect
[04:59:54 CEST] <rcombs> the ffmpeg and libav projects both claim to be the sole legitimate government of the entire korean peninsula
[04:59:57 CEST] <furq> ffmpeg is depreciated now
[05:00:05 CEST] <furq> it used to be worth $1,000 but now it is only worth $250
[05:00:07 CEST] <stanford_ai> oh, ok
[05:00:49 CEST] <nicolas17> hm, so my self-built ffmpeg can't decode av1 because I didn't have libdav1d... I didn't try it :P
[05:00:53 CEST] <stanford_ai> the difference between ffmpeg and libav is that libav can decode more formats
[05:01:02 CEST] <furq> wow really
[05:01:15 CEST] <stanford_ai> because ffmpeg is deprecated
[05:01:21 CEST] <furq> very cool!
[05:01:56 CEST] <stanford_ai> furq you can't decode h264 unless it has a container such as mp4
[05:02:03 CEST] <furq> you've already done that one
[05:02:06 CEST] <furq> where's your new material
[05:02:18 CEST] <lucas_ai> it won't change. it's just how ffmpeg works
[05:04:12 CEST] <MightyBOB> https://i.imgur.com/AbeOik6.jpg
[05:04:32 CEST] <lucas_ai> "ILoveYaToo ivan^ ilove11ven illuminated igitoor Jaex jab416171 irwiss ivan_b__ interruptinuse Icedream HexGlaze justinmrkva julesverne jpabq jpf1 jlut hfjvjffju jkqxz Jonno_FTW jkhsjdhjs jimbankoski_____ jiffe jarryd jerome- infojunky infinite ikonia ihavenohead Jikan JEEB jarainf hrvoje hreinnbeck Janhouse HostileButtplug hoek jya hendry aib Aht
[05:04:33 CEST] <lucas_ai> i333 ackjewt Asterisk barhom __jack__ @ michaelni_ __4matter_ ]R[ [mbm] @ TimothyGu barg angular_mike amosbird ammen99_ alyawn Alina-malina balrog alex88 Aerroon AiNA_TE Accord _0x5eb_ acDC abranson [-T-] @ ubitux @ `md ashka _McGuyver Abbott @ superdump anolir Arwalk @ durandal_1707 arooni Arokh _nd_ another beaky bencoh Benjojo AssPirate bendikrb
[05:04:33 CEST] <lucas_ai> bofty123 bodqhrohro_ blb bray90820 blinky42 benwilber BhaveshSGupta Bombo Bruc3Wayn3 cantstanya c3r1c3-Lin c3r1c3-Win BtbN c_14 CarlGel Case_Of Chocobozzz chauffer cedra charlymp Cecil CARAM_______ cc0 daddesio dan2wik dairo[m] dashcom CyberShadow circuitbone cryptodechange ddevault cstk421 cowai dakar Cork CoreX D-ion CounterPillow Cldfire cj dee
[05:04:34 CEST] <lucas_ai> twelve degenerate DDRBoxman DHE dilm__ decay Dimtree dingwat debianuser dexterfoo diverger diamondman dreamon__ dongs drv esby ePirat Elysion egrouse Ekho dv_ dlb76 dustinm` Exagone313 Etrigan63 esspapier foonix fpihl flying_sausages furq Freneticks friki fidothe fredgido__ fsphil Flat fflogger8 foul_owl Fenrirthviti florens_ Fletcher GTAXL Fusl gr
[05:04:34 CEST] <lucas_ai> eypack glamas GRMrGecko gnfzdz G goiko graphitemaster ghost9999 Guest13721 giaco haasn Henry151 Hello71 hcit hanetzer Harzilein HakanIST Hackerpcs KodiakIT[m] klaxa KombuchaKip kevev Kray kpuc Kronuz kepstin kurosu koz_ kraft Kei_N kam187______ kode54 klow K1rk ketas Keshl k0f k-man llyyr lomancer leonardus LRN lemourin lucas_ai Lightsword limbo le
[05:04:35 CEST] <lucas_ai> sderid leif lebster Kuufi_ lilac Kuukunen- Lypheo Lynne luminarys lullerhaus Matador marso MasterPrenium maseck Martchus mateo` mac_nibblet m1dnight_ Maverick|MSG matthiaskrgr mete MatthewAllan93 mickael-kerjean3 meepmeep microchip_ mifritscher milek7 mayanksha meiamsome microcolonel mauz555 matteo Mavrik MightyBOB moser moreentropy[m] mlok MoziM m
[05:04:35 CEST] <lucas_ai> istym mosh mozzarella mlk monokrome misuto mindfreeze miyalys Nitori nicoulaj nicolaus MrRobot7 noahmg123 MrNaz nfobot n000g nitroxis netrace nate nimaje nicolas17 Myrsloik NitrousPG nickster Muzer mundus pa[m] ossifrage Nothing4You pa Numline1 ocrete ntrrgc nullptr| ParkerR ootje Orphis ohnx Orochimarufan nyuszika7h nyaomi NoNet nurupo olspookishm
[05:04:36 CEST] <lucas_ai> agus nutron|w preece ponyrider Priapus PharaohAnubis peloverde Peetz0r podman pkx pl44c pinPoint poutine pomaranc pink_mist plitter pikapika phunyguy ps-auxw ravndal random_yanek relaxed qeed qacky pzy rcombs Redfoxmoon pzich q66 rav0 q-u-a-n3 raytiley rocktop rjeli ritsuka Rodn3y rkantos Ristovski rjp421 Rhvs ring0 ribasushi riemann Retal rom1v Si
[05:04:36 CEST] <lucas_ai> licium Shibe scubacuda shodan45 Soni snooky sim590 sbraz runawayfive shivamgoyal skunkworks rrva roxlu sfan5 saml snatcher SingingTree_ s00pcan rossome technick SpeakerToMeat techietrash tempora storrgie termos tdr telex Tachyon TD-Linux tbrowder taliho StalkerRiga stanford_ai sonicrocketman t4c0c4t st-gourichon-fid trn th3_v0ice tommy`` tomaw Trie
[05:04:37 CEST] <lucas_ai> ste theholyduck tmatth TheSashmo Trel TheRyuu Thomas_J tobbez trfl ThugAim TheLink TheAMM unlord Ultima TSaari tvsutton Umori ullbeking tth w1kl4s urluck vorteg80987 waldhar w1d3m0d3 void09 victorqueiroz viv`d vincent43 Velgor user890104 utack UukGoblin upperechelon wcpan wyatt8740 wiak Wessie waveframe wonchul whitekidney Whiskey wizonesolutions w
[05:04:37 CEST] <lucas_ai> orstadmin wonchul[m] wget wedmisten xnco x0908d3b2 xcm Yuyu0 yaowu xlei xantoz xxzz^ YamashitaRen_ YamashitaRen Yamakaja_ Xiretza zeromind znf zyme Zuccace"onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElementgetFormProfile @ onloadwff.js:71setFieldValue @ onloadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Unc
[05:04:38 CEST] <lucas_ai> aught TypeError: Cannot read property 'type' of undefined at e.setFieldValue (onloadwff.js:71) at HTMLFormElement.formKeydownListener (onloadwff.js:71)setFieldValue @ onloadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElementgetFormProfile @ onloadwff.js:71setFieldValue @ on
[05:04:38 CEST] <lucas_ai> loadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined at e.setFieldValue (onloadwff.js:71) at HTMLFormElement.formKeydownListener (onloadwff.js:71)setFieldValue @ onloadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Assertion failed: Input argument is not
[05:04:39 CEST] <lucas_ai> an HTMLInputElementgetFormProfile @ onloadwff.js:71setFieldValue @ onloadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined at e.setFieldValue (onloadwff.js:71) at HTMLFormElement.formKeydownListener (onloadwff.js:71)setFieldValue @ onloadwff.js:71formKeydownListener @ on
[05:04:39 CEST] <lucas_ai> loadwff.js:71onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElementgetFormProfile @ onloadwff.js:71setFieldValue @ onloadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined at e.setFieldValue (onloadwff.js:71) at HTMLFormElement.formKeydownListener (on
[05:04:40 CEST] <lucas_ai> loadwff.js:71)setFieldValue @ onloadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElementgetFormProfile @ onloadwff.js:71setFieldValue @ onloadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined at e.setField
[05:04:40 CEST] <lucas_ai> Value (onloadwff.js:71) at HTMLFormElement.formKeydownListener (onloadwff.js:71)setFieldValue @ onloadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElementgetFormProfile @ onloadwff.js:71setFieldValue @ onloadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Uncaught
[05:04:41 CEST] <lucas_ai> TypeError: Cannot read property 'type' of undefined at e.setFieldValue (onloadwff.js:71) at HTMLFormElement.formKeydownListener (onloadwff.js:71)setFieldValue @ onloadwff.js:71formKeydownListener @ onloadwff.js:71onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElementgetFormProfile @ onloadwff.js:71setFieldValue @ onloadw
[05:04:47 CEST] <nicolaus> oh please
[05:04:51 CEST] <CyberShadow> nice stack trace
[05:04:52 CEST] <lucas_ai> eypack glamas GRMrGecko gnfzdz G goiko graphitemaster ghost9999 Guest13721 giaco haasn Henry151 Hello71 hcit hanetzer Harzilein HakanIST Hackerpcs KodiakIT[m] klaxa KombuchaKip kevev Kray kpuc Kronuz kepstin kurosu koz_ kraft Kei_N kam187______ kode54 klow K1rk ketas Keshl k0f k-man llyyr lomancer leonardus LRN lemourin lucas_ai Lightsword limbo le
[05:04:52 CEST] <lucas_ai> sderid leif lebster Kuufi_ lilac Kuukunen- Lypheo Lynne luminarys lullerhaus Matador marso MasterPrenium maseck Martchus mateo` mac_nibblet m1dnight_ Maverick|MSG matthiaskrgr mete MatthewAllan93 mickael-kerjean3 meepmeep microchip_ mifritscher milek7 mayanksha meiamsome microcolonel mauz555 matteo Mavrik MightyBOB moser moreentropy[m] mlok MoziM m
[05:04:53 CEST] <lucas_ai> istym mosh mozzarella mlk monokrome misuto mindfreeze miyalys Nitori nicoulaj nicolaus MrRobot7 noahmg123 MrNaz nfobot n000g nitroxis netrace nate nimaje nicolas17 Myrsloik NitrousPG nickster Muzer mundus pa[m] ossifrage Nothing4You pa Numline1 ocrete ntrrgc nullptr| ParkerR ootje Orphis ohnx Orochimarufan nyuszika7h nyaomi NoNet nurupo olspookishm
[05:04:53 CEST] <lucas_ai> agus nutron|w preece ponyrider Priapus PharaohAnubis peloverde Peetz0r podman pkx pl44c pinPoint poutine pomaranc pink_mist plitter pikapika phunyguy ps-auxw ravndal random_yanek relaxed qeed qacky pzy rcombs Redfoxmoon pzich q66 rav0 q-u-a-n3 raytiley rocktop rjeli ritsuka Rodn3y rkantos Ristovski rjp421 Rhvs ring0 ribasushi riemann Retal rom1v Si
[05:04:54 CEST] <lucas_ai> licium Shibe scubacuda shodan45 Soni snooky sim590 sbraz runawayfive shivamgoyal skunkworks rrva roxlu sfan5 saml snatcher SingingTree_ s00pcan rossome technick SpeakerToMeat techietrash tempora storrgie termos tdr telex Tachyon TD-Linux tbrowder taliho StalkerRiga stanford_ai sonicrocketman t4c0c4t st-gourichon-fid trn th3_v0ice tommy`` tomaw Trie
[05:04:54 CEST] <lucas_ai> ste theholyduck tmatth TheSashmo Trel TheRyuu Thomas_J tobbez trfl ThugAim TheLink TheAMM unlord Ultima TSaari tvsutton Umori ullbeking tth w1kl4s urluck vorteg80987 waldhar w1d3m0d3 void09 victorqueiroz viv`d vincent43 Velgor user890104 utack UukGoblin upperechelon wcpan wyatt8740 wiak Wessie waveframe wonchul whitekidney Whiskey wizonesolutions w
[05:04:55 CEST] <lucas_ai> orstadmin wonchul[m] wget wedmisten xnco x0908d3b2 xcm Yuyu0 yaowu xlei xantoz xxzz^ YamashitaRen_ YamashitaRen Yamakaja_ Xiretza zeromind znf zyme Zuccace"
[05:05:20 CEST] <rcombs> there we go
[05:05:27 CEST] <Ultima> Can someone please boot this bot
[05:05:28 CEST] <nicolas17> TimothyGu: <3
[05:05:37 CEST] <noahmg123> Byyyyyyeeee Lucas
[05:05:50 CEST] <CarlGel> thank you
[05:06:04 CEST] <MightyBOB> I'm pretty sure the last time I actually added someone to my ignore list was 10 years ago, so, bravo.
[05:06:06 CEST] <furq> what a nice young man
[05:06:09 CEST] <furq> sorry
[05:06:10 CEST] <furq> what nice young men
[05:06:17 CEST] <TimothyGu> also in general, pinging ops is a good way to get yourself banned
[05:06:31 CEST] <noahmg123> Lucas seems like the kind of guy to hit reply all on purpose
[05:06:44 CEST] <furq> you might want to actually kick lucas_ai btw
[05:06:46 CEST] <CyberShadow> The person couldn't decode raw h264 frames. Asking him to write code to filter out ops from the user list is expecting too much.
[05:06:48 CEST] <furq> so we can all talk shit about him behind his back
[05:07:14 CEST] <TimothyGu> there we go
[05:07:19 CEST] <MightyBOB> noahmg123: "Also, does anyone have a pencil to share?"
[05:07:53 CEST] <noahmg123> MightyBOB: screams it at the top of his lungs to the entire lecture hall
[05:08:07 CEST] <noahmg123> Wait, classroom
[05:08:16 CEST] <noahmg123> No way he's in university
[05:08:46 CEST] <nicolas17> wonder if anyone is working on rav1e integration with ffmpeg
[05:08:50 CEST] <nicolas17> else it could be a fun project for me
[05:09:00 CEST] <furq> i hope his isp gives out long dhcp leases
[05:09:23 CEST] <another> TimothyGu: thanks =)
[05:09:32 CEST] <MightyBOB> Yes, thank you.
[05:10:01 CEST] <furq> i have no idea what that even was
[05:10:07 CEST] <furq> you don't even need to do anything to decode raw h264
[05:10:46 CEST] <mindfreeze> nicolas17: yes, daemon404 is on it iirc
[05:16:10 CEST] <another> nicolas17: ffmpeg can use either libaom or libdav1d for av1 decoding
[10:22:38 CEST] <SoItBegins> Im trying to convert an image sequence into a movie, but Im running into a problem: The six PNGs that make up the image sequence have transparent backgrounds.
[10:23:04 CEST] <SoItBegins> FFMPEG turns the transparency into a kind of ugly pinkish color. Can I have it be black (or another color) instead?
[10:42:10 CEST] <durandal_1707> Full command line and output missing
[10:56:45 CEST] <SoItBegins> durandal_1707: Sorry?
[10:56:50 CEST] <SoItBegins> (Also I figured it out)
[12:28:36 CEST] <w1d3m0d3> ah, there was a spambot here, nice
[18:06:24 CEST] <Hackerpcs> I'm trying to compile ffmpeg-full from arch AUR and I get this error https://bpaste.net/show/B8Fx , anyone has any idea how to fix it?
[18:07:22 CEST] <Hackerpcs> vmaf-1.3.14-1 is installed
[18:08:03 CEST] <cehoyos> What is ffmpeg-full?
[18:08:07 CEST] <durandal_1707> well where and does it have pkgconfig?
[18:08:17 CEST] <furq> https://aur.archlinux.org/packages/ffmpeg-full/
[18:08:41 CEST] <durandal_1707> cehoyos: ffmpeg on stereoids
[18:08:44 CEST] <furq> "all possible features"
[18:08:48 CEST] <furq> that doesn't seem likely but ok
[18:09:22 CEST] <Hackerpcs> same goes with regular, non-yay install https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packag…
[18:09:29 CEST] <cehoyos> Do you know why he asks here for support instead of at https://aur.archlinux.org/packages/ffmpeg-full/ ?
[18:10:05 CEST] <Hackerpcs> I guess it's maybe likely that people here may have tried to compile it
[18:10:15 CEST] <Hackerpcs> from there
[18:10:16 CEST] <furq> well it is an ffmpeg compilation error
[18:10:33 CEST] <Hackerpcs> and the error directs here :P
[18:10:59 CEST] <furq> Hackerpcs: i guess you should have an ffbuild/config.log somewhere with the actual error in it
[18:11:19 CEST] <furq> unless that package manager helpfully deleted it for you
[18:11:30 CEST] <cehoyos> No, it is an error generated by a program that patches ffmpeg but left the error message unchanged
[18:11:53 CEST] <durandal_1707> huh?
[18:11:53 CEST] <furq> it's not patching ffmpeg
[18:12:12 CEST] <furq> it's just an ffmpeg package with all (or as many as possible) dependencies enabled
[18:13:03 CEST] <cehoyos> I was under the strange impression that "Hunk #1 succeeded at 264 (offset 2 lines)." indicates a patched source...
[18:13:06 CEST] <pink_mist> furq: the log Hackerpcs pasted showed dozens of patching
[18:13:39 CEST] <furq> sure but those patches are for intel svt
[18:13:41 CEST] <cehoyos> Patching is of course fine (that's what open source software is about), asking for support here for their software is not
[18:13:49 CEST] <furq> so it'd be weird if they had anything to do with configure throwing an error about libvmaf
[18:15:25 CEST] <Hackerpcs> https://www98.zippyshare.com/v/gfQh6EMq/file.html -- config.log, sorry for the zippyshare link but paste sites have size limits
[18:16:14 CEST] <furq> that's a 403 here
[18:16:55 CEST] <furq> curl -F "file=(a)config.log" https://0x0.st
[18:17:18 CEST] <durandal_1707> furq is reading my mind so fast
[18:17:43 CEST] <Hackerpcs> that's neat, I need to add that to my zshrc -- https://0x0.st/zW9s.log
[18:18:01 CEST] <furq> i forgot about 0x0's great mime types
[18:22:39 CEST] <furq> did you install vmaf from the aur
[18:23:10 CEST] <Hackerpcs> I didn't at first but I think yay installs it automatically (using arch for just 3 days)
[18:23:17 CEST] <Hackerpcs> I installed it now
[18:23:27 CEST] <furq> well i meant did you already have it installed from somewhere else
[18:23:53 CEST] <Hackerpcs> no, it's a fresh install so before trying yay ffmpeg-full I didn't
[18:23:57 CEST] <furq> fun
[18:24:50 CEST] <Hackerpcs> yeah, yay -S ffmpeg-full installs it from AUR
[18:26:23 CEST] <durandal_1707> why they have svt patches already applied? is aur maintainer working for intel?
[18:28:54 CEST] <furq> i'm not an arch user but aur packages generally seem to have some random selection of patches that the maintainer wants to use
[18:28:54 CEST] <durandal_1707> they are evil and distributing non free via packages
[18:29:28 CEST] <pink_mist> if it builds the package on the user's machine, they are not distributing packages at all
[18:29:31 CEST] <furq> yeah
[18:30:12 CEST] <durandal_1707> but look at package options
[18:30:47 CEST] <Hackerpcs> that's the point of AUR i think, makes this kind of use cases easier for the user
[18:31:16 CEST] <furq> well i don't have any suggestions other than just removing vmaf from the pkgbuild
[18:31:22 CEST] <furq> but then i'm not a c++ or arch expert
[18:31:45 CEST] <Hackerpcs> I'll try https://aur.archlinux.org/packages/ffmpeg-libfdk_aac/ because fdk is the main reason i'm not using the free binary
[18:32:29 CEST] <Hackerpcs> it has sources just the ffmpeg it, no patches
[18:32:43 CEST] <Hackerpcs> git*
[18:33:22 CEST] <furq> i've only ever seen std::__cxx11 undefined references from trying to link c++11 and non-c++11 libs
[18:33:43 CEST] <furq> but that test is only linking against vmaf and you just built that with the same compiler, so shrug
[19:07:10 CEST] <Hackerpcs> ffpeg-libfdk_aac from AUR above compiled normally so all good
[19:36:17 CEST] <kepstin> errors like that can also happen if you compile code with a newer libstd++ then try to run it on a system with an older version of the library
[19:37:20 CEST] <kepstin> but this is compile-time, hmm.
[19:38:01 CEST] <Hackerpcs> this was a fresh, updated system, no other system involved
[19:38:48 CEST] <Hackerpcs> freshly installed I mean by fresh
[20:34:00 CEST] <FooNess> if i have an mkv file with one video stream, multiple audio streams and multiple subtitle streams, how do i make a file where the video stream's been lossy transcoded (h264 for example) but the rest, all of it (audio and subtitles) is stream copied?
[20:42:15 CEST] <durandal_1707> follow documentation about map and codec copy
[20:44:44 CEST] <FooNess> hmmm
[20:51:43 CEST] <kepstin> FooNess: hint: the -c (-codec) option takes a stream specifier to say which streams it applies to.
[20:51:56 CEST] <FooNess> kepstin, i see
[20:56:27 CEST] <Nanashi> Is there a way to burn in subtitles using the font embedded inside the video?
[21:00:27 CEST] <c_14> I'm pretty sure the subtitles filter does that
[21:02:21 CEST] <Nanashi> I even changed video player's default subtitle font to make sure it's not just the player showing me a different font.
[21:02:28 CEST] <Nanashi> the burned in subs are clearly different from the soft subs
[21:05:13 CEST] <Nanashi> wut
[21:05:21 CEST] <durandal_1707> used ass filer?
[21:05:29 CEST] <durandal_1707> ffloger is dead
[21:05:43 CEST] <c_14> Nanashi: can you upload the command and console output to a pastebin service?
[21:10:39 CEST] <Nanashi> nvm sorry guys it's right
[21:11:10 CEST] <Nanashi> the clip I made with both burn in and subs didn't have the fonts carried over (dunno why video player option isn't overriding)
[21:58:59 CEST] <raytiley> is there windows CI now?
[21:59:12 CEST] <raytiley> (wrong channel, sorry)
[22:21:03 CEST] <sgo11> hi, I have used the command `qt-faststart` to correct the index position. but the mp4 file generated by ffmpeg still has one problem. When I use html5 video tag, my chrome browser refused to allow timeline drag. But when I try some other mp4 files downloaded online, it works fine. Can anyone please teach me how to fix this? thanks a lot.
[22:52:47 CEST] <sgo11> My question: https://stackoverflow.com/questions/57598777/how-to-convert-mp4-file-so-tha…
[23:18:36 CEST] <sgo11> I have updated the question and provided the ffmpeg command and outputs.
[00:00:00 CEST] --- Thu Aug 22 2019
1
0
[00:26:59 CEST] <cone-164> ffmpeg 03Michael Niedermayer 07master:b6b9ac5698c8: avcodec/vp56rac: delay signaling an error on truncated input
[00:27:00 CEST] <cone-164> ffmpeg 03Michael Niedermayer 07master:0e4a0e962cb0: avcodec/mpeg4videodec: Fix integer overflow in mpeg4_decode_studio_block()
[00:27:01 CEST] <cone-164> ffmpeg 03Michael Niedermayer 07master:ec749ed2225e: avcodec/aacps: Fix integer overflows in hybrid_synthesis()
[00:27:02 CEST] <cone-164> ffmpeg 03Michael Niedermayer 07master:f1192736494a: avcodec/takdec: Fix integer overflow in decorrelate()
[00:27:03 CEST] <cone-164> ffmpeg 03Michael Niedermayer 07master:e1255789941d: avcodec/alsdec: Check k from being outside what our implementation can handle
[00:27:04 CEST] <cone-164> ffmpeg 03Michael Niedermayer 07master:39ff027fd811: avcodec/mpeg12enc: Add FF_CODEC_CAP_INIT_CLEANUP
[00:27:05 CEST] <cone-164> ffmpeg 03Michael Niedermayer 07master:b94cf549e2d9: avcodec/htmlsubtitles: Avoid locale dependant isdigit()
[01:06:55 CEST] <jamrial> Lynne: fate-checkasm-opusdsp is failing on win64
[01:07:25 CEST] <jamrial> and someone on the mailing list reports the same for his linux and mac systems
[01:07:48 CEST] <philipl> Lynne: I will look.
[01:13:05 CEST] <Lynne> jamrial: do you have links to the logs?
[01:13:29 CEST] <jamrial> what logs?
[01:14:03 CEST] <jamrial> if you mean the win64 fate clients, they haven't run in almost a month
[01:14:12 CEST] <jamrial> i just tried on my rig and saw the test segfaulted
[01:16:32 CEST] <jamrial> Lynne: https://pastebin.com/fqQx53gb
[01:16:45 CEST] <jamrial> looks like garbage on the upper 32 bits of grps
[01:17:47 CEST] <jamrial> yeah, clearing the high bits fixes it
[01:18:09 CEST] <jamrial> now i get comparison failures with the float values instead
[01:21:04 CEST] <jamrial> fixed that too. i had missed one gpr
[01:21:11 CEST] <jamrial> will send a patch in a minute
[01:27:03 CEST] <Lynne> was it an alignment issue?
[01:28:00 CEST] <jamrial> no, it was all 32bits arguments on 64bit gprs
[01:32:43 CEST] <Lynne> jamrial: patch LGTM
[01:33:12 CEST] <jamrial> Lynne: i could also replace the lea with shl + add
[01:33:21 CEST] <jamrial> it seems to be one byte shorter
[01:33:35 CEST] <Lynne> how did it ever run and not crash until now? I can almost believe no one uses the opus decoder, but that's still somewhat of a stretch
[01:34:02 CEST] <jamrial> because it's only an issue in checkasm
[01:34:07 CEST] <jamrial> it ensures all arguments come from stack
[01:34:40 CEST] <jamrial> in any other situation, both period and len are passed in gprs on win64 ABI
[01:39:22 CEST] <Lynne> ah, good to know. go ahead and replace the lea, its actually 2 bytes less apparently
[01:43:29 CEST] <cone-164> ffmpeg 03James Almer 07master:80444e23ac29: x86/opusdps: clear the high bits from some gprs
[01:53:06 CEST] <cone-164> ffmpeg 03James Almer 07master:1faedb9a119a: x85/opusdsp: enable the functions on all FMA3 CPUs
[03:19:30 CEST] <Lynne> 600 lines later and a lot of refactoring vf_overlay_vulkan works
[03:20:08 CEST] <Lynne> and I still don't have a solution to the chicken and egg semaphore issue other than maybe NIHing refcounting
[03:21:47 CEST] <Lynne> guess I'll have do it; philipl hold off on checking till tomorrow's patches, the freeze bug will probably get fixed by this
[03:23:10 CEST] <Lynne> can I just not care at all about orphaned CUexternalSemaphores?
[03:23:19 CEST] <BBB> "the test fails; let's remove it, here's a patch"
[03:23:21 CEST] <BBB> hm...
[03:23:35 CEST] <Lynne> which don't have a backing vksemaphore allocated anymore?
[03:24:09 CEST] <Lynne> otherwise I'll need to expose a public api to destroy semaphores which I really do not want
[03:24:51 CEST] <jamrial> BBB: it makes fate succeed. doesn't it count as a fix? :p
[04:34:30 CEST] <BBB> jamrial: rm -fr / also makes fate succeed
[04:55:08 CEST] <philipl> Lynne: I will hold off looking. If you can see it stop hanging by not freeing the CUexternalsemaphores, that's a good datapoint.
[04:56:38 CEST] <philipl> but you shouldn't be freeing it until the avframe is freed, and if that is still vulnerable to hanging, that means you're freeing the avframes when they might still be being used on the vulkan side (assuming a semaphore wait is still in the queue)
[04:57:37 CEST] <philipl> I would say you want to lazily export the semaphore on the first cuda export and then leave it until you free the frame. Maybe you are already doing that - I've not read the patch closely enough to map out the lifecycle yet.
[05:09:31 CEST] <philipl> Lynne: maybe you already read it but the docs are explicit: "Any outstanding signals or waits must have completed before the semaphore is destroyed. "
[05:09:36 CEST] <philipl> https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__EXTRES__INTEROP.h…
[05:13:32 CEST] <philipl> looks like your map_from_cuda tries to use a new semaphore each time. So I would switch to re-using the existing semaphore and see if that helps.
[05:17:55 CEST] <cone-190> ffmpeg 03Steven Liu 07master:307e0627dbdc: avformat/hlsenc: merge fmp4 and mpegts segment type m3u8 list AVIOConext
[05:17:55 CEST] <cone-190> ffmpeg 03Steven Liu 07master:5b809a8d4bc8: avformat/hlsenc: print warning at the end when upload the last segment failed
[05:17:55 CEST] <cone-190> ffmpeg 03Steven Liu 07master:9ff8fbda6598: avformat/hlsenc: fix memleak at hls_write_trailer
[05:17:55 CEST] <cone-190> ffmpeg 03Steven Liu 07master:e55018ee110b: avformat/dashdec: add startNumber parser for segmentlist
[06:03:57 CEST] <rcombs> would appreciate some design review on the (very small) patch I just sent; not so much on the 2-line diff, but more on the interaction it's dealing with
[06:04:43 CEST] <rcombs> basically, a lot of QSV code uses resolution values from inside the QSV-specific (but non-opaque) struct we pass around in data[3], rather than AVFrame
[06:05:31 CEST] <rcombs> this has the potential to subtly break a lot of things that assume that setting AVFrame->[width/height] will result in a crop
[06:06:06 CEST] <rcombs> in this case I'm just fixing that when mapping frames in from other hwcontexts, but there are potentially other cases where this could come up
[06:06:28 CEST] <rcombs> so I'm not sure if there's something more general that should be done here, or if there's a better place to put this
[06:08:38 CEST] <rcombs> but maybe there should be an API to update a hardware-API-specific struct from the AVFrame
[06:09:52 CEST] <rcombs> in other news, apparently DXVA requires HEVC surfaces to be aligned to mod-128 on both width and height, which feels ever so slightly excessive
[11:24:37 CEST] <nevcairiel> rcombs: the DXVA HEVC alignment requirement is documented in the DXVA HEVC spec, so yeah, it wants that. Presumably for some coding tools that can theoretically expand that for. For the QSV thing, it feels rather awkward that QSV would access its own internal stuff instead of our official API, but its QSV, its all sorts of messed up, so its probably fine to just sync them up there
[11:27:26 CEST] <rcombs> nevcairiel: one might argue that the way QSV is integrated is bad
[11:27:36 CEST] <nevcairiel> no way?!?
[11:27:37 CEST] <nevcairiel> :D
[11:27:45 CEST] <rcombs> that the context shouldn't hold a pool of those structs
[11:28:05 CEST] <rcombs> instead just hold a pool of the actual surface pointers, and have code build the struct when needed
[11:28:15 CEST] <rcombs> not sure if that has other implications
[11:28:48 CEST] <nevcairiel> QSV integration was done by some company presumably paid by Intel, they hardly reacted on feedback, took forever to do anything, and disappeared after, ie. typical hit-and-run contract
[11:28:56 CEST] <rcombs> ah,
[11:29:24 CEST] <rcombs> so yeah it'd probably make more sense for data[3] to just be the surface directly
[11:29:32 CEST] <rcombs> but, ABI
[11:29:52 CEST] <nevcairiel> i mean QSV was largely revised already since those days, but the roots are probably still there
[11:30:55 CEST] <rcombs> this reminds me, is there any higher-level windows framework that handles stuff like scaling, deinterlacing, overlays&?
[11:31:26 CEST] <nevcairiel> you mean other then d3d11 vpp?
[11:31:48 CEST] <rcombs> oh hmm there are apparently some MFTs for that
[11:32:08 CEST] <nevcairiel> MFTs are for apps too lazy to use the APII!
[11:32:12 CEST] <nevcairiel> -I
[11:32:31 CEST] <rcombs> well is there another encode API?
[11:33:07 CEST] <nevcairiel> thats not exactly an encode API, its a generic filtering mechanic that vendors tend to throw an encoder into
[11:35:09 CEST] <nevcairiel> but no, noone has tried to make a generic encode API, probably because encoders are just too different, so the best you can get is a MFT with a generic API but rather encoder-specific options
[11:35:32 CEST] <rcombs> sure, but all major GPU vendors have encoder MFTs accessible via the same API
[11:36:09 CEST] <rcombs> encoders may have different options but ultimately the way you use them is the same, configure options then pass in frames, maybe occasionally set flags on things
[11:37:37 CEST] <rcombs> I've got some code around here for MF encoding but it's not great because it requires copying frames around; I'm wondering if it'd be worth adding a hwcontext (and filters) for that, or if I should keep going with the separate APIs for each vendor on windows
[11:38:53 CEST] <nevcairiel> nvenc and amf are theoretically portable to linux as well (and while qsv may be, you are better off using vaapi), so it seems advantageous to use those
[11:43:19 CEST] <nevcairiel> nvenc and amf (afaik) also take d3d11 input, unfortunately qsv is a bit broken in that regard (surprise!), so one could expand d3d11 functionality in ffmpeg for a full pipeline
[11:43:35 CEST] <nevcairiel> i've been meaning to work on that for $work, but the project was delayed
[11:43:55 CEST] <rcombs> with d3d11 filtering?
[11:44:18 CEST] <nevcairiel> i was planning on making a scale/deint filter
[11:44:33 CEST] <rcombs> neat
[11:46:01 CEST] <nevcairiel> i do theoretically also need overlay, but i've never used overlay through avfilter and I hear bad things
[11:46:04 CEST] <rcombs> hmm, assuming win7+, is there hardware that supports dxva2 but not d3d11?
[11:46:38 CEST] <rcombs> the biggest issue I have with overlay is that my use-case is bitmap subs and sub2video makes it horrifically expensive
[11:46:42 CEST] <nevcairiel> d3d11 decoding needs win8 to functiona reasonably
[11:46:57 CEST] <rcombs> mmmm, what about filtering?
[11:47:08 CEST] <rcombs> (and is dxva2 decode compatible with d3d11 filtering?)
[11:47:10 CEST] <nevcairiel> the problem with win7 is that it lacks 4:2:0 surface formats
[11:47:17 CEST] <rcombs> um.
[11:47:22 CEST] <nevcairiel> for d3d11
[11:47:47 CEST] <rcombs> what, d3d11.1?
[11:48:01 CEST] <nevcairiel> you can theoretically decode on win7 with d3d11, and then fitler it into rgb, that should work
[11:50:24 CEST] <nevcairiel> but this is the real problem: DXGI_FORMAT_NV12 [...] Direct3D 11.1: This value is not supported until Windows 8.
[11:51:16 CEST] <rcombs> and it's not in the, uh, "Platform Update"?
[11:51:34 CEST] <nevcairiel> no
[11:51:48 CEST] <nevcairiel> I assume they couldn't change the driver interface to make these available
[11:51:54 CEST] <nevcairiel> or didnt want to, or whatever
[11:52:04 CEST] <rcombs> wonder how much longer I need to care about windows 7
[11:55:01 CEST] <nevcairiel> its end of life in 4 months
[11:55:08 CEST] <nevcairiel> thats always a good argument
[11:56:05 CEST] <nevcairiel> the good thing with these things is that you don't need to kill win7 support, you would only restrict it to software paths or whatever
[11:59:10 CEST] <rcombs> unfortunately they're still a really substantial portion of users, by the look of things
[12:00:16 CEST] <rcombs> but hey maybe that'll drop once it actually EOL's
[12:02:00 CEST] <nevcairiel> unfortunately many people dont really care about the security implications, people still on win7 right now are either too lazy to upgrade, and that won't change en-masse, or they are in the group that would rather still be on windows 2000 or so because it was "simple and easy", and also won't upgrade
[12:02:56 CEST] <nevcairiel> the only group finally moving off will be corporate
[14:10:39 CEST] <Lynne> I really wish mem.h had some talloc-like API
[14:11:25 CEST] <Lynne> anything using vulkan has an extremely dirty valgrind
[15:12:21 CEST] <robUx4> where do I send patches for nv-codec-headers ?
[15:12:43 CEST] <robUx4> the ffmpeg-dev ML ? The unofficial Github https://github.com/FFmpeg/nv-codec-headers ?
[15:13:19 CEST] <jamrial> robUx4: the ffmpeg-dev ml, or just poke philipl and BtbN here
[15:13:34 CEST] <robUx4> ok, the ML will do
[15:53:00 CEST] <BtbN> robUx4, you can also make a PR to the Github mirror, I can pull it from there.
[16:38:32 CEST] <kierank> durandal_1707: https://news.sky.com/story/big-carl-worlds-biggest-crane-begins-work-at-hin…
[18:40:26 CEST] <cone-398> ffmpeg 03Paul B Mahol 07master:b4562301ee44: avfilter/vf_v360: fix M_PI_4 usage consistency
[18:40:27 CEST] <cone-398> ffmpeg 03Paul B Mahol 07master:801fd6e41031: avfilter/vf_v360: fix errors is comments
[18:40:28 CEST] <cone-398> ffmpeg 03Paul B Mahol 07master:24d4eea921aa: avfilter/vf_v360: fix setting default height for stereographic
[20:13:38 CEST] <cone-398> ffmpeg 03Paul B Mahol 07master:e1dd355b3d8b: avfilter/vf_v360: add dfisheye output
[21:27:59 CEST] <linuxjunkie999> how granular is the aarch and cpu configure variables and where do I get a list of what ffmpeg configure recognizes for those variables?
[21:28:40 CEST] <tmm1> look at the configure script?
[21:29:35 CEST] <linuxjunkie999> thanks
[22:08:26 CEST] <Lynne> philipl: you can take a look at https://0x0.st/zyzu.patch https://0x0.st/zyzS.patch now
[22:09:31 CEST] <Lynne> I redid the syncronization system, now everything is done through vkevents, and semaphores are only used once to wait and then deleted
[22:10:23 CEST] <Lynne> the cuimportedsemaphore is left orphaned until the frame is deleted or reused
[22:11:25 CEST] <Lynne> but it still hangs at context pushes/pops, as if the semaphore isn't getting signalled
[22:38:59 CEST] <Lynne> I'm bored now so I'm going to write a raindrops filter for our deraindrop filter to have something to fail at removing
[23:03:18 CEST] <philipl> Lynne: I'll look but it'll be a couple of days before I get a chance. Sorry it can't be sooner.
[00:00:00 CEST] --- Fri Sep 13 2019
1
0
[00:51:34 CEST] <furq> KodiakIT[m]: it's the same as the format for passing options to filters
[00:51:45 CEST] <furq> -of json=c=1
[00:56:42 CEST] <KodiakIT[m]> furq, someone in ##linux pointed me in the right direction earlier. Coulda sworn I'd tried that one of the first couple iterations of trying to pin down the syntax, but I guess not /shrug
[01:29:09 CEST] <Henry151> hiya
[01:29:24 CEST] <Henry151> i'm-a-lookin at https://forum.videohelp.com/threads/341308-DVD-ISO-to-MKV-using-ffmpeg this thing and i don't wanna use some other program
[01:29:32 CEST] <Henry151> i wanna use ffmpeg cause i love it
[01:30:02 CEST] <Henry151> what kind of options might i need to specify to tell ffmpeg to keep all the audio,video,andsubtitle tracks from my iso in the outputted mkv?
[01:46:13 CEST] <kepstin> Henry151: ffmpeg doesn't know how to read dvds. use some other program.
[01:53:07 CEST] <Henry151> kepstin: thanks for the blunt truth, just what i needed
[02:39:23 CEST] <AiNA_TE> is there someway to merge .srt subtitle files without them going out of sync?
[02:40:16 CEST] <AiNA_TE> because the time stamps in the .srt only define the start of a subtitle. and not the duration of the segment it belongs to
[03:43:33 CEST] <KodiakIT[m]> So here's something I don't quite understand: why is it that lossless encoding results in enormous file sizes when the input file itself is lossy?
[03:46:06 CEST] <KodiakIT[m]> Or not even necessarily lossless encoding, attempting to transcode with CQ0 will also produce larger files than the input
[03:48:12 CEST] <DHE> but the encoder doesn't know the cause of the lossyness and must encode it exactly as it sees it
[03:55:28 CEST] <KodiakIT[m]> DHE: So, to follow on that, I take it there's no particularly sane way to transcode said files not-quite-lossless-ly besides trial-and-error with setting the values of q{min/max} and bitrate?
[03:56:39 CEST] <furq> something like that, yeah
[03:59:04 CEST] <KodiakIT[m]> Lovely.
[04:01:10 CEST] <KodiakIT[m]> Following on *that* I don't suppose anyone knows of any tools to compare a pair of video files to check for artifacts from downconverting? It'd be one thing if I just needed to compare one or two files, but 220 (22eps x 5 seasons, in & out) 45-ish min long videos is a bit more than I can reasonably compare by hand
[04:13:07 CEST] <KodiakIT[m]> If not I s'pose I've got another project lined up once I get the music library management scripts all in working order.
[04:25:11 CEST] <DHE> while algorithms exist like measuring the PSNR, those are mathematical measurements and can be optimized for, whereas these algorithms are generally tuned to fool the human eye and that's harder to quantify.
[04:47:18 CEST] <taniey> can the amix filter make audio tracks mix synchronized?
[04:49:58 CEST] <taniey> for instance, auido A with track: ##########---------#########, B with track : #####################
[04:49:58 CEST] <taniey> the ' # ' represent have audio data at time, the ' - ', represent no have audio data at time.
[04:51:27 CEST] <taniey> and, can the amix filter mix the A and B tracks at right time?
[04:52:30 CEST] <KodiakIT[m]> DHE: Would iterating through the frames with something like pHash be able to detect artifacting, maybe?
[04:57:36 CEST] <KodiakIT[m]> (I've never actually used pHash or anything of the sort myself, just recall overhearing SE's at my old company chattering about using it for dupe/close to dupe image detection)
[05:14:16 CEST] <KodiakIT[m]> I mean I don't really care about minor artifacts that are like 10px * 10px, more just making sure that there's nothing that looks like it belongs on r/brokengifs
[09:45:38 CEST] <LigH> Hi.
[09:46:35 CEST] <LigH> Which parameter would you recommend to ensure that a headerless input format (e.g. TS) is scanned deeply for late appearing streams (subtitles)?
[09:47:07 CEST] <furq> probesize and/or analyzeduration
[09:47:22 CEST] <furq> they do the same thing but probesize is in bytes and analyzeduration is in microseconds
[09:47:42 CEST] <furq> iirc it stops at whichever is lower so you'll probably need to set both
[09:47:59 CEST] <furq> or whichever is reached first, rather
[09:52:48 CEST] <LigH> Thanks
[09:56:51 CEST] <LigH> PS: Does ffmpeg support M/G/T suffixes for large numbers here?
[10:00:07 CEST] <snooky> moin
[10:01:14 CEST] <LigH> auch
[10:01:36 CEST] <LigH> But the rest will be preferred in English here, I guess
[10:04:24 CEST] <LigH> OK, web documentation reports support for SI unit "prefixes" to be appended (but when they are appended, they are a suffix, right?).
[10:05:31 CEST] <barg> I have a video file that is 6GB and I want to extract about 500MB from it, it takes a while. Is there any fast way to do it that is within a $150 budget?
[10:10:49 CEST] <LigH> Well, ffmpeg can do that pretty fast, if you configure it to copy all content streams.
[10:11:08 CEST] <LigH> Instead of recoding.
[10:11:35 CEST] <LigH> The rest is the speed of your drives as bottleneck.
[10:13:13 CEST] <barg> what do you call pretty fast?
[10:13:29 CEST] <furq> pretty fast as in as fast as you can write to disk
[10:13:42 CEST] <barg> one hour
[10:13:46 CEST] <LigH> So, some parameters will be: "-codec copy" along with e.g. "-ss (start time) -to (end time)" - with limited accuracy due to GOP lengths, and a possible undecodable start of the result
[10:14:10 CEST] <furq> the video will always start from the subsequent gop
[10:14:23 CEST] <furq> it just might look broken if the audio timestamps start earlier
[10:14:26 CEST] <barg> would it normally take one hour on a typical computer? or 10 minutes?
[10:14:30 CEST] <furq> uh
[10:14:33 CEST] <furq> it would take a few seconds
[10:14:52 CEST] <barg> i'm reencoding.. should I do the copdec copy first then reencode the result? or would it make no difference?
[10:14:55 CEST] <LigH> Except for very slow laptop harddisks...
[10:15:05 CEST] <furq> it would make a negative difference
[10:15:12 CEST] <furq> if you're reencoding anyway you should do it straight from the source
[10:15:20 CEST] <furq> otherwise the cut points will probably be wrong
[10:15:30 CEST] <barg> this has been running for maybe 20 minutes
[10:15:40 CEST] <furq> what encoder are you using
[10:15:46 CEST] <LigH> The encoding speed will depend on your selected encoder options
[10:16:01 CEST] <furq> if it's x264 then set -preset superfast
[10:16:09 CEST] <furq> if it's libvpx then...good luck
[10:16:29 CEST] <barg> libx264 libmp3lame -ss 1:28:00 -to 1:55:00
[10:16:38 CEST] <furq> yeah just use a faster preset
[10:16:48 CEST] <barg> and I did the -ss before the -i
[10:17:02 CEST] <LigH> And convenient quality (-q should be equivalent to CRF)
[10:17:04 CEST] <furq> no cpu from the last 10 years will take an hour to encode 30 minutes unless it's 4k120 or something
[10:17:13 CEST] <furq> and no it's -crf for x264
[10:17:19 CEST] <LigH> OK
[10:17:20 CEST] <barg> what does it mean use a faster preset? and this is core i5
[10:17:28 CEST] <furq> 09:16:01 ( furq) if it's x264 then set -preset superfast
[10:17:35 CEST] <LigH> Read about "x264opts"
[10:17:56 CEST] <furq> https://gitlab.com/qruf/x264settings/blob/master/settings.md
[10:18:10 CEST] <furq> if you really wanted to know
[10:18:33 CEST] <furq> there is also ultrafast but you really shouldn't use that
[10:21:38 CEST] <LigH> I would not recommend very fast presets without generous quality level (indirectly, bitrate). Possibly not a CRF >20. Rather 15-18.
[10:23:25 CEST] <furq> also there's probably no need to reencode the audio
[10:23:33 CEST] <furq> and you should be using aac for compatibility (and quality) anyway
[10:24:01 CEST] <barg> ok trying -preset superfast. The hard drive in the laptop is Toshiba MK5061GSYN it looks like 7200RPM So far over 3min have passed and it is still going.
[10:24:11 CEST] <furq> well yeah the disk is irrelevant if you're reencoding
[10:24:22 CEST] <LigH> Audio streams usually have a short granularity, can be easily cut at any position.
[10:24:41 CEST] <LigH> With respect to their frames.
[10:24:54 CEST] <furq> you can work out how long it's going to take from the progressbar
[10:26:29 CEST] <barg> I can't see a progress bar
[10:26:31 CEST] <LigH> Bye
[10:26:53 CEST] <LigH> Not even running numbers?
[10:26:56 CEST] <barg> this is a screenshot of what I see, current laptop is windows based https://i.imgur.com/0ydPbfX.png
[10:27:01 CEST] <barg> yeah i see running numbers
[10:27:04 CEST] <furq> "speed=5.75x"
[10:27:20 CEST] <furq> also yeah don't reencode the audio
[10:28:43 CEST] <LigH> And the default CRF 23 may be coarse.
[10:29:45 CEST] <furq> oh
[10:30:14 CEST] <furq> you can't use -to after -i if -ss is before -i
[10:30:20 CEST] <furq> it'll keep encoding until the output file is 1:58 long
[10:31:29 CEST] <barg> the output file was 800MB and the source was 6GB but you suggest it still encoded the whole source file and taht's why it took so long?
[10:31:51 CEST] <furq> no it skipped the first 1:28
[10:32:19 CEST] <barg> ok so I will try moving the -to , before the -i ? so -ss ___ -to ___ -i ..
[10:32:34 CEST] <furq> that should work
[10:32:51 CEST] <furq> or -t 26:34 after -i
[10:33:01 CEST] <furq> also yeah you should copy the audio
[10:33:42 CEST] <barg> okay, it says frame= 949 fps=188 q=21.0 size= 5120kB time=00:00:31.74 bitrate=1321.4kbits/s speed=6.29x
[10:33:47 CEST] <barg> does that indicate how long it will take?
[10:33:54 CEST] <furq> speed=6.29x
[10:33:59 CEST] <furq> so it'll take roughly 26 minutes / 6.29
[10:34:09 CEST] <furq> so like five minutes
[10:34:36 CEST] <barg> how do you calculate how many minutes from 6.29x ?
[10:35:02 CEST] <barg> also is 5 minutes a bit slow? what is the limiting factor? hard drive? or cpu?
[10:35:47 CEST] <furq> cpu
[10:36:53 CEST] <barg> is core i5 ancient? how fast would a modern cpu be?
[10:41:36 CEST] <bencoh> there has been like ~10 generations of corei5, so ...
[10:43:15 CEST] <barg> ok thanks, bbiab
[10:43:25 CEST] <barg> a few hours.
[13:12:57 CEST] <classsic> hi
[14:11:52 CEST] <_aeris_> hello here :)
[14:11:59 CEST] <_aeris_> i have trouble with video concat
[14:12:20 CEST] <_aeris_> i have 2 parts, a 5s part generated from image + /dev/zero for sound
[14:12:28 CEST] <_aeris_> and another part for the content
[14:12:39 CEST] <_aeris_> when i concat them, i have a delay on sound
[14:13:25 CEST] <_aeris_> content part sound is in sync, but after concat, it's like if the sound was swift from 2-3s
[14:14:00 CEST] <_aeris_> here is an example : the 2 parts http://data.passageenseine.org/2019/tmp/, the result : http://data.passageenseine.org/2019/codeur-se-s_tous_pays_unissez_vous.mp4
[14:14:19 CEST] <_aeris_> concat is done this way : https://git.passageenseine.fr/pses/video/src/branch/master/converter.rb#L18…
[14:24:16 CEST] <_aeris_> seems like the sound of the 2nd part start during the 1st part video
[17:10:29 CEST] <mlok> Hello, could somebody explain to me what the following command does please?
[17:10:30 CEST] <mlok> https://pastebin.com/B2simT0q
[17:10:43 CEST] <mlok> I am especially interested in what mbuffer does
[17:10:58 CEST] <mlok> and pipe:0
[17:11:25 CEST] <DHE> "x | mbuffer | y" is functionally equivalent to "x | y" but with an effectively huge buffer in the pipe
[17:12:05 CEST] <DHE> I'm not really sure what the goal is though. Buffering compressed video would make sense but the second ffmpeg instance doesn't use "-c copy"
[17:12:23 CEST] <mlok> DHE: for example, if I have an unstable RTMP source, would this be an effective way of creating a continuous pipe for FFMPEG to transcode so it doesn't quit?
[17:12:41 CEST] <DHE> maybe. but the source is a file on disk
[17:12:43 CEST] <mlok> DHE: e.g. if there is packet loss in the source RTMP
[17:13:03 CEST] <mlok> DHE: yes in this particular example it is an mp4, however I can also add an RTMP or HLS stream
[17:13:14 CEST] <kepstin> mlok: you'd still need something (not ffmpeg cli tool) on the front end of the pipe that can handle dropouts and generate a continuous media stream
[17:13:38 CEST] <kepstin> mlok: if you just use an ffmpeg piped to ffmpeg, then it still has all the problems of ffmpeg.
[17:13:56 CEST] <mlok> kepstin: thanks, could you point me in a direction on how I could make a solution for this?
[17:14:17 CEST] <DHE> well if the source is realtime you could still have a problem since mbuffer doesn't pre-fill its buffer and will just pass input straight to output as long as the output never blocks
[17:14:50 CEST] <DHE> hls is "realtime" but still tends to allow bursts of input and has an inherently big network buffer so I wouldn't worry there
[17:15:12 CEST] <mlok> DHE: what about RTSP and RTMP?
[17:15:24 CEST] <DHE> can't comment on those, but I suspect they have much smaller buffers
[17:15:28 CEST] <kepstin> rtsp and rtmp need sender-side pacing
[17:15:57 CEST] <DHE> sure, but assuming you have it and are using this as a pipeline to convert from one RTMP source to output to another RTMP output, I feel like mbuffer isn't buying you anything
[17:16:32 CEST] <mlok> DHE: thanks for the input, any idea of a better solution?
[17:17:36 CEST] <kepstin> mlok: write a new tool that's designed for realtime and generates output frames at a constant rate to feed to ffmpeg regardless of the state of the inputs (might as well use libav* directly rather than a pipe to ffmpeg cli)
[17:18:21 CEST] <DHE> if it were me I'd have the input program do ALL video processing and transcoding, and then have the second ffmpeg just be a remuxer from source straight to rtmp
[17:18:58 CEST] <mlok> kepstin: thanks, how about creating a looped blank video and mapping the source over it?
[17:19:36 CEST] <mlok> DHE: that's tricky as I have no control over the source, or it's located on a far away continent
[17:19:43 CEST] <kepstin> mlok: that doesn't help if you're using the ffmpeg cli, and is unnecessary if you're writing a new application
[17:20:35 CEST] <mlok> kepstin: thanks, I'll look into using libav
[17:53:33 CEST] <horribleprogram> Yo guys
[17:53:34 CEST] <horribleprogram> http://www.giphy.com/gifs/XH50CFfheZUw2uYySH
[17:54:25 CEST] <horribleprogram> Basically, when I drag a .mp4 into an iTunes database or a VLC playlist, etc, it changes its name to "Udemy Video Asset" for about 90% of my .mp4s
[17:54:51 CEST] <horribleprogram> now, apparently these problems (iTunes, VLC) reads the file's internal metadata to display the name
[17:55:06 CEST] <horribleprogram> s/problems/programs
[18:03:08 CEST] <pink_mist> why are you telling us?
[18:04:23 CEST] <horribleprogram> well nvm I just figured out ffmpeg is a command-line tool that does this
[18:05:31 CEST] <horribleprogram> how do I query a specific .mp4 for its metadata
[18:50:02 CEST] <another> ffprobe
[18:51:33 CEST] <horribleprogram> another: ty
[19:37:56 CEST] <garyserj> how do you calculate how long ffmpeg will take from speed=6.29x? e.g. that it will be 26min?
[19:38:08 CEST] <garyserj> also, Do -ss and -to have to be adjacent to each other?
[19:46:01 CEST] <kepstin> garyserj: if you know what the duration of the output video will be, then you can use the speed to calculate how long ffmpeg will take.
[19:46:40 CEST] <kepstin> garyserj: the position of -ss and -to relative to eachother don't matter, but their position relative to any -i input options does
[19:52:42 CEST] <barg> like duration in minutes / speed = total minutes ?
[19:53:04 CEST] <barg> i mean. outputduration/speed = minutestoprocess ?
[19:53:39 CEST] <barg> what's the unit of speed?
[19:55:09 CEST] <DHE> multiple of realtime processing
[19:55:28 CEST] <DHE> seconds of video processed / second of wall-clock time taken
[19:57:50 CEST] <KodiakIT[m]> I think I asked here before but I'm not sure that I got an answer. Is it possible to take 2 copies of a video (one widescreen, one letterbox) and use ffmpeg to combine/mux them?
[19:58:16 CEST] <kepstin> KodiakIT[m]: you have to describe what you mean by "combine"
[19:58:34 CEST] <kepstin> KodiakIT[m]: since that can mean multiple different things, which you have to do different things for
[19:59:38 CEST] <barg> say you have frame= 2317 fps=183 q=21.0 size= 14080kB time=00:01:17.34 bitrate=1491.3kbits/s speed=6.12x
[19:59:54 CEST] <barg> output duration is 2min..
[20:00:07 CEST] <barg> and that copy/paste was done after about 15-20 seconds
[20:00:16 CEST] <barg> where is the wall clock?
[20:00:58 CEST] <KodiakIT[m]> kepstin: right, sorry. I mean like encode them into one single file that such that either of the two streams could be played back depending on the video player for whichever format makes more sense (e.g. selecting the widescreen on a newer monitor, or the letterbox for a projector/older one)
[20:01:03 CEST] <kepstin> on your wall. or often people have them on a panel/taskbar on their screen somewhere.
[20:01:44 CEST] <barg> so given that line from ffmpeg I can't tell how long it will take, I have to have started a timer before ffmpeg started?
[20:01:59 CEST] <kepstin> KodiakIT[m]: so, the hard problem there is player support. I have never heard of a player that supports automatically selecting a video stream. And many don't even allow manually selecting the video stream.
[20:02:24 CEST] <barg> the time is 7:02pm I don't see how that fits into anything but that's the wall clock
[20:02:30 CEST] <kepstin> KodiakIT[m]: for best compatibility, you want two separate files. You can put both video tracks into a single file with ffmpeg.
[20:02:51 CEST] <KodiakIT[m]> kepstin: That's what I figured. Oh well.
[20:03:32 CEST] <kepstin> KodiakIT[m]: something like `ffmpeg -i video1.mp4 -i video2.mpv -map 0 -map 1 output.mkv` will copy both video tracks into a single file, but playing them is another matter :)
[20:03:51 CEST] <kepstin> (throw a `-c copy` in there too i guess)
[20:04:02 CEST] <KodiakIT[m]> Well, I suppose I'll give it a try! Can't hurt, right?
[20:04:41 CEST] <kepstin> i'd expect most players will play whichever video happened to be first (or otherwise marked as default), and a few might have an option to allow selecting the other manually.
[20:05:56 CEST] <kepstin> barg: if the speed is 6.12x, then for every 1 second that passes on your realtime clock ("wall clock"), ffmpeg will have encoded 6.12 seconds of video.
[20:06:22 CEST] <barg> ah. thanks
[20:06:23 CEST] <kepstin> barg: if you know what the length of the final encoded video will be, then you can divide by the speed to get the amount of real time that it will take to encode.
[20:07:16 CEST] <barg> so unit is seconds per seconds of encoded video
[20:07:23 CEST] <barg> unit of speed is ^
[20:07:34 CEST] <barg> or rather.. seconds of encoded video pe rsecond
[20:09:12 CEST] <barg> yeah, thanks
[20:09:19 CEST] <barg> that works!
[20:12:57 CEST] <KodiakIT[m]> Kepstin, awesome, that did it! VLC can see both video streams just fine it seems.
[20:16:10 CEST] <KodiakIT[m]> Well, with -c copy anyway, doesn't seem to be terribly happy with me when I try to pass -c:v libvpx et al
[20:16:34 CEST] <KodiakIT[m]> "Subtitle encoding currently only possible from text to text or bitmap to bitmap" is what it complains about with the latter.
[20:46:21 CEST] <kepstin> KodiakIT[m]: to fix that particular error, use "-c:s copy" so ffmpeg doesn't try to transcode the subtitles
[20:46:55 CEST] <kepstin> image subtitles are tricky tho, they're usually designed for a particular video resolution so you need to make sure to pick the ones that match the video track you picked :)
[20:48:08 CEST] <KodiakIT[m]> kepstin: I'll try that now! Since it'll be in mkv format, I could figure out how to work those back in later right?
[20:49:11 CEST] <KodiakIT[m]> Or, never mind, I misunderstood, I was thinking that would drop them ><
[22:02:48 CEST] <classsic> Hi everybody
[22:04:03 CEST] <classsic> I use this command: ffmpeg -i rtmp:... -vcodec copy -an rtmp://server..../noaudio |when test the output stream, still get audio :-O
[22:06:01 CEST] <KodiakIT[m]> kepstin: on the subject of subtitles & MKV's, would I be able to swap out all of the fonts for all the video files with subtitles I have (say with Roboto or Noto Sans, or maybe a monospaced variant of one of those?)
[22:06:28 CEST] <kepstin> KodiakIT[m]: you can't swap out fonts on image subtitles, they're images.
[22:07:09 CEST] <kepstin> changing the fonts on text subtitles would probably require extracting them to a file so you can edit them, then reattaching them to the mkv (possible also attaching the fonts)
[22:07:28 CEST] <kepstin> might be easier to do that with mkvmerge/mmg rather than ffmpeg
[22:10:23 CEST] <KodiakIT[m]> Yeah, I figured it'd be using one of the mkv specific utils. (I picked it specifically in case I needed to do something along the lines of adding/changing subs, like this). When I was using Handbrake to extract the files from the dvdbackup dump of the discs, I noticed some subs were labed VOBSUB and others CC608 (or something like that). I'm guessing/hoping that one of those is text and the other is the bitmap?
[22:24:08 CEST] <KodiakIT[m]> I probably wouldn't have even thought to swap the fonts had I not previewed a couple encodes to make sure I got the subs before deleting the dvdbackup dump, and some of them were positively fugly
[22:28:06 CEST] <kepstin> the CC608 stuff is closed captions, and they are a text based format, but are kinda strange to work with
[22:28:35 CEST] <kepstin> vobsub is image subs, only way to improve them is to use OCR to try to read them :)
[22:32:27 CEST] <KodiakIT[m]> I'll keep that in mind for the future. I think I grabbed both where both were available, but I'm pretty sure most were unfortunately VOBSUB (and set that as the default too). Guess I know better for digitizing any other media in the future at least even if its too late for the ones I've already got heh
[22:32:51 CEST] <kepstin> yes, most dvds will tend to have vobsub only
[22:33:32 CEST] <kepstin> closed captions will sometimes be present for releases of stuff that's e.g. originally from tv broadcast, where it had closed captions in the broadcast.
[22:42:52 CEST] <KodiakIT[m]> At least there are libraries for OCR, so fixing those should be a bit less painful than figuring out how to check some other transcodes to make sure there's no (severe) artifacting from screwy encodes.
[22:46:07 CEST] <KodiakIT[m]> Ack. So much for saving more space with the re-encode with the dual video streams. I was hoping that with them being the widescreen and letterbox versions of the same movie that it would be closer in size to the ~550MB of each of the originals rather than the 1.1GB of the straight copy
[23:40:01 CEST] <analogical_> what do I type so I can convert an mkv-file to an mp4-file if the source file contains two audiostreams?
[23:42:00 CEST] <analogical_> ffmpeg -i filename.mkv -c copy newfilename.mp4 only adds one of the audiostreams to the output file
[23:42:25 CEST] <analogical_> I want the output file to contain both the audiostreams from the source file
[23:42:47 CEST] <pink_mist> lol, I didn't even know mp4 supported more than one audiostream
[23:44:22 CEST] <cehoyos> ffmpeg -i input -map 0:v:0 -map 0:a:0 -map 0:a:1 -c copy out.mp4
[23:44:32 CEST] <cehoyos> To make one video and the first two audio streams
[23:44:46 CEST] <cehoyos> -map 0 to map all streams of the first input file
[23:44:59 CEST] <cehoyos> s/make/map
[23:46:37 CEST] <analogical_> so what should I type to achieve my specific intent?
[23:47:39 CEST] <kepstin> KodiakIT[m]: the video streams are encoded completely independently, just muxed into the container. the size would be the sum of the two sizes.
[23:47:45 CEST] <kepstin> into the same container*
[23:48:35 CEST] <analogical_> cehoyos, could you please be more specific?
[23:48:51 CEST] <cehoyos> No?
[23:48:59 CEST] <cehoyos> Sorry, I don't know how I could be more specific...
[23:49:29 CEST] <cehoyos> What is unclear about what I wrote above?
[23:49:44 CEST] <analogical_> Sorry, I don't know how you could be more confusing...
[23:49:55 CEST] <cehoyos> ok, sorry
[23:50:40 CEST] <pink_mist> analogical_: he literally gave you the exact line you needed, what's confusing about that?
[23:51:18 CEST] <analogical_> sigh!
[23:51:32 CEST] <KodiakIT[m]> kepstin: even so I'd hoped the opts I used would have shrunk each of them a bit more than that. (I'd set handbrake to use CQ0 for all the DVD encodings)
[23:51:56 CEST] <kepstin> "cq0"? what codec are you using?
[23:52:00 CEST] <pink_mist> (I'm still surprised that mp4 can take more than one audiostream)
[23:52:46 CEST] <kepstin> KodiakIT[m]: you certainly could make the result smaller than dvds if you choose appropriate options. dvds are encoded using very inefficient settings with mpeg2, so it's easy to make them smaller without noticably reducing quality.
[23:53:40 CEST] <KodiakIT[m]> VP8, using the Consant Quality setting. They're a whole lot smaller than the DVDs they replaced, but even so, I wouldn't mind shrinking it down a bit more.
[23:54:39 CEST] <KodiakIT[m]> Well, not replaced really, they're still kicking around downstairs somewhere, but I'd rather have copies of stuff that's not at risk of no longer playing from getting too scratched up or otherwise physically damaged.
[23:54:54 CEST] <analogical_> pink_mist, it's unusual that mp4 files have multiple audiostreams and it doesn't work nearly as well as it does with mkv files
[23:55:39 CEST] <analogical_> mp4 is an inferior container compared to mkv imho
[23:55:43 CEST] <KodiakIT[m]> whoops, forgot to tag ya in my reply kepstin: ^^
[23:56:03 CEST] <KodiakIT[m]> As I understand it from a technical perspective, it kinda is
[23:56:11 CEST] <kepstin> KodiakIT[m]: vp8 is a pretty terrible codec, and its "constant quality" mode isn't very good
[23:56:15 CEST] <kepstin> at least use vp9 :/
[23:56:18 CEST] <KodiakIT[m]> (But I could understand incorrectly)
[23:57:45 CEST] <KodiakIT[m]> kepstin: That's the next step actually! The only problem is VP9 seems to be a fair bit slower on my system (even with -row-mt=1) (to put it mildly)
[23:58:11 CEST] <analogical_> cehoyos, I finally understood what you typed. Thanks for the help.
[23:58:22 CEST] <kepstin> KodiakIT[m]: hmm, possibly a bad choice of speed options then
[23:59:27 CEST] <kepstin> KodiakIT[m]: the options I'd recommend (ffmpeg option syntax) for vp9 are "-quality good -speed 1", i dunno how they map in handbrake
[00:00:00 CEST] --- Fri Sep 13 2019
1
0
[00:14:20 CEST] <rcombs> is there a reason nvenc isn't FF_CODEC_CAP_INIT_THREADSAFE
[00:37:40 CEST] <cone-556> ffmpeg 03Paul B Mahol 07master:ccaeabd092d3: avfilter/vf_v360: fix fov calculation for stereographic output
[00:37:41 CEST] <cone-556> ffmpeg 03Paul B Mahol 07master:f705dc9a7453: avfilter/vf_v360: increase h_fov max limit
[00:37:42 CEST] <cone-556> ffmpeg 03Paul B Mahol 07master:0f0f5188acc6: avfilter/vf_v360: remove w/h changing for flat output
[00:38:48 CEST] <Lynne> durandal_1707: forgot to git add; here's working patches: https://0x0.st/zJls.patch https://0x0.st/zJlf.patch
[00:39:33 CEST] <durandal_1707> scared to use website with git?
[00:44:03 CEST] <Lynne> I'm just lazy, but a git repo woulnd't help at the rate I'm rewriting the commits
[03:53:53 CEST] <cone-446> ffmpeg 03Aman Gupta 07master:ab4835f41885: avcodec/v4l2_m2m_enc: add support for -force_key_frames
[03:53:53 CEST] <cone-446> ffmpeg 03Aman Gupta 07master:ac52e06e56fd: avcodec/v4l2_m2m: disable info logging during device probe
[03:53:53 CEST] <cone-446> ffmpeg 03Aman Gupta 07master:7bb6898b16f3: avcodec/v4l2_m2m: fix av_pix_fmt changing when multiple /dev/video* devices are probed
[03:57:22 CEST] <cone-446> ffmpeg 03Dave Stevenson 07master:d61cf1b1ebc2: avcodec/v4l2_buffers: Add handling for NV21 and YUV420P
[04:11:21 CEST] <philipl> Lynne: I can try and look over an updated patch. It's also possible something is buggy. The testing they do of this stuff is clearly questionable - remembering that the VkImage interop launched completely broken, and I had a fun time tracking down someone to report the bug through.
[04:17:03 CEST] <cone-446> ffmpeg 03Aman Gupta 07master:c0c794619671: avcodec/v4l2_m2m: decouple v4l2_m2m helpers from AVCodecContext
[04:17:04 CEST] <cone-446> ffmpeg 03Lukas Rusak 07master:f9b0f88aa471: avcodec/v4l2_m2m_dec: fix indentation and add M2MDEC_CLASS macro
[04:17:05 CEST] <cone-446> ffmpeg 03Aman Gupta 07master:84540b2b847c: avcodec/v4l2_m2m_enc: fix indentation and add M2MENC_CLASS macro
[04:17:06 CEST] <cone-446> ffmpeg 03Aman Gupta 07master:b3b958c19e30: avcodec/v4l2_buffers: teach ff_v4l2_buffer_avframe_to_buf about contiguous planar formats
[04:17:07 CEST] <cone-446> ffmpeg 03Aman Gupta 07master:2b21bb4a87cb: avcodec/v4l2_buffers: split out AVFrame generation into helper method
[04:17:08 CEST] <cone-446> ffmpeg 03Aman Gupta 07master:d620b1f9de57: avcodec/v4l2_buffers: split out V4L2Buffer generation into helper method
[04:17:09 CEST] <cone-446> ffmpeg 03Lukas Rusak 07master:40a433e34b3e: avcodec/v4l2_buffers: split out v4l2_buf_increase_ref helper
[04:25:30 CEST] <Lynne> philipl: actually don't yet, there's a problem with my semaphores
[04:26:19 CEST] <Lynne> I destroy them (checking if they're NULL ofc) on every memcpy, but that's causing the next push call to hang
[04:26:34 CEST] <Lynne> if I let them leak its fine
[04:27:45 CEST] <Lynne> I need to call cuSignalExternalSemaphoresAsync right after the 2d memcpys, right?
[04:33:00 CEST] <cone-446> ffmpeg 03Lynne 07master:6b22e28f4c85: opusdsp: adjust and optimize C function to match assembly
[04:33:08 CEST] <cone-446> ffmpeg 03Lynne 07master:4ce1e13b5465: checkasm: add opusdsp tests
[04:49:04 CEST] <cone-446> ffmpeg 03Jun Zhao 07master:44b55a8c9c87: lavfi/anequalizer: fix memory leak in error handling path
[04:49:05 CEST] <cone-446> ffmpeg 03Jun Zhao 07master:944d76a3e056: lavfi/sinc: fix memory leak in error handling path
[05:07:36 CEST] <philipl> Lynne: yes, after the copy. You want to create the semaphores (one for signalling the write to vulkan and one signalling the read completion back to cuda) when you export the frame and keep the semaphores around for the remainder of the frame lifetime.
[05:07:45 CEST] <philipl> That's all part of minimising the expensive operations.
[05:08:31 CEST] <philipl> I suspect that if you destroy a semaphore after signalling, but before the signal is acknowledged, you'd get the hang.
[05:10:55 CEST] <philipl> haasn implemented a particular pattern in libplacebo around this where you explicitly hand-off and take back images to the external API and that ensures the semaphores are signalled and awaited at the right times.
[05:11:28 CEST] <philipl> So you could do a bunch of operations in vulkan and then export the image, so you only signal once, and then can immediately await on the cuda side.
[05:16:31 CEST] <haasn> 05:08 <philipl> I suspect that if you destroy a semaphore after signalling, but before the signal is acknowledged, you'd get the hang. <- haven't double checked but this sounds quite bad
[05:18:28 CEST] <haasn> we refcount semaphores in libplacebo and only release them once the last operation using them is fully completed
[05:18:48 CEST] <haasn> but I think if you import the semaphore into libplacebo, that would probably create an internal copy in the driver
[05:18:57 CEST] <haasn> so it might be enough that libplacebo is still holding on to it
[06:15:55 CEST] <philipl> haasn: to clarify, I meant the cuda side of that. I'm not making a statement about just dealing with the semaphore in vulkan.
[13:37:40 CEST] <thardin> whups, ibc is this weekend not in like two weeks
[13:40:27 CEST] <kierank> lol
[13:40:32 CEST] Action: kierank in amsterdam
[13:44:48 CEST] <thardin> noice
[14:56:58 CEST] <j-b> me too
[15:14:30 CEST] <cone-164> ffmpeg 03Paul B Mahol 07master:cb41c2af92f2: avfilter/vf_v360: really fix FoV selection
[15:14:30 CEST] <cone-164> ffmpeg 03Paul B Mahol 07master:783ea9c1c519: avfilter/vf_v360: extend max limit to vertical fov
[15:26:50 CEST] <cone-164> ffmpeg 03Andriy Gelman 07master:78b86c30d386: avcodec/h2645_parse: simplify memset call
[16:25:46 CEST] <cone-164> ffmpeg 03Paul B Mahol 07master:7ce7002664fb: avfilter/vf_v360: refactor FoV calculation for stereographic
[16:45:22 CEST] <cone-164> ffmpeg 03Paul B Mahol 07master:efc73b13ac39: avfilter/vf_v360: remove pointless special case when allocating stuff
[18:27:45 CEST] <durandal_1707> Lynne: did you broke fate?
[18:30:47 CEST] <mkver> According to http://fate.ffmpeg.org/, no.
[18:58:06 CEST] <Lynne> that reminds me, could people run ./tests/checkasm/checkasm --test=opusdsp --bench on a non-skylake cpu?
[18:59:32 CEST] <Lynne> the deemphasis function was tricky to order, a single "noop" reorder in operations and you get 20k+ decicycles per execution
[19:00:56 CEST] <tmm1> is my understanding of pkt_dts in https://patchwork.ffmpeg.org/patch/14877/ correct?
[19:01:08 CEST] <Lynne> on both my CPUs I get around ~8.5x speedup
[19:40:24 CEST] <cone-164> ffmpeg 03Aman Gupta 07master:8dc973dc8919: avcodec/v4l2_buffers: read height/width from the proper context
[19:40:25 CEST] <cone-164> ffmpeg 03Aman Gupta 07master:3475758a3791: avcodec/v4l2_m2m_dec: set pkt_dts on decoded frames to NOPTS
[19:40:26 CEST] <cone-164> ffmpeg 03Aman Gupta 07master:fac834b2ae0b: avcodec/v4l2_context: expose timeout for dequeue_frame
[19:40:27 CEST] <cone-164> ffmpeg 03Maxime Jourdan 07master:584ac1ad0bb5: avcodec/v4l2_m2m_dec: fix dropped packets while decoding
[20:16:41 CEST] <mkver> jkqxz: Mark, if one wants to add a user data unregistered SEI in h264_metadata and the call to ff_cbs_h264_add_sei_message fails, the allocated buffer (with the string) will leak. One could either add code to fix this in h264_metadata or in ff_cbs_h264_add_sei_message. I prefer the latter (one can then simply call cbs_h264_free_sei_payload). What do you think?
[20:21:26 CEST] <mkver> tmm1: Your recent patches broke compilation.
[20:22:18 CEST] <mkver> See e.g. http://fate.ffmpeg.org/log.cgi?time=20190911181643&slot=aarch64-linux-gcc-7…
[20:31:16 CEST] <cone-164> ffmpeg 03Aman Gupta 07master:80c9237b2f9a: avcodec/v4l2_m2m_dec: fix compile
[20:33:40 CEST] <tmm1> thx for heads up
[22:08:55 CEST] <cone-164> ffmpeg 03Aman Gupta 07master:0085c4d47856: avcodec/v4l2_buffers: use correct timebase for encoder/decoder
[22:08:56 CEST] <cone-164> ffmpeg 03Maxime Jourdan 07master:b81a1c5bea34: avcodec/v4l2_context: set frame SAR using VIDIOC_CROPCAP
[23:31:24 CEST] <Lynne> philipl: could you check https://0x0.st/zJdt.patch https://0x0.st/zJdv.patch for what I'm missing that's causing the hangs?
[23:31:51 CEST] <Lynne> error handling and cleanup is done, that's the only thing left for the hwcontext I can think of
[23:33:00 CEST] <Lynne> not sure what's left to do with the filters and the abstractions either
[23:34:24 CEST] <Lynne> there's still vf_overlay_vulkan that I've ignored but I don't want to have to deal with pixel format conversions there now
[00:00:00 CEST] --- Thu Sep 12 2019
1
0
[00:00:01 CEST] <Diag> I had put the prefix in
[00:00:22 CEST] <BtbN> "make install"'ing ffmpeg usually causes a mess because it clashes with distro librariess
[00:00:28 CEST] <Diag> ah
[00:00:48 CEST] <Diag> just for reference im doing this on the ps3~
[00:02:00 CEST] <qmr> how can I process only a small section of a clip? like to see results before running the whole thing
[00:02:13 CEST] <qmr> just got hit on my bike, trying to get this woman's face from mirror
[00:02:59 CEST] <Diag> -t should set the encode length
[00:03:07 CEST] <qmr> -t <seconds> ?
[00:03:14 CEST] <Diag> sec ill getcha the page
[00:04:11 CEST] <Diag> qmr: https://trac.ffmpeg.org/wiki/Seeking
[00:04:40 CEST] <Diag> make sure you set the time *BEFORE* the input *AND* after it
[00:05:36 CEST] <Diag> err sorry
[00:05:45 CEST] <Diag> Seek before, use -t after
[00:05:57 CEST] <qmr> should I be playing with gamma, or something else? gamma=3 brightened her face, but it's ... too bright. like it needs contrast adjusted too
[00:06:34 CEST] <Diag> if you just need a few frames out of a video and the video isnt a crazy size, id be happy to cut some stuff out of it for you with actual editing software
[00:07:34 CEST] <Diag> youre sorta doing it in a really roundabout way
[00:08:39 CEST] <qmr> well I tried in imovie, it didn't go high enough though. actually just got a good face shot from clip where she hit me, idk why I didn't look there first
[00:10:41 CEST] <Diag> oh jesus its building
[00:11:41 CEST] <Diag> BtbN: http://tyronesbeefarm.com/images/201970eb118f-112d-4929-bba5-7a10a4807de4.p… XD
[00:12:14 CEST] <Diag> its running off a flashdrive. im comitting so many sins right now
[01:15:36 CEST] <chinknot> How do I solved this error? I happened today for the first time: "Too many packets buffered for output stream 0:1."
[01:15:40 CEST] <chinknot> solve*
[01:15:49 CEST] <chinknot> ah can't type tonight
[01:29:24 CEST] <Diag> still compiling
[01:29:40 CEST] <Diag> its not very fast when it has to keep jumping back and forth to the flashdrive X_X
[01:29:58 CEST] <Diag> just passing through libav hevc now
[01:48:32 CEST] <quint> Is it possible to do 2-pass encoding while resizing a video?
[01:55:23 CEST] <Diag> would you not just put the resize filter before the encode options
[01:58:39 CEST] <quint> Diag: I actually just realized one of my options was wrong.
[01:58:42 CEST] <quint> I've got it working
[01:58:43 CEST] <Diag> :V
[01:58:46 CEST] <Diag> far out
[01:59:32 CEST] <quint> The first pass worked, but the second didn't.. Sure enough it was the audio
[02:00:18 CEST] <quint> All g.
[02:01:55 CEST] <Diag> nice
[02:52:25 CEST] <Diag> the build failed
[06:25:31 CEST] <markfilipak> Seeking function that will alternate pixels of field x.top with pixels of field x+1.top (i.e., blend two fields). I've searched but not found joy. Any way using ffmpeg?
[08:19:10 CEST] <markfilipak> Troubleshooting... Am I actually on #ffmpeg?
[08:25:38 CEST] <markfilipak> If HexChat is designed to work with IRC, then why doesn't HexChat help, like asking for me to make a password and then stuffing it into the right places? Instead, it leaves it up to me to figure out.
[08:26:54 CEST] <markfilipak> It's not a mountain to climb, it's a mountain with an initial cliff.
[08:28:29 CEST] <snooky> moin
[08:29:16 CEST] <markfilipak> Sorry. I'm a little angry about the days of my life spent trying to discover why HexChat doesn't work as advertised ...and it turns out to be the most basic thing that should be documented but isn't.
[08:30:12 CEST] <markfilipak> Oops. Sorry. I'm not on #hexchat. Leaving...
[09:28:30 CEST] <markfilipak> Seeking function that will alternate pixels of field x.top with pixels of field x+1.top (i.e., blend two fields). I've searched but not found joy. Any way using ffmpeg?
[09:30:50 CEST] <markfilipak> In other words, if the pixels of field x.top are abcd... and the pixels of field x+1.top are mnop... the resulting field would be amcodp...
[09:31:23 CEST] <markfilipak> Make that amcoeq...
[09:39:23 CEST] <Radiator> Is anyone aware if the swscale function is broken ?
[10:08:48 CEST] <Radiator> Does anyone knows why sws_scale gives me wrong output from a YUVJ420P to RGB24 ? I look like a smurf after the conversion...
[10:09:03 CEST] <Radiator> I typically follozed this example : https://gist.github.com/nakaly/11eb992ebd134ee08b75e4c67afb5703
[10:26:51 CEST] <JEEB> Radiator: if you are using ffmpeg for decoding i recommend trying out the libavfilter scale filter
[10:27:01 CEST] <JEEB> takes avframes
[10:27:38 CEST] <Radiator> Ok, from what I've read, the sws_scale function isn't really reliable ?
[10:27:54 CEST] <JEEB> so less chances of getting it wrong
[10:28:06 CEST] <JEEB> Radiator: scale filter uses swscale in the background
[10:28:23 CEST] <Radiator> Oh ok, I'll give it a look
[10:28:39 CEST] <JEEB> but you don't have to do the swscale stuff yourself in other words
[10:28:54 CEST] <JEEB> and it makes adding stuff like deinterlacing simplet
[10:29:12 CEST] <JEEB> since you csn just plug filters into your filter chain
[10:29:24 CEST] <Radiator> Well, if there's functions that ease my job let's use them
[10:31:29 CEST] <JEEB> and you can also utilize zimg library through the zscale filter which supports only the most common pixel formats but generally does stuff like gamma correct scaling
[10:31:45 CEST] <JEEB> if you built ffmpeg with that library of course
[10:31:57 CEST] <JEEB> but the scale filter is what you can start with :)
[10:32:50 CEST] <Radiator> I don't think I'll have time to implement the zimg usage but I will definitely look at it
[16:04:32 CEST] <chinknot> Applying a fade out filter to an audio track causes an "Too many packets buffered for output stream 0:1" error and if I try to use this source in a loop with a still image and use the -max_muxing_queue_size workaround the output file completely ignores the image input. I tried multiple times and this happens only when I use an audio filter (fade
[16:04:32 CEST] <chinknot> out in this case).
[16:06:31 CEST] <chinknot> Applying the filter itself doesn't output errors btw. I get that error only if I try to use the faded audio track as source again
[16:43:14 CEST] <lyncher> hi. I'm using the filter showinfo to display the input PTS from a file recorded from a DVB broadcast
[16:43:41 CEST] <lyncher> the problem that I've is that when the PTS is reset, the showinfo output keeps showing an incremental PTS
[16:44:01 CEST] <lyncher> not related with the input PTS (I have the -copyts flag)
[16:44:19 CEST] <lyncher> the input is being filtered with a filtercomplex
[16:45:21 CEST] <lyncher> is there any way to get the input PTS after a filtecomplex+showinfo?
[18:24:02 CEST] <chinknot> after some testing I found out I don't need the -max_muxing_queue_size flag at all if I remember to add the -vn flag when converting audio files. That alone solved the packets issue and fixed the image input being ignored in the final remux
[19:49:54 CEST] <ncouloute> When I use the concat demuxer it will change the duration of my original clips. Is there any way to prevent that or get the new start and stop times? (using ffmpeg.c) I know there is a inpoint outpoint and duration but it seems add frames before and after due to non-intra frame codec. (h264) Maybe I can cut the video at the nearest key frame?
[21:57:29 CEST] <Sirisian|Work> When compiling on windows how do I generate ffmpeg.dll that's used by some programs? I thought --enable-shared did that, but I guess it only builds the other dlls.
[22:03:44 CEST] <Sirisian|Work> oh nvm I found a tutorial in the docs for another app for doing it.
[22:11:40 CEST] <puchu> hi
[22:12:20 CEST] <puchu> how can i copy the audio+video of the second track of an dvd to an file?
[22:26:29 CEST] <cehoyos> puchu: What did you try? Use the map option
[22:28:43 CEST] <kepstin> puchu: note that ffmpeg doesn't support reading dvd structures directly. depending on how the dvd is laid out you might be able to find the right vob files, concatenate them, and use them as ffmpeg input - but that won't always work
[22:29:29 CEST] <kepstin> i sometimes use `dvdbackup` to pull specific titles / chapter ranges / angles out of a dvd to use with ffmpeg
[22:34:51 CEST] <AlexVestin> is there a way to tell the decoder that the frame_num will reset after an IDR frame? I'm having issues using the hwenc that raspberry pi uses
[22:36:05 CEST] <KodiakIT[m]> Is there a particular opt I should be looking for for stripping out any id3v2_priv.<> tags? (and/or excluding them from `ffprobe -show_format -show_streams`?)
[22:55:23 CEST] <KodiakIT[m]> Also, on that note, what's the proper syntax for compact json? (or passing any other opts to any other format specified by `-of` for that matter?)
[23:09:27 CEST] <puchu> cehoyos which map option - some examples?
[23:09:32 CEST] <puchu> kepstin: :(
[23:09:58 CEST] <puchu> cehoyos kepstin: i only have an iso file of a dvd
[23:10:21 CEST] <puchu> mpv plays it nicly and i'd like to extract an track
[23:10:41 CEST] <cehoyos> ffmpeg cannot deal with iso files
[23:11:25 CEST] <cehoyos> mplayer -dumpstream should produce an mpeg stream that ffmpeg can read
[23:11:26 CEST] <KodiakIT[m]> puchu, you can use dvdbackup with an iso file too. Handbrake can also handle (some of) them
[00:00:00 CEST] --- Thu Sep 12 2019
1
0
[01:45:25 CEST] <rcombs> Dmitri_Ovch: hmm, have you tried using the OpenCL integration? it looks like that has better support for passing in GPU-side buffers
[01:45:43 CEST] <rcombs> i.e. AV_PIX_FMT_OPENCL
[01:46:31 CEST] <rcombs> also, in either case, how does device selection work?
[01:47:08 CEST] <rcombs> looks like it's just letting the library pick a default? (which is probably fine for most cases I suppose)
[01:48:37 CEST] <rcombs> or, hmm, there is a CreateSurfaceFromVulkanNative function, but there's no AV_PIX_FMT_VULKAN yet
[08:27:50 CEST] <cehoyos> Good morning
[08:28:04 CEST] <cehoyos> Who else had a lovely chat with a lady from Berlin - in English?
[08:53:24 CEST] <akravchenko188> rcombs: AV_PIX_FMT_OPENCL is planned to support soon. since we submit this change. hopefully this will not take a lots of time
[08:54:58 CEST] <akravchenko188> rcombs: device selection in case of incoming host buffers is also planned in different commit
[08:55:21 CEST] <rcombs> fair enough, looking forward to seeing those
[08:57:02 CEST] <akravchenko188> since FFmpeg does not have hwcontext_vulkan, vulkan is used internaly in amf uploading from Host to Vulkan surface
[08:58:12 CEST] <akravchenko188> when hwcontext_vulkan is implemented, we could implement full hw pipeline with AV_PIX_FMT_VULKAN
[08:58:36 CEST] <akravchenko188> probably there should be interop between opencl and vulkan, didnt investigated yet
[09:18:29 CEST] <thilo> cehoyos: uuuh, Berlin is yet another location on the list
[10:22:35 CEST] <cone-170> ffmpeg 03Michael Niedermayer 07master:00ed04d61496: avformat/ifv: Check for EOF in read_index()
[10:22:35 CEST] <cone-170> ffmpeg 03Shiyou Yin 07master:153c60752558: avutil/mips: refactor msa load and store macros.
[12:04:22 CEST] <jdarnley> I see Big Brother shills are out in force in order to dissuade people from using PGP
[12:04:47 CEST] <jdarnley> They have reminded my that my key expires next year.
[12:09:10 CEST] <rburton> getting qdm2_tablegen.c:(.text+0x36a): undefined reference to `avpriv_request_sample' when building 4.1.4 , 4.1.3 worked. any ideas?
[12:27:22 CEST] <mkver> Do you use hardcoded tables?
[12:32:16 CEST] <mkver> c8232e50074f6f9f9b0674d0a5433f49d73a4e50 should probably be backported.
[13:29:43 CEST] <rburton> yes, we do!
[13:29:52 CEST] <rburton> i'm just drive-by upgrading, what does that mean? :)
[13:30:04 CEST] <rburton> ah, mkver left
[14:45:49 CEST] <Lynne> rburton: why are you using hardcoded tables?
[15:18:19 CEST] <jdarnley> I wonder how much work it is to replace the "parser" used in expressions with an actual parser, Lua maybe.
[15:54:03 CEST] <whitestone> hello, i am ffmpeg user, i want to know something about the HLS demuxer, i know this is not the channel, but i am searching this info in google and i dont find a lot and in the users channel it looks like no one knows a lot about this demuxer
[17:33:31 CEST] <rburton> Lynne: reading up, dunno. i can turn that off :)
[17:42:45 CEST] <Lynne> yeah, you should, its not really used anywhere anymore but the mp3 decoder and a few others to generate a few hundred odd floats
[18:23:25 CEST] <JEEB> wbs: since you're the fragmented movenc person - adjusting all packet timestamps to the end of previous fragment or generating an empty sample at the beginning of a fragment to keep the fragment pts continuous?
[18:25:58 CEST] <wbs> JEEB: we do (at least my original code in libav) adjust the first timestamp of a fragment to the guessed end of the previpus
[18:27:43 CEST] <wbs> JEEB: if you know better than what the code guesses, set pkt_duration of the last packet in the prev fragment
[18:34:50 CEST] <wbs> JEEB: although I guess the proper meaning of pkt_duration is from this pts to the next after reordering, but movenc iirc treats it as duration until the next dts
[18:38:40 CEST] <JEEB> wbs: yea, frag_start is ok
[18:40:17 CEST] <JEEB> i just am trying ro think of the least bad way of doing the crap that says one sample per fragment, and i think the spec says that the single sample starts at the fragment start
[18:40:54 CEST] <JEEB> so do I either start wryyy'ing the packet timestamps, or do I add an empty sample in the beginning
[18:41:40 CEST] <JEEB> so that the second sample is then the starting packet
[18:42:13 CEST] <JEEB> of ourse that means I hope the place i am pushing this crap properly parses multipöe samples in a single fragment
[18:42:56 CEST] <JEEB> since the sample then contains subtitles timed after the start of sample
[18:44:47 CEST] <wbs> JEEB: ah, subs... the current code isn't written with that in mind no
[19:02:12 CEST] <JEEB> wbs: funny enough I think mov_text might more or less be working because it adds extra samples at the end of the segment I think?
[19:02:29 CEST] <JEEB> although not sure how that works when you don't know the required time until the next fragment
[19:02:50 CEST] <JEEB> I did quickly test and mov_text results seemed kind of sane
[19:03:28 CEST] <JEEB> wbs: also I wonder if it's simpler to just limit every sample into its own fragment instead of trying to buffer them until fragment flush
[19:03:51 CEST] <JEEB> which would mean a fragment per subtitle sample, but at that point we're anyways getting enough overhead :P
[22:51:34 CEST] <cone-407> ffmpeg 03Michael Niedermayer 07master:ed4c6ce750cf: tools/target_dem_fuzzer: ignore avformat_find_stream_info() failure
[22:51:34 CEST] <cone-407> ffmpeg 03Michael Niedermayer 07master:c5f265bb2468: avcodec/atrac9dec: Check conditions before apply_band_extension() to avoid out of array read in initialization of unused variables
[22:51:34 CEST] <cone-407> ffmpeg 03Michael Niedermayer 07master:b789ebf681ea: avcodec/h264_cavlc: Fix integer overflows with motion vector residual addition
[22:51:34 CEST] <cone-407> ffmpeg 03Michael Niedermayer 07master:7d3581e6bbec: avcodec/h264_refs: Also check reference in ff_h264_build_ref_list()
[22:51:34 CEST] <cone-407> ffmpeg 03Michael Niedermayer 07master:6ebbfb377f7b: avcodec/agm: Fix overflow of signed shift
[22:51:34 CEST] <cone-407> ffmpeg 03Michael Niedermayer 07master:5c46fdf305ca: avformat/utils: Check rfps_duration_sum for overflow
[22:51:35 CEST] <cone-407> ffmpeg 03Michael Niedermayer 07master:76af425159cf: avcodec/flashsv: add FF_CODEC_CAP_INIT_CLEANUP to flashsv1
[22:51:35 CEST] <cone-407> ffmpeg 03Michael Niedermayer 07master:1123331f59d3: avcodec/flashsv: add FF_CODEC_CAP_INIT_CLEANUP to flashsv2
[00:00:00 CEST] --- Sat Jul 20 2019
1
0
[00:33:19 CEST] <jkqxz> tmm1: I don't think there is anything funny about it? With the other SVC stuff implemented then it's just another NAL unit type, like the subset sequence parameter set.
[00:37:30 CEST] <jkqxz> I looked at including the SVC/MVC/3D syntax a while ago, but it's quite a lot of work and not really of much value to anyone.
[01:25:19 CEST] <tmm1> gotcha, thanks
[01:30:26 CEST] <jkqxz> Are you trying to implement something SVC?
[01:31:09 CEST] <jamrial> the vps extension stuff alone is a pita, last time i checked
[01:39:40 CEST] <tmm1> nah, i just noticed some "Decomposition unimplemented" log messages and was wondering if it was a quick fix to make them go away
[01:42:50 CEST] <jkqxz> With something which wasn't one of the SVC conformance test streams?
[01:45:17 CEST] <tmm1> yea a sample JEEB had, https://megumin.fushizen.eu/videos/2019-08-japan/VID_20190817_124927.mp4
[01:45:56 CEST] <tmm1> h264_analyze couldn't parse NAL_PREFIX so i'm not sure whats in there
[02:06:27 CEST] <rcombs> is patchwork down
[02:06:47 CEST] <nicolas17> rcombs: fails for me too
[02:09:18 CEST] <rcombs> cehoyos: heh, so decoding within lavf
[02:09:27 CEST] <cehoyos> Or not
[02:09:39 CEST] <rcombs> I'd considered that but had thought it seemed too extreme
[02:09:53 CEST] <rcombs> but if everyone else is okay with it
[02:12:20 CEST] <cehoyos> What did consider too extreme?
[02:12:24 CEST] <cehoyos> (Nobody is ok with it)
[02:12:27 CEST] <rcombs> decoding within lavf
[02:12:43 CEST] <cehoyos> I thought having code that nobody uses is not so good
[02:13:17 CEST] <rcombs> (I don't know if there's a particularly better way to do it, though; probably something weird in lavfi)
[02:13:48 CEST] <cehoyos> No (I mean of course, but not primarily), the code should be in the calling application, ffmpeg.c.
[02:14:17 CEST] <rcombs> some people discussed doing something with the HEVC decoder, or possibly having a BSF that generates tiled HEVC
[02:14:34 CEST] <cehoyos> Imo, this is not Alice in Wonderland...
[02:14:47 CEST] <cehoyos> (the bitstream filter)
[02:25:54 CEST] <jamrial> rcombs: a bsf wouldn't work. the tiles need to be assembled after decoding. so it's either libavfilter, or up to the user after libavformat returns the demuxed stream
[02:26:34 CEST] <rcombs> jamrial: HEVC has its own tiling syntax, so there was some speculation as to whether or not that could be used
[02:26:39 CEST] <rcombs> idk if it ever panned out though
[02:27:39 CEST] <jamrial> the point of using separate hevc images to combine into a single image after decoding is to get huge resolutions that no decoder could output otherwise
[02:28:56 CEST] <rcombs> my impression was that the codec-level tiling was similar, but that's about the extent of what I heard about it
[08:40:25 CEST] <peak3d> Hi, I'm from Kodi, for android h/w decoder feed we use ffmpeg lib to extract codec extradata if the source doesn't provide it (LiveTV for example). Code part: https://github.com/xbmc/xbmc/blob/master/xbmc/cores/VideoPlayer/DVDDemuxers….
[08:41:43 CEST] <peak3d> We now need sample_aspect_ratio for an h.263 packet, but from debugging parser struct does not contain this field (android decoder does not provide it)
[08:41:57 CEST] <peak3d> (h.264, sry)
[08:43:10 CEST] <peak3d> parser already seems to have parsed SPS because the dimensions are set in parser struct, question is now if there is any way to get the sample_aspect_ratio without decoding the packet
[08:44:05 CEST] <peak3d> the fields in AVContext are all empty at this stage, neither width nor height are filled, the only usable information is in parser
[08:48:14 CEST] <thardin> I was going to say this kind of info gets filled in when you decode the first packet, but if you want to avoid that then I suspect someone needs to implement it in the parser
[08:50:55 CEST] <peak3d> thardin: thx, ok, then for first I'll decode the frame, should not cost too much
[08:51:50 CEST] <peak3d> If it is too expensive (4K stuff), I'll provide a patch for it
[09:07:55 CEST] <thardin> sounds good. but there are peeps more knowledgable about h264 in lavc than me in here
[09:10:35 CEST] <peak3d> IMO the possibilities are limited, AVCodecParserContext does not contain such info (but width / height was added somewhen between 2.3 -> 4.0), I'll follow this code path to see if it is simple to append it
[09:16:21 CEST] <peak3d> There is another struct AVCodecParameters which contains the sample_aspect_ratio, not sure if this is only for encoders (??)
[09:17:20 CEST] <thardin> pass
[09:19:32 CEST] <kurosu> You need to get a SPS, and therefore the corresponding NAL
[09:20:03 CEST] <kurosu> This is located in the Video User Info, which is optional (but then that's the default value)
[09:21:16 CEST] <kurosu> peak3d: which is down to ff_h264_decode_seq_parameter_set, though I don't know what would trigger calling it
[09:21:47 CEST] <kurosu> But you certainly need to do some low level parsing
[09:25:43 CEST] <peak3d> kurosu SPS is already parsed inside ffmpeg during av_parser_parse2, I don't want to implement an own parser only because there is one field missing
[09:25:45 CEST] <peak3d> https://www.ffmpeg.org/doxygen/4.1/h264__parser_8c_source.html#l00391
[09:26:51 CEST] <peak3d> this is the place ffmpeg already sets AVParserContext fields from sps, so its a single line change ( or 5 lines changed if we do this for the other codecs, too) inside ffmpeg
[09:27:34 CEST] <kurosu> Right, you already get the SPS, so you're almost there but indeed the parser context doesn't have it
[09:27:50 CEST] <peak3d> I implemented yesterday an own SPS parser inside kodi, but I hate to implement things we already have in ffmpeg
[09:28:30 CEST] <peak3d> kurosu I'll add a patch for kodi, but will provide the change for discussion upstream
[09:30:32 CEST] <kurosu> You likely want SPS::sar and pass it down somehow, but then it becomes an ABI/API problem. That and the surprising fact that only h26* would implement populating the field at first
[09:30:56 CEST] <peak3d> IMO if we already provide width and height in ACParserContext (necessary e.g. to setup a display), sample_aspect_ratio makes sense, too. At least for kodi it would help (Android / ARM embedded h/w decoder)
[09:32:07 CEST] <kurosu> Note: not an API or "high-level" designer, so even if I agree with you, I'm not the right person for continuing the discussion
[09:32:27 CEST] <kurosu> Likely talk to nevcairiel or jamrial whenever they are active
[09:32:28 CEST] <peak3d> kurosu right, its unfortunately an ABI/API change, because of that I'll patch in kodi's version and look where discussion ends
[09:33:11 CEST] <peak3d> maybe there are already som other requests about extending AVPaserContext, and we can do all with one bump
[09:34:07 CEST] <peak3d> will wait for them, thx already
[09:39:51 CEST] <peak3d> I would also love to have the timing information from SPS to make an early display mode switch
[09:40:30 CEST] <peak3d> Currently we display the first decoded frame, then switch mode, then seek backwards, it looks sometimes not quite nice
[09:41:11 CEST] <peak3d> (timing information = fps
[09:45:46 CEST] <kurosu> I believe this is again optional and highly unreliable
[09:47:29 CEST] <kurosu> peak3d: the question is about the API, not the fields needed, right? (otherwise, that's timing_info_present_flag and the 2 following fields)
[09:48:38 CEST] <kurosu> But then that's again the old debate of codec vs container timing info, with lots of heuristics
[09:54:51 CEST] <peak3d> yes, from techical PV its all simle, but I fear that the discussion takes much more time because of the reasons you mentioned
[09:54:59 CEST] <peak3d> POV
[09:59:16 CEST] <peak3d> I'm away now for the next ~ 5 hours, sry
[12:29:16 CEST] <cone-861> ffmpeg 03Nicolas Gaullier 07master:cae5b36e2071: avcodec/h264: Fix poc_lsb in open gop context
[17:23:25 CEST] <cone-556> ffmpeg 03Shiyou Yin 07master:de5543d8d442: avcodec/mips: Fix a warnning of indentation not reflect the block structure.
[17:23:26 CEST] <cone-556> ffmpeg 03Jun Zhao 07master:3740bdee77ae: lavf/avidec: fix memory leak in error handling path
[17:23:27 CEST] <cone-556> ffmpeg 03Pascal Massimino 07master:857fd2ad9903: avcodec/webp: fix decoding for trailing junk
[17:23:28 CEST] <cone-556> ffmpeg 03Nikolas Bowe 07master:b794df43f3a5: avfilter/vf_fps: Avoid inlink fifo build up.
[17:23:29 CEST] <cone-556> ffmpeg 03Michael Niedermayer 07master:10ea6c3116f9: avcodec/pnm_parser: Use memchr() in pnm_parse()
[18:04:02 CEST] <durandal_1707> test
[18:05:42 CEST] <BradleyS> o7
[19:00:19 CEST] <cone-556> ffmpeg 03Paul B Mahol 07master:329505d90885: avfilter/vf_v360: add support for stereographic as input projection
[20:31:47 CEST] <cone-556> ffmpeg 03Paul B Mahol 07master:5fcb3cbaf0ba: avfilter/vf_v360: increase v_fov max limit
[20:31:48 CEST] <cone-556> ffmpeg 03Paul B Mahol 07master:e26fb6a714f6: doc/filters: extend flip options in v360 filter
[21:21:13 CEST] <durandal_1707> Lynne: how is vulkan framework going? i wish to write gpu v360 filter
[21:39:16 CEST] <Lynne> durandal_1707: I'll need to resurrect the scale filter to make sure lavfi-wise it still works
[22:33:38 CEST] <Lynne> durandal_1707: you can start from here https://0x0.st/zJls.patch https://0x0.st/zJlz.patch
[22:34:21 CEST] <Lynne> philipl: also implemented cuda semaphores ^^, but for some reason even if I disable them I leak GPU memory slowly, not sure where though
[22:53:06 CEST] <cone-556> ffmpeg 03Aman Gupta 07master:8a3623e2fbde: avcodec/mediacodecdec: warn when input buffers are not configured with proper size
[22:53:07 CEST] <cone-556> ffmpeg 03Aman Gupta 07master:7fddf4b2662b: avcodec/mediacodec_surface: define and use FFANativeWindow to mimic NDK interface
[00:00:00 CEST] --- Wed Sep 11 2019
1
0
[02:16:04 CEST] <Retal> Hello guys
[02:16:04 CEST] <Retal> I am trying get info about UDP stream bitrate info. I see frame size, fps.....
[02:16:04 CEST] <Retal> but no bitrate: bitrate: N/A
[02:16:04 CEST] <Retal> how to find bitrate info for UDP streams?
[02:18:38 CEST] <cehoyos> You have to calculate it (yourself), it is not part of the metadata iirc
[02:33:23 CEST] <Retal> cehoyos: how ?
[02:35:45 CEST] <cehoyos> If you copy the stream to /dev/null with ffmpeg, the status and the completion line both contain the bitrate iirc
[02:36:05 CEST] <cehoyos> If you write the stream to a file, you can calculate the bitrate (after writing)
[04:24:53 CEST] <danilo82> where can i see informations about the options for compilation?
[04:26:14 CEST] <pink_mist> ./configure --help
[06:12:41 CEST] <noumenon> <noumenon> here's a bit of a different question, based on something I'm about to do: I'm going to extract a certain audio clip from a specific time in a video using ffpmeg; would I be better off first cutting out the right part of the video and then extracting the audio, or extracting the entire audio first and then collecting the right part of it?
[06:13:04 CEST] <noumenon> or better yet, if there's built-in support for doing it all at once, that would be nice
[06:17:26 CEST] <DHE> while it can be done, ffmpeg as a CLI app is a bit of a blunt tool. depending on your exact needs, ffmpeg can extract the audio, save to .wav or something, and you can edit with a tool like audacity if that's your preference
[06:17:51 CEST] <wozencroft> Is it possible to play videos on the suckless surf browser?
[06:18:51 CEST] <noumenon> DHE: seems like it fits the bill nicely, extract the audio and then trim out the specific small clip I'm after
[06:19:16 CEST] <noumenon> was thinking of writing a small command for doing those two in succession for a specific time in a video, so that I can easily get small audio clips from videos
[06:19:32 CEST] <pink_mist> wozencroft: this is #ffmpeg, not #the-suckless-surf-browser
[06:19:43 CEST] <noumenon> that's why I was wondering whether or not extract entire audio and then trim is better than trim video and extract audio or vice versa
[06:19:50 CEST] <DHE> yeah ffmpeg can do that in one shot, but getting precise measurements into ffmpeg can be hard. coarse measurements and then something precise like audacity might work nicely
[06:20:17 CEST] <noumenon> right
[06:21:49 CEST] <noumenon> don't really need the precision either, since I'd be stuffing them into kdenlive where I can trim them more accurately too
[06:22:07 CEST] <noumenon> but you say you can do both in one shot, any trick to this?
[06:22:40 CEST] <DHE> ffmpeg -i inputfile.mp4 -ss [starttime-in-seconds] -t [duration-in-seconds] -map 0:a output.wav
[06:22:54 CEST] <DHE> I think that'll do
[06:23:05 CEST] <VadPerevad> wozencroft: copy link, play with mpv
[06:23:43 CEST] <noumenon> heh, was that off the top of your head?
[06:23:43 CEST] <noumenon> mad skills
[06:24:01 CEST] <DHE> make sure it works first. :)
[06:25:21 CEST] <noumenon> yeah, gonna try it now, finding a suitable clip
[06:25:21 CEST] <wozencroft> VadPerevad: Thx, that would be a good workaround. IT'd be great to get that working though
[06:27:51 CEST] <VadPerevad> wozencroft: if you need lite youtube version, there is tonvid dot com - copy link, play with mpv - easy as egg
[06:27:56 CEST] <noumenon> hmm
[06:27:58 CEST] <noumenon> [wav @ 0x56443e1b0c40] WAVE files have exactly one stream
[06:27:58 CEST] <noumenon> Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
[06:27:59 CEST] <noumenon> Error initializing output stream 0:1 --
[06:28:16 CEST] <noumenon> when I tried your command @ DHE
[06:29:11 CEST] <noumenon> with the inputfile.mp4 replaced with my movie file and starttime and durations replaced as well
[06:29:19 CEST] <DHE> you included -map 0:a ?
[06:29:29 CEST] <wozencroft> VadPerevad: Ok, I see, thx.
[06:29:32 CEST] <noumenon> yep
[06:29:50 CEST] <DHE> hmm.. can you pastebin the entire output of ffmpeg there?
[06:29:56 CEST] <noumenon> certainly
[06:31:22 CEST] <noumenon> https://pastebin.com/raw/Z1jg16A8
[06:31:41 CEST] <DHE> ah. you have 2 audio streams. you'll have to pick one.
[06:32:04 CEST] <DHE> 0:1 for the 5.1 surround, or 0:2 for the stereo version...
[06:32:22 CEST] <noumenon> hmm, I see; does it matter?
[06:32:52 CEST] <noumenon> like, if I pick the surround, will people with surround speakers be able to hear it in surround if it's preserved somehow all the way to them?
[06:32:53 CEST] <DHE> well, if this were an over the air broadcast usually the stereo feed is also the "Described video" variant for visually impaired viewers. but that metadata isn't indicated here.
[06:33:15 CEST] <DHE> at least that's how it is here in canada
[06:34:03 CEST] <noumenon> that doesn't tell me much
[06:34:15 CEST] <DHE> I'd start with the 5.1 version and see how it works out
[06:34:21 CEST] <noumenon> yeah, I'll try
[06:34:29 CEST] <noumenon> so -map 0:1 I guess, right
[06:34:32 CEST] <DHE> never tried 5.1 to a .wav file so...
[06:34:34 CEST] <DHE> yeah that's right
[06:35:33 CEST] <noumenon> awesome, that worked just fine
[06:36:08 CEST] <noumenon> and not a very complicated command either; what exactly does -map do?
[06:36:14 CEST] <noumenon> I guess I can go RTFM, heh
[06:36:29 CEST] <DHE> it selects which input streams get mapped into the output stream
[06:36:45 CEST] <DHE> since i knew that the default would try to pull in video and audio to a .wav which clearly isn't going to work
[06:37:02 CEST] <noumenon> oh, so the two audio streams were input streams from the movie; now I understand better what you meant previously
[06:37:32 CEST] <DHE> summarized on lines 19,23,27 of your output
[06:37:54 CEST] <noumenon> yes, I see now
[06:38:03 CEST] <noumenon> thanks a bunch
[08:40:26 CEST] <pingufan> Good morning.
[08:43:31 CEST] <pingufan> I am trying to recode an .mkv to make it more compact. I use the same settings as earlier (before I upgraded my PC to openSuSE Leap 15.0). I want to encode in h.264 but I see always see mpg2 as video format. Can somebody, please, check if my settings are correct?
[08:43:57 CEST] <pingufan> ffmpeg -i "$SRC" \
[08:43:58 CEST] <pingufan> -vcodec libx264 -vf hqdn3d=8:8:12:12 -x264opts keyint=5 -r 25 \
[08:44:00 CEST] <pingufan> -acodec ac3 -ac 2 -target film-dvd -s 1920x1080 -crf 19 \
[08:44:01 CEST] <pingufan> -map 0:0 -map 0:1 \
[08:44:03 CEST] <pingufan> -y "$TRG"
[08:47:46 CEST] <DHE> keyint=5 is crazy low for h264. most people use 60 or way higher
[08:49:16 CEST] <pingufan> Ok. But except of that ...
[08:50:07 CEST] <pingufan> I was able to squeeze down a full Bluray movie of 40GB to 8GB without noticable quality loss in FullHD.
[08:51:01 CEST] <pingufan> This I want to do again, but I always get an MPEG2 video and no h.264
[08:52:23 CEST] <pingufan> Or is it h.264 but only mentiones as mpeg2 in mplayer and ffplay ?
[08:53:17 CEST] <DHE> I'm going to need to see this output that claims it's mpeg2. you may be misreading it
[08:57:05 CEST] <pingufan> Ok, I try by pastebin...
[08:57:52 CEST] <pingufan> Here you see what mplayer shows: https://pastebin.com/Tj67ZGqQ
[08:59:45 CEST] <DHE> hmm.. it does claim mpeg2, and 9 megabits is high enough that it may not be immediately apparent if it's h264 or not by visual inspection if you don't know what to look for
[09:00:20 CEST] <DHE> ... I think -target is being taken literally. 9 megabit MPEG2 is exactly right for DVD video
[09:00:28 CEST] <DHE> and overriding all your other settings
[09:02:53 CEST] <pingufan> What shall I choose instead? Seems that something was changed then in ffmpeg. This is exactly the same script I used before on openSuSE 13.2, and there it produced h.264. Now I had to add "pal-" as prefix, too.
[09:04:12 CEST] <pingufan> What I want to generate is an h.264 encoded .mkv file in 1920x1080 resolution and CRF 19 for quality.
[09:04:35 CEST] <DHE> don't set a target. just take that clause out and leave the rest
[09:06:15 CEST] <pingufan> Yes, this solved it.
[09:07:27 CEST] <pingufan> Do you know the shell script "ffx264"? I tried with it, too, before I asked here. It asks a lot but then also created an mpeg2.
[09:12:40 CEST] <pingufan> Thank you so much for your help, DHE
[11:50:51 CEST] <Radiator> Hi all, I have a bit of a struggle there, I have a GeForce GTX 1050Ti and I try to decode from h264. I used the example here (https://ffmpeg.org/doxygen/4.1/hw_decode_8c-example.html) using the keyword cuda to decode the stream from a camera. It says that h264 isn't supported through cuda even though it seems to be. I've done some research and it
[11:50:51 CEST] <Radiator> seems that it would want to use the decoder H264_cuvid for NVIDIA. Any idea how acheive that or if I am wrong, how to actually decode using cuda ?
[11:59:30 CEST] <SimAV> Radiator, does "ffmpeg -hide_banner -decoders | grep h264_cuvid" print something?
[11:59:48 CEST] <JEEB> (making sure it's the same FFmpeg as the libraries being utilized)
[12:02:16 CEST] <Radiator> SimAV: Yes it does, it gives me "V..... h264_cuvid Nvidia CUVID H264 decoder (codec h264)"
[12:02:28 CEST] <JEEB> Radiator: also have you checked at which point the code fails?
[12:02:59 CEST] <JEEB> are you able to create a hwaccel device for your type etc?
[12:03:11 CEST] <JEEB> since I think at that point it should be talking to cuvid
[12:03:28 CEST] <Radiator> It's right after calling the method avcodev_get_hw_config
[12:03:57 CEST] <Radiator> *avcodec_get_hw_config
[12:04:56 CEST] <JEEB> ok, so you do have the hwdevice type at least
[12:05:05 CEST] <Radiator> Yup
[12:05:46 CEST] <JEEB> I think your best bet is to heighten the verbosity
[12:05:55 CEST] <Radiator> And I did make sure that I enabled cuda and cuvid at the built of the lib
[12:06:07 CEST] <JEEB> av_log_set_level
[12:06:24 CEST] <JEEB> for example I guess AV_LOG_DEBUG
[12:06:53 CEST] <Radiator> Give me a minute I'll try that
[12:07:00 CEST] <JEEB> also make sure that if you are using an older version of FFmpeg, you wlil have to initialize the libraries
[12:07:14 CEST] <JEEB> that was probably removed from the examples after that requirement for API usage was removed
[12:07:30 CEST] <Radiator> I'm on the latest available for my distribution
[12:08:07 CEST] <JEEB> which is?
[12:08:59 CEST] <JEEB> anyways, Feb 2018 is when that change was made into the example so any release branch branched after that should have that
[12:09:19 CEST] <Radiator> N-94800-gcb8c353032
[12:09:31 CEST] <Radiator> That's the version i get using ffmpef -version
[12:09:40 CEST] <Radiator> ffmpeg*
[12:09:58 CEST] <JEEB> which is very recent
[12:10:01 CEST] <JEEB> so that shouldn't be the case
[12:10:05 CEST] <SimAV> Radiator, did you try decoding using the ffmpeg CLI programm, to see whether all dependencies can be fulfilled and required access is granted?
[12:10:47 CEST] <JEEB> anyways, I have no idea if that example currently works (unfortunately), but bumping the log level should help
[12:12:15 CEST] <Radiator> SimAV: I haven't no, I am not very familiar with the CLI but I'll give it a shot
[12:13:30 CEST] <JEEB> I think the thing you listed is the separate decoder, which also exists.
[12:13:55 CEST] <JEEB> now to remember which was the option to set which hwaccel you want to utilize in ffmpeg.c
[12:14:02 CEST] <JEEB> clearly it has hwaccel related code :P
[12:14:23 CEST] <JEEB> you cna list them from the ffmpeg.c command line app with `ffmpeg -hwaccels`
[12:14:46 CEST] <JEEB> ok, so just that :P
[12:14:47 CEST] <JEEB> -hwaccel hwaccel name use HW accelerated decoding
[12:14:59 CEST] <JEEB> (found with `ffmpeg -h full |grep hwaccel`)
[12:15:21 CEST] <JEEB> and if that works, and seem sto utilize hwaccel, you can peek into ffmpeg.c
[12:15:26 CEST] <JEEB> which is under fftools/ffmpeg.c
[12:15:42 CEST] <JEEB> although I think a lot of its hwaccel stuff is in a separate file dedicated to hwaccels
[12:16:05 CEST] <JEEB> or actually, multiple :P
[12:16:25 CEST] <JEEB> because hwaccels require different initialization from the client, and you can't really nicely abstract that
[12:16:45 CEST] <Radiator> JEEB: It has it and when I look at the configuration I do have the enable-cuvid
[12:16:57 CEST] <SimAV> Radiator, might "cuvid" instead of "cuda" help?
[12:17:12 CEST] <JEEB> SimAV: decoders != hwaccels
[12:17:33 CEST] <Radiator> Oh
[12:17:43 CEST] <JEEB> anyways, Radiator - try with ffmpeg.c with `ffmpeg -v verbose -hwaccel HWACCEL_NAME -i INPUT -f null -`
[12:17:50 CEST] <JEEB> you get a list of hwaccels with -hwaccels
[12:18:11 CEST] <Radiator> I did that and it lists me the divice types available "vdpau vaapi drm"
[12:18:28 CEST] <JEEB> ok, so at least your ffmpeg.c binary doesn't have it
[12:18:45 CEST] <JEEB> which is why I wanted ot make sure you are linking against the same thing
[12:18:54 CEST] <JEEB> and makign sure it's the same stuff getting utilized
[12:19:41 CEST] <JEEB> and yes, there are cuvid or so decoders as well, those were added before hwaccel interface was added for more optimized hw decoding usage
[12:19:59 CEST] <JEEB> as in, you can output to a texture instead of getting the picture into RAM etc
[12:20:06 CEST] <Radiator> Nevermind, using the cuda hwaccel works with ffmpeg
[12:20:22 CEST] <JEEB> post the full command line and log on pastebin or so and link here
[12:20:26 CEST] <JEEB> just for verification
[12:23:29 CEST] <Radiator> https://pastebin.com/MfXBzFnh
[12:25:00 CEST] <JEEB> yup, nvdec is utilized
[12:27:42 CEST] <Radiator> So, should I disable cuvid ?
[12:28:53 CEST] <Radiator> In my current configuration I have --enable-cuda-sdk --enable-cuvid --enable-nvenc and other stuff not related to it
[12:29:03 CEST] <Radiator> I don't have --enable-nvdec
[12:29:38 CEST] <SimAV> I didn't have the problem yet, that too much was enabled in ffmpeg ;)
[12:32:08 CEST] <Radiator> enable components until it works
[12:33:55 CEST] <Radiator> Well, let's build , thanks for your help !
[13:21:47 CEST] <Radiator> Well, even by enabling the nvdec in the config, it doesn't work
[13:22:45 CEST] <JEEB> if it works in ffmpeg.c with the hwaccel you want to utilize, look at how ffmpeg.c additionally does stuff?
[13:22:51 CEST] <JEEB> it's under fftools/*.c
[13:23:03 CEST] <JEEB> you can find those functions you're calling in the example there, too
[13:23:12 CEST] <JEEB> also did you try with the debug verbosity?
[13:23:31 CEST] <Radiator> Yup, that's what I'm looking at right now
[13:23:45 CEST] <Radiator> Yes I did the verbose, but it doesn't help much
[13:24:09 CEST] <JEEB> in your case since the example is short and such, I'd probably recommend testing out AV_LOG_DEBUG
[13:24:26 CEST] <Radiator> That's the level I'm at
[13:24:28 CEST] <JEEB> ok
[13:24:42 CEST] <JEEB> (AV_LOG_VERBOSE is just different, that's why I noted)
[13:26:36 CEST] <Radiator> AV_LOG_VERBOSE doesn't help neither, sadly
[13:31:22 CEST] <JEEB> yea it won't :)
[13:31:26 CEST] <JEEB> if debug didn't ,verbose won't either
[13:31:37 CEST] <JEEB> I just noted that verbose is verbose and you used that wording :)
[13:31:43 CEST] <JEEB> thus I wanted to make sure you tried debug
[13:32:11 CEST] <JEEB> which you apparently did, and that's why I noted that juts to say "btw, 'verbose' is a different level" to explain why I commented on trying debug :)
[13:34:07 CEST] <Radiator> My bad I should've said debug ^
[13:34:16 CEST] <JEEB> np :)
[13:34:26 CEST] <JEEB> anyways, time to look at what the example is doing vs ffmpeg.c
[13:34:40 CEST] <JEEB> or well, probably the hwaccel specific files under fftools/
[13:35:03 CEST] <Radiator> Yup, it's a damn maze tbh
[13:36:02 CEST] <JEEB> `git grep "avcodec_get_hw_config" -- fftools/` and similar should help a bit to see where to look at for various logic
[13:36:30 CEST] <Radiator> You're the real mvp here sir
[13:39:51 CEST] <SimAV> Radiator, what is *exactly* the string your example outputs before it exists?
[13:41:03 CEST] <Radiator> "Decode h264 does not support device type cuda"
[13:41:12 CEST] <Radiator> *decoder
[13:46:53 CEST] <SimAV> Radiator, https://ffmpeg.org/doxygen/4.1/libavcodec_2utils_8c_source.html#l01757
[13:47:47 CEST] <SimAV> this function just looks at '->hw_configs' of the first argument
[13:48:37 CEST] <SimAV> https://ffmpeg.org/doxygen/4.1/libavcodec_2h264dec_8c_source.html#l01050
[13:49:12 CEST] <SimAV> the number of entries of hw_configs depends on the configuration on compile time
[13:49:51 CEST] <snooky> moin
[13:49:55 CEST] <SimAV> maybe it's a good idea to check how many iterations the for loop makes, before it exits with the failure-message (due to reaching the final NULL in hw_configs)
[13:50:54 CEST] <Radiator> Yeah, I'll see how big it is and check depending my actual configuration
[13:52:47 CEST] <SimAV> Radiator, furthermore, it might help to print as well config->device_type
[13:54:20 CEST] <SimAV> so you can see over which entries it iterates halfway-successfully
[14:02:06 CEST] <Radiator> Welp... I have only 3 decoders available which corresponds to the earlier output I got offering me to use only "vpdau vaapi drm"
[14:03:22 CEST] <SimAV> Radiator, might it be that you have multiple versions of ffmpeg and its libraries on your system?
[14:04:05 CEST] <Radiator> I doubt it, whenever I rebuilt it, ffmpeg is modified and re compile behind it
[14:04:24 CEST] <Radiator> Doing the ffmpeg -version shozs me the new configuration
[14:04:30 CEST] <Radiator> shows*
[14:06:26 CEST] <SimAV> so you are using the same library as "ldd `which ffmpeg` | grep avcodec" indicates?
[14:07:53 CEST] <Radiator> It shows me nothing
[14:08:59 CEST] <Radiator> We might have a beggining of solution there !
[14:09:06 CEST] <SimAV> interesting...
[14:09:12 CEST] <SimAV> ldd `which ffmpeg` | grep avcodec
[14:09:12 CEST] <SimAV> libavcodec.so.58 => /usr/lib64/libavcodec.so.58 (0x00007f7d6ae1d000)
[14:10:10 CEST] <Radiator> What version of ffmpeg do you have ?
[14:10:34 CEST] <SimAV> so JEEB might have been right with his suspect, that you are linking against a different libraries?
[14:10:56 CEST] <SimAV> version 4.2 (on gentoo linux)
[14:11:18 CEST] <Radiator> It could be
[14:12:10 CEST] <Radiator> I'll try to re build the library and set the PREFIX locally and refer it in the compilation
[14:13:38 CEST] <SimAV> Radiator, what does "ldd YOUREXAPLEBINARY | grep avcodec" print?
[14:13:54 CEST] <SimAV> as well nothing? or is there some output?
[14:14:32 CEST] <Radiator> There's some output
[14:14:37 CEST] <Radiator> Quite the same thing as you
[14:14:56 CEST] <SimAV> ah, then your example uses a shared library
[14:15:22 CEST] <SimAV> but the ffmpeg you invoke, does not use a / the same shared library for libavcodec
[14:15:53 CEST] <SimAV> the ffmpeg you invoke is not the system's one?
[14:16:44 CEST] <Freneticks> how is it possible that -strftime_mkdir 1 make directory for /%Y%m%d/ the 2 first day but not for the next days ?
[14:17:05 CEST] <Freneticks> (archlinux latest ffmpeg)
[14:17:33 CEST] <BtbN> Sounds like timestamp overflowing back to 0
[14:18:11 CEST] <Freneticks> timestamp overflowing ?
[14:24:54 CEST] <Radiator> SimAV: I tried with both, the system and the locally compiled one and they have the same output and behavior
[14:25:36 CEST] <xeberdee> Hi - using the pp lb linear blend filter. Described as applying a '(1 2 1 )' filter to lines. What does that mean?
[14:28:17 CEST] <Radiator> SimAV The dynamic library isn't updated at all, it's from months ago so clearly not the lately installed one
[14:32:27 CEST] <xeberdee> or can anyone point me to a source of information?
[14:37:01 CEST] <SimAV> xeberdee, https://en.wikipedia.org/wiki/Digital_image_processing#Digital_image_transf…
[14:37:58 CEST] <SimAV> xeberdee, I don't know this filter, but I would assume that "(1 2 1)" refers to the kernel that is used for convolution
[14:38:56 CEST] <Radiator> SimAV JEEB: I made it work ! It was the library linked suring compilation of the example... I had to link the local built library
[14:39:02 CEST] <xeberdee> SimAV: Thanks . that's very interesting
[14:39:18 CEST] <Radiator> Thank you both !
[14:41:22 CEST] <Freneticks> BtbN: you can enlight me ?
[14:49:50 CEST] <SimAV> Freneticks, I'm still struggling to understand your sentence...
[14:51:16 CEST] <SimAV> Freneticks, can you please describe your problem again?
[14:51:47 CEST] <dwqq> hello, why ffmpeg gets 300% cpu when i am trying to stream rtsp camera stream to youtube in 420p?
[14:52:57 CEST] <dwqq> 2035 root 20 0 1143112 204368 8504 R 168.4 5.4 4:08.83 ffmpeg
[14:53:06 CEST] <dwqq> it;s 170% now lmao
[14:53:18 CEST] <SimAV> dwqq, what command are you using?
[14:53:41 CEST] <BtbN> Freneticks, there's only so much precision the timestamps can have, depending on the timebase. Though I don't think strftime uses the timestamps, but bases on wallclock time.
[14:53:41 CEST] <SimAV> dwqq, it probably decodes and reencodes the video and audio. If that's not necessary, use something like -c:v copy -c:a copy
[14:53:52 CEST] <BtbN> You mean -c copy
[14:54:20 CEST] <dwqq> ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i rtsp://admin:admin@192.168.1.21 -tune zerolatency -vcodec libx264 -preset slow -crf 18 -pix_fmt yuv420p -f flv rtmp://a.rtmp.youtube.com/live2/**** -nostdin -nostats
[14:54:49 CEST] <BtbN> -preset slow transcoding is gonna use some CPU time, yes
[14:55:27 CEST] <dwqq> it was working well with medium but i had errors.... i need a stable stream at 420p
[14:55:30 CEST] <SimAV> dwqq, yuv420p doesn't specify any resolution, but the format/'bitdepth per pixel'
[14:56:00 CEST] <dwqq> i want to stream 420p at all, can u guide me please? i am new ^^
[14:56:12 CEST] <SimAV> dwqq, what do you mean by 420p?
[14:56:26 CEST] <dwqq> youtube resolution, i read the docs but it's hard...
[14:56:30 CEST] <SimAV> do you want to have a certain resolution of you video (420 lines high?)
[14:56:53 CEST] <dwqq> i want the youtube user to watch the stream at 420p
[14:57:01 CEST] <BtbN> 420p is a super uncommon resolution, why would you want that?
[14:57:13 CEST] <BtbN> Do you mean 480p?
[14:57:21 CEST] <dwqq> yes sorry
[14:57:28 CEST] <dwqq> 480* my bad
[14:57:58 CEST] <BtbN> Add a scale filter than that tells it to scale to that resolution.
[14:58:55 CEST] <dwqq> because the network is not the best, i want to downgrade the analysis to 480p
[14:59:19 CEST] <dwqq> how to add a scale filter? is my command okey?
[14:59:22 CEST] <SimAV> dwqq, which network, the one between your rtsp camera?
[14:59:37 CEST] <SimAV> *between your rtsp camera and your PC or between your PC and youtube?
[14:59:37 CEST] <dwqq> nah i am using optical cable
[14:59:44 CEST] <dwqq> the out
[14:59:49 CEST] <dwqq> pc and yotuube
[15:00:14 CEST] <dwqq> my laptop will explode with 300% cpu
[15:00:44 CEST] <BtbN> There is no such thing as 300% CPU
[15:01:10 CEST] <BtbN> Also, keep in mind that scaling will also use CPU, and encoding 480p also is not free
[15:01:27 CEST] <dwqq> what you mean not free?
[15:01:58 CEST] <BtbN> Processing and Encoding video
[15:02:07 CEST] <dwqq> i have to pay for that?
[15:02:20 CEST] <BtbN> Your CPU has
[15:02:32 CEST] <SimAV> BtbN, on any reasonable CPU thats basically for free compared to libx264 with preset slow ;)
[15:02:34 CEST] <dwqq> what cpu you recommend?
[15:02:52 CEST] <dwqq> i use libx264 with preset slow for 300% :D
[15:03:02 CEST] <BtbN> Again, 300% is meaningless
[15:03:23 CEST] <BtbN> Do you mean 100% on 3 cores? 30% on 10 cores? Something entirely else? And what clock speed?
[15:03:28 CEST] <dwqq> poor dell :P
[15:03:33 CEST] <dwqq> 300% on 4 cores
[15:03:39 CEST] <BtbN> That's not how that works.
[15:03:57 CEST] <BtbN> Anyway, scale it down to 480p and see how it performs.
[15:04:08 CEST] <dwqq> how? with crf?
[15:04:21 CEST] <SimAV> https://trac.ffmpeg.org/wiki/Scaling
[15:04:22 CEST] <Freneticks> SimAV: BtbN so this is my full command : ffmpeg -i "http://lolcat" -loglevel warning -sn -map 0 -c copy -f hls -hls_time 120 -hls_flags second_level_segment_index+second_level_segment_size+second_level_segment_duration+temp_file -strftime 1 -strftime_mkdir 1 -hls_segment_filename "/mnt/XXX/%%Y%%m%%d/segment_%%Y%%m%%d%%H%%M%%S_%%%%04d_%%%%08s_%%%%013t.ts" -y "xxx/playlist_tmp.m3u8"
[15:04:44 CEST] <Freneticks> this create the folder for the first 2 days
[15:04:57 CEST] <Freneticks> but after it just put the segment inside the same directory
[15:05:59 CEST] <dwqq> ohh thank you sim :))
[15:06:42 CEST] <dwqq> brb, i ll inform u with results
[15:06:51 CEST] <SimAV> Freneticks, I'm confused by the huge amount of %% in your filename
[15:07:31 CEST] <Freneticks> SimAV: sorry systemd need 2 %% to escape one, so it's only 2 for ffmpeg
[15:08:45 CEST] <BtbN> Is your system clock going wild or something? Cause that string is actually passed to strftime almost untouched.
[15:10:40 CEST] <Freneticks> BtbN: I can assure you that no.
[15:11:18 CEST] <Freneticks> BtbN: I don't even have Ntpd
[15:11:30 CEST] <BtbN> That usually makes things worse.
[15:12:08 CEST] <BtbN> ntpd is a bit overkill, but something like chrony or timesyncd do a good job at keeping the clock steady.
[15:12:50 CEST] <Freneticks> yeah cool but my clock is like 2 min late
[15:12:56 CEST] <Freneticks> not crazy wild
[15:13:25 CEST] <Freneticks> Why ffmpeg put my segment in the way i say, and 2 day after put everything in the same, that ? weird ?
[15:13:42 CEST] <SimAV> dwqq, and try something like "-preset veryfast" if CPU usage is to high
[15:14:01 CEST] <BtbN> ffmpeg really just calls strftime and uses whatever it returns. So any weirdness like this must be coming from the system itself.
[15:14:44 CEST] <Freneticks> okay
[15:15:06 CEST] <BtbN> My first idea would be systemds cgroup magic it does to services
[15:15:23 CEST] <dwqq> SimAV what if i downgrade the camera resolution to 480p? can i pass it as it is?
[15:16:12 CEST] <SimAV> dwqq, if you can make your camera output the resolution and use the codec you want to push to youtube, ffmpeg can forward it without decoding/reencoding it
[15:16:39 CEST] <dwqq> yes i can, give me a moment
[15:17:02 CEST] <SimAV> then do not specify "libx264" but "copy" as codec(s)
[15:18:46 CEST] <Freneticks> BtbN: cgroup magic make weird thing about strftime ?
[15:19:31 CEST] <SimAV> BtbN, can you paste a link pointing to where ffmpeg "really just calls strftime and uses whatever it returns"?
[15:20:25 CEST] <dwqq> camera has h.264/h.265/mjpeg
[15:20:30 CEST] <SimAV> strftime would replace %% by %
[15:20:32 CEST] <dwqq> using 264
[15:21:29 CEST] <SimAV> BtbN, so there must be at least additional replacements taking place.
[15:21:35 CEST] <JEEB> `git grep "strftime" -- libavformat/hlsenc.c`
[15:21:47 CEST] <JEEB> will show you all the usage spots so you can check around them
[15:21:48 CEST] <JEEB> :)
[15:22:13 CEST] <JEEB> you can see how much extra poking is done
[15:22:49 CEST] <JEEB> same git grep with the hls_segment_filename keyword probably brings out the variable into which the string gets pushed
[15:23:54 CEST] <SimAV> JEEB, segment_filename without hls_
[15:25:11 CEST] <BtbN> SimAV, he's using systemd...
[15:26:01 CEST] <Freneticks> BtbN: https://linux.die.net/man/3/strftime this function ?
[15:26:01 CEST] <cousin_luigi> Greetings.
[15:26:13 CEST] <BtbN> yes, that function.
[15:26:33 CEST] <BtbN> Or a variant of it at least
[15:27:35 CEST] <cousin_luigi> Having trouble with playing an av1 clip. ffplay recognises as such but then it tells me "No codec could be found with id 32797". Not sure on which library/build switch it relies for decoding.
[15:28:02 CEST] <JEEB> libdav1d is recommended, but libaom also works
[15:28:13 CEST] <dwqq> ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i ${RTSP_URL} -tune zerolatency -vcodec libx264 -preset medium -crf 18 -pix_fmt + flv ${YOUTUBE_URL}/${YOUTUBE_KEY}Y} -nostdin -nostats
[15:28:17 CEST] <dwqq> is it ok?
[15:28:40 CEST] <SimAV> dwqq, you still ask ffmpeg to reencode your video!
[15:29:02 CEST] <dwqq> i remove crf and pix_fmt?
[15:29:11 CEST] <BtbN> And there's spurious + and missing params in that command.
[15:30:35 CEST] <dwqq> ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i ${RTSP_URL} -tune zerolatency -vcodec libx264 -preset medium -f flv ${YOUTUBE_URL}/${YOUTUBE_KEY}Y} -nostdin -nostats
[15:30:37 CEST] <dwqq> now better/
[15:30:38 CEST] <cousin_luigi> JEEB: Is it something available on ffmpeg 3.4.4 ?
[15:30:49 CEST] <cousin_luigi> JEEB: It's the one I'm stuck with on my distro.
[15:30:59 CEST] <JEEB> then your distro has not built it with either
[15:31:12 CEST] <JEEB> so if oyu want to use what your distro provides you're SOL
[15:31:51 CEST] <cousin_luigi> JEEB: I could submit a maintainance request if that version of ffmpeg potentially supports it.
[15:32:00 CEST] <cousin_luigi> Should I bother or is it too old?
[15:32:21 CEST] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=configure;h=51c5db53e6fbee70…
[15:32:29 CEST] <JEEB> seems like no entries for "aom" or "dav1d"
[15:32:30 CEST] <JEEB> so nope.avi
[15:32:48 CEST] <cousin_luigi> k, thanks
[15:32:51 CEST] <JEEB> (libaom was added first and thus I searched it first)
[15:33:01 CEST] <JEEB> (not because it is faster/better, which it isn't ;) )
[15:34:17 CEST] <dwqq> 299.7 3.5 0:37.54 ffmpeg
[15:36:02 CEST] <cousin_luigi> JEEB: I see that in fact it was added in 4.0. Do you think it might be a backportable feature?
[15:36:35 CEST] <cousin_luigi> nevermind, I'm probably doing it wrong.
[15:37:12 CEST] <SimAV> cousin_luigi, what keeps you from requesting newer ffmpeg versions?
[15:38:33 CEST] <SimAV> you should be able to find some "critical" bug CVEs for old ffmpegs if you need an argument ;)
[15:39:53 CEST] <JEEB> they probably don't want to rebuild the world against a new branch (which thus can have a new ABI)
[15:41:37 CEST] <SimAV> dwqq, you are still not copying the video stream, but reencoding it
[15:44:59 CEST] <cousin_luigi> Perhaps I could simply have mpv built against ffmpeg4.
[15:45:10 CEST] <cousin_luigi> Which is available in parallel.
[15:45:49 CEST] <dwqq> idk it gets down to 30%...
[15:47:07 CEST] <dwqq> https://imgur.com/a/ob5cNef camera settings here
[15:47:32 CEST] <dwqq> if you can help me to pass it as it is, i would appreciate
[15:48:13 CEST] <dwqq> I am using ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i ${RTSP_URL} -tune zerolatency -vcodec libx264 -preset slow -threads 4 -f flv ${YOUTUBE_URL}
[15:48:23 CEST] <dwqq> 30% cpu
[15:48:35 CEST] <dwqq> 30-80% range... still high
[15:48:43 CEST] <SimAV> ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i ${RTSP_URL} -c:v copy -f flv ${YOUTUBE_URL}
[15:51:17 CEST] <dwqq> omg, that;s all?
[15:51:40 CEST] <dwqq> why i am using 232004 params... :$
[15:51:56 CEST] <dwqq> ty man, u rock, works!
[15:52:02 CEST] <SimAV> <SimAV> dwqq, it probably decodes and reencodes the video and audio. If that's not necessary, use something like -c:v copy -c:a copy
[15:52:13 CEST] <dwqq> i don't have audio at all, i wanna cut it
[15:52:30 CEST] <dwqq> i had read -noan smothing like that but it didn't worked
[15:53:17 CEST] <SimAV> well, if audio is required, you have to make some up. but that's what you did using "-f lavfi -i anullsrc"
[15:53:20 CEST] <cousin_luigi> Looks like I'm SOL. Thanks everyone.
[15:54:46 CEST] <dwqq> rtsp stream to youtube requires lavfi anullsrc for me in order to work
[15:55:26 CEST] <dwqq> it won't work without these settings, i got this config by searching on the internet
[15:56:27 CEST] <dwqq> why u wrote audio is required? is audio youtubes requirement?
[15:56:57 CEST] <dwqq> i think it shows a muted video...
[15:57:44 CEST] <dwqq> 5 oclock, g2g, i ll be back tomorrow, thanks sim
[15:58:16 CEST] <Radiator> dwqq: fyi rtsp doesn't need -i anullsrc for me
[15:58:38 CEST] <Radiator> Actually even -f lavfi isn't required
[15:59:15 CEST] <Radiator> -rtsp_transport tcp is tho
[16:01:03 CEST] <SimAV> Radiator, does your rtsp source deliver audio as well?
[16:05:52 CEST] <Radiator> Good point, it doesn't
[16:08:22 CEST] <SimAV> Radiator, if the rtsp source doesn't deliver audio, but the sink requires audio, you have to make some audio up in between. That's what "-f lavfi -i anullsrc" does, by adding another source, which just outputs zeros as audio.
[16:09:11 CEST] <SimAV> if the sink doesn't require audio, you are fine without...
[16:09:51 CEST] <Radiator> Ok !
[16:14:03 CEST] <Radiator> Since we are talking about rtsp, any idea how to mimic -rtsp_transport using the lib ?
[16:14:19 CEST] <JEEB> give rtsp_transport AVOption to the module :)
[16:14:23 CEST] <JEEB> (avformat context)
[16:14:35 CEST] <JEEB> if ffmpeg.c itself doesn't find a custom option in itself
[16:14:38 CEST] <JEEB> (like -hwaccel)
[16:14:54 CEST] <JEEB> then it passes the options to each module one by one, until they get eaten
[16:15:07 CEST] <JEEB> as AVOptions
[16:16:07 CEST] <JEEB> see functions beginning with `av_opt_`
[16:16:16 CEST] <Radiator> Yeah I found it in libavformat/rtsp.c in const opt section. I know it sets the RTSPState->lower_transport to the wished value (RTSP_LOWER_TRANSPORT_TCP in my case)
[16:16:40 CEST] <Radiator> Thanks, I didn't know you could assign opt like that
[16:16:49 CEST] <Radiator> That will be very usefull
[16:16:58 CEST] <JEEB> https://lists.ffmpeg.org/doxygen/trunk/group__avoptions.html
[16:17:12 CEST] <JEEB> hint: google `site:ffmpeg.org doxygen trunk KEYWORD`
[16:17:26 CEST] <JEEB> or any other search engine of your preference that takes similar syntax :)
[16:17:43 CEST] <JEEB> in your case it's option setting stuff
[16:18:05 CEST] <Radiator> If i can't find a solution with that, no one can, thanks for all the info !
[16:23:00 CEST] <SimAV> Freneticks, did you just start your ffmpeg command on different days or was it running for multiple ones?
[16:24:50 CEST] <lyncher> hi, with libavfilter what is the currently recommended API calls to dynamically register a new filter?
[16:25:13 CEST] <lyncher> register_* are now deprecated
[16:26:43 CEST] <kepstin> dynamically registering filters is not supported. (filters usually need to access private apis anyways so it's not like you can really write one outside of ffmpeg)
[16:30:24 CEST] <Freneticks> SimAV: I started the command many days ago yes
[16:32:34 CEST] <lyncher> can't I use av_filter_iterate to add a new filter when the returned element is NULL?
[16:42:07 CEST] <kepstin> lyncher: the list of filters is a static/const array, you can't add to it at runtime.
[19:28:06 CEST] <wildefyr> hi, so I am trying to extract the cover art directly from an audio file then pipe it to convert, i have to use '-f [something] -' to get it to pipe, but something like png isn't a valid option
[19:28:09 CEST] <wildefyr> ideas?
[19:30:34 CEST] <another> -c:v png -f image2 -
[19:32:57 CEST] <lain98> how likely is it that when i demux a video, the first video frame in the stream as actually way over at the end or after a considerable number of frames ?
[19:33:46 CEST] <lain98> and is there a better way to seek to any video frame other than just iterating till the stream index matches the video stream index
[19:34:38 CEST] <JEEB> without seeking only the google advanced edit list code can have the stuff jump in the file :P
[19:34:47 CEST] <JEEB> but that you can disable
[19:35:09 CEST] <wildefyr> another: doesn't seem to work my friend, "Output file # does not contain any stream"
[19:35:22 CEST] <JEEB> "advanced_editlist" with the value 0
[19:35:27 CEST] <JEEB> to the avformat context :P
[19:36:25 CEST] <JEEB> lain98: the packets are returned in some order according to interleaving etc. for some containers there's support for saying "I'm not interested in streams X,Y,Z"
[19:37:49 CEST] <lain98> but is it likely ?
[19:38:25 CEST] <lain98> ive tried a lot of videos with ffmpeg -show_frames and for most the video frame is in the first few
[19:38:37 CEST] <lain98> *al
[19:38:40 CEST] <lain98> *all
[19:38:54 CEST] <wildefyr> nvm another my test file was not a good test file
[19:39:00 CEST] <JEEB> by setting the stream's discard value to AVDISCARD_ALL you tell the module that you don't care about a stream
[19:39:22 CEST] <JEEB> (note: depends on which demuxer implements it or not)
[19:39:50 CEST] <JEEB> lain98: I don't understand what you are asking about "likely", after all it depends also in how the stuff is in the file (although I think lavf will also attempt to improve the interleaving)
[19:40:07 CEST] <JEEB> so if your thing is horribly interleaved it will attempt to improve it if it can
[19:44:19 CEST] <kepstin> wildefyr: why are you trying to pipe it to convert? ffmpeg can do a bunch of transformations using its own builtin filters.
[19:44:47 CEST] <wildefyr> kepstin: i just knew already what to do with convert
[19:44:50 CEST] <lain98> the AVDiscard enum seems related to I/B/P. whereas i wanted to skip audio frames
[19:45:07 CEST] <wildefyr> simple resizing, instead of tracking down how to do it purely in ffmpeg
[19:46:34 CEST] <kepstin> wildefyr: i'd bet that would be easier to learn how to do in ffmpeg than learn how to do pipe output :)
[19:47:10 CEST] <wildefyr> well either way i've learnt something new
[19:47:12 CEST] <wildefyr> !
[20:35:00 CEST] <AiNA_TE> -an skips audio, -vn skips video, -sn skips subs
[20:35:13 CEST] <AiNA_TE> what will skip menus/metadata/text
[20:36:21 CEST] <kepstin> depends what exactly you're talking about, but `-map_metadata -1` will remove a lot of that sort of stuff
[20:36:59 CEST] <kepstin> (note that -vn/-an/-sn are shortcuts for things that can be done using various -map options)
[20:37:18 CEST] <AiNA_TE> Stream #0:2[0x1e01]: Unknown: none ([13][0][0][0] / 0x000D)
[20:37:19 CEST] <AiNA_TE> this
[20:37:57 CEST] <AiNA_TE> which ffmpeg reports it can not detect codec type and media info reports as a "Menu"
[20:39:55 CEST] <kepstin> I think ffmpeg might treat that as a 'data' track, which would mean the `-dn` option skips it.
[20:40:26 CEST] <kepstin> other than that, you could instead use the -map option, which provides more flexibility
[21:05:44 CEST] <AiNA_TE> thank you kepstin
[23:55:43 CEST] <qmr> what is gamma=1 2 3 or whatever? stops? I need to push something 3 stops or so
[23:59:10 CEST] <Diag> ey furq you here? Im getting a permissions error when i try to build ffmpeg
[23:59:39 CEST] <BtbN> don't run "make install"
[23:59:44 CEST] <Diag> oh
[23:59:49 CEST] <Diag> just make?
[23:59:52 CEST] <BtbN> And if you do, use a prefix in your homedir
[00:00:00 CEST] --- Wed Sep 11 2019
1
0
[03:02:49 CEST] <fling> How can I mux multiple live sources together properly?
[03:07:48 CEST] <fling> Can I mux two mono usb audio pulse inputs as stereo?
[03:07:54 CEST] <fling> Or should I join them in pulse first?
[04:21:13 CEST] <HickHoward> apparently some genius had the bright idea to post a link containing new "open content"
[04:21:16 CEST] <HickHoward> from netflix
[11:03:57 CEST] <emr> Hello i have corrupted video file (ext is mts), when i query with file 'd2818_11UY0011-3_300612_TCS-PB-0922.mts: ISO-8859 text, with very long lines, with no line terminators' and with ffmpeg `d2818_11UY0011-3_300612_TCS-PB-0922.mts: Invalid data found when processing input` but its there, its 561 mb data, is there any way to recover? thanks
[12:02:10 CEST] <tomboy64_> i've been scouring the man-pages, but so far without avail.
[12:02:30 CEST] <tomboy64_> i'm looking for a way to extract a single chapter from a dvd-filestructure
[12:02:37 CEST] <tomboy64_> without transcoding
[12:03:37 CEST] <JEEB> I think the chapters etc are separate from the VOBs etc themselves so you'd have to have something that reads the metadata files and applies those to the MPEG-PS VOB files)
[12:03:40 CEST] <tomboy64_> but possibly with preserving audio and subtitles as well
[12:03:46 CEST] <tomboy64_> oh
[12:03:48 CEST] <tomboy64_> hm
[12:04:24 CEST] <JEEB> oh, tools/dvd2concat
[12:04:28 CEST] <JEEB> I wonder if that does what you want
[12:04:42 CEST] <JEEB> check its sources
[12:04:57 CEST] <JEEB> oh, it uses lsdvd
[12:07:30 CEST] <tomboy64_> hmm i guess i could work with the timestamp, too
[12:07:34 CEST] <tomboy64_> that would be even better
[12:46:38 CEST] <lain98> where can i find demuxer imlpementations using libav. i'm having some trouble with my code and maybe looking at those might help me
[12:49:24 CEST] <JEEB> are you asking where within FFmpeg the demuxers live, or applications utilizing lavf's demuxing?
[12:49:33 CEST] <durandal_1707> you mean demuxers code?
[12:50:13 CEST] <lain98> yes
[12:50:20 CEST] <lain98> both JEEB
[12:50:59 CEST] <JEEB> for demuxers it's libavformat/ for example libavformat/yuv4mpegdec.c for a simple one
[12:51:30 CEST] <lain98> essentially my requirement is to decode n frames starting from frame number x. but i run into issues seeking in different formats
[12:51:35 CEST] <JEEB> yes
[12:51:38 CEST] <JEEB> use somethign that indexes
[12:51:41 CEST] <JEEB> like ffms2
[12:51:46 CEST] <JEEB> or your own index creation
[12:51:53 CEST] <JEEB> only that way you can be frame exact
[12:52:53 CEST] <lain98> that might work for playing a video. but i'm trying to decode hundres of videos and holding indices for all of them in memory, idk if that might work for me
[12:53:16 CEST] <lain98> also variable frame is a pain in the butt
[12:54:30 CEST] <pink_mist> why do you need to hold the indices in memory for all eternity? just hold them while you're processing that file
[12:54:31 CEST] <lain98> also i dont care about presentation and temporal info, so if i can find implementations like that it might help
[12:55:01 CEST] <lain98> pink_mist: because a file might reappear according to my usecase
[12:55:21 CEST] <JEEB> lain98: just check out what ffms2 does :P it's not indexing in memory
[12:55:31 CEST] <lain98> and i never decode a file in full from start to end
[12:55:46 CEST] <lain98> JEEB: ill check that out
[12:55:57 CEST] <JEEB> it writes an index based on the container level
[12:56:14 CEST] <JEEB> that way you have numeric frames available as well as in general frame exact seeking
[12:56:35 CEST] <JEEB> in other words, FFmpeg's APIs provide you the capability to do that yourself, but they are not made for this use case
[12:56:53 CEST] <JEEB> f.ex. with mp4 you could get pretty good results because there's an index and the demuxer can utilize that
[12:56:56 CEST] <JEEB> but then you have MPEG-TS etc
[12:57:03 CEST] <JEEB> thus -> indexing is the only salvation
[12:57:16 CEST] <JEEB> and you can either code that yourself, or utilize something like ffms2 that already exists
[12:57:50 CEST] <lain98> ill take code from ffms2, its mit licensed
[12:57:51 CEST] <lain98> thanks
[14:58:37 CEST] <Beam_Inn> hey is anyone here really good with ffmpeg?
[15:00:54 CEST] <another> just ask your question
[15:27:03 CEST] <Beam_Inn> I just want to chat about it.
[15:27:36 CEST] <Beam_Inn> I'm trying to learn about advanced effects. I wonder if there are video filters that could do things like warp the video or re-colorize sections
[15:29:05 CEST] <Beam_Inn> and just curious about using ffmpeg to try to make lossless changes
[15:29:39 CEST] <durandal_1707> yes
[15:29:42 CEST] <Beam_Inn> i guess the big question in my mind right now is about quality settings. Is it possible to accidentally increase a video's size by setting the quality too high?
[15:29:57 CEST] <durandal_1707> yes
[15:45:23 CEST] <Beam_Inn> is there some way to figure out the highest possible quality based on the input and not suprassing it?
[15:46:57 CEST] <JEEB> no
[15:47:06 CEST] <FooNess_> Visual inspection after encoding is the only way, I'd reckon.
[15:47:19 CEST] <FooNess_> You compare (preferable double-blind) the input and the output.
[15:47:30 CEST] <JEEB> highest possible quality is same as input, and lossy encoders can possibly never get there
[15:47:36 CEST] <JEEB> so you end up ballooning and ballooning
[15:47:47 CEST] <FooNess_> If both are indistinguishable, you have "the highest possible quality" from a perceptual point of view.
[15:48:05 CEST] <JEEB> if you want to automate something, you need to define your own limit of something in some metric that can be calculated
[15:48:07 CEST] <Beam_Inn> I mean, what I'd like to do, for example, is cut a part out of a video, losslessly
[15:48:31 CEST] <JEEB> you can generally do that GOP by GOP in sane video formats
[15:48:43 CEST] <JEEB> within a GOP you need to re-encode
[15:48:56 CEST] <JEEB> for example if the frame you want to start from is not a random access point
[15:49:33 CEST] <Beam_Inn> I dunno. I mostly deal with downloaded videos from youtube and videos I made myself.
[15:50:06 CEST] <JEEB> that's irrelevant. just noting that you can in various cases just losslessly copy the video stream (and audio), cut it
[15:50:15 CEST] <JEEB> but only starting on a random access picture
[15:50:33 CEST] <JEEB> if your starting frame of a cut is not a rnadom access picture, then you will have to re-encode or cut from an earlier frame
[15:50:49 CEST] <Beam_Inn> I just thought that youtube videos followed some somewhat universal format
[15:51:48 CEST] <Beam_Inn> I have an upload limit of 20 mb on my clips where I submit clips, and I keep running into it.
[15:52:01 CEST] <Beam_Inn> usually the clips are only 3-5 minutes long.
[15:52:04 CEST] <JEEB> then you have a file size limit :P
[15:52:06 CEST] <Beam_Inn> never longer than 5 minutes
[15:52:27 CEST] <Beam_Inn> would that help in deciding the best way to select the output settings?
[15:52:51 CEST] <Beam_Inn> or maybe are there some videos I could watch or books I could read to learn about understanding output settings well?
[15:53:05 CEST] <JEEB> try cutting losslessly first, check output file size, if too big start re-encoding an average bit rate so you get that maximum allowed file size :P
[15:53:20 CEST] <JEEB> because if you have to hit a file size, then that is your maximum allowed size
[15:53:31 CEST] <Beam_Inn> I have this other question I want to ask while someone is around
[15:53:44 CEST] <Beam_Inn> Can I increase the speed of the default video/audio without screwing up the pitch?
[15:54:48 CEST] <Beam_Inn> JEEB can you give a sample of the commands you'd use for the two steps you mentioned at 06:53?
[15:56:02 CEST] <JEEB> 2pass encoding if available in the encoder you'd be using, maximum preset that is still fast enough for you(if such are available in the encoder you're using), and -b:v XXXXk (kilobits/second)
[15:56:31 CEST] <Beam_Inn> so the built-in encoder with ffmpeg isn't goign to work?
[15:56:58 CEST] <JEEB> where you can calculate the bit rate to hit 20MiB from the clip duration and the maximum file size (which is 20MiB)
[15:57:12 CEST] <JEEB> Beam_Inn: there is no single "built-in "encoder
[15:57:22 CEST] <JEEB> there so many encoders in libavcodec :P
[15:57:48 CEST] <JEEB> I'd probably be using libx264 for H.264, but the site you'd be uploading to might have its own requirements/limitations
[15:57:51 CEST] <JEEB> I cannot possibly know
[15:58:08 CEST] <Beam_Inn> yeah i think i'd like to use h.264 because I dunno libx264
[15:58:24 CEST] <Beam_Inn> unless one of the new-popular streaming formats ... I dunno
[15:58:29 CEST] <Beam_Inn> maybe I shouldn't get into that
[15:58:40 CEST] <Beam_Inn> I feel like there's a lot of stuff invovled here that I have no idea about and no idea hwo to learn about
[15:58:43 CEST] <JEEB> the site you are uploading to is your limiting factor :P
[15:58:45 CEST] <FooNess_> Something like VP9 may be more useful for more efficient (yet slower) encoding; it also depends on the website and what it supports.
[15:59:33 CEST] <Beam_Inn> any kind of website I'd post to would just be my own website
[15:59:40 CEST] <Beam_Inn> so it really is more like 'the player' than 'the website', imo.
[16:00:04 CEST] <JEEB> ok
[16:00:14 CEST] <Beam_Inn> I have this ongoing wish to find a way to make online streaming video that nobody can record/download
[16:00:16 CEST] <JEEB> then you can indeed make your own limitations based on the clients you're supporting
[16:00:21 CEST] <Beam_Inn> but imo that's not possible.
[16:00:22 CEST] <JEEB> good luck with that
[16:00:22 CEST] <FooNess_> If you know your target audience and what kind of compatibility their player and/or browser has, you can use a more efficient encoding scheme.
[16:01:28 CEST] <FooNess_> Beam_Inn, that's probably next to impossible -- anyone with a simple screen recorder could defeat any limitation you set.
[16:01:45 CEST] <FooNess_> Or a video capture card.
[16:02:14 CEST] <Beam_Inn> yeah, I mean... I saw some work-arounds to prevent screen cap software from working implemented well a few times in my life... not often at all.
[16:02:31 CEST] <Beam_Inn> but nothing can prevent someone from setting up a video camera. XD
[16:02:44 CEST] <JEEB> or just HDMI capture
[16:02:47 CEST] <FooNess_> ^
[16:02:48 CEST] <JEEB> fully digital RGB from your screen
[16:02:49 CEST] <Beam_Inn> yeah
[16:03:09 CEST] <Beam_Inn> I should do hdmi capture XD
[16:03:12 CEST] <Beam_Inn> I keep worrying about harddrive space.
[16:03:55 CEST] <JEEB> basically for normal businesses the main thing is to keep people from accessing content they don't have a license for: anything additional to that is just trying to get into laws that make breaking "protections" illegal
[16:04:09 CEST] <Beam_Inn> I have this pipe dream of writing down all the times of the day I want to capture my screen and then just doing it by CSV. lol
[16:04:33 CEST] <JEEB> which is why DRM exists, not to actually secure the content but to be a legally "strong enough" lock :P
[16:04:45 CEST] <JEEB> so that if someone breaks it at least theoretically someone could get litigated for it
[16:04:51 CEST] <Beam_Inn> I haven't been able to call the software police on my company. I'm in China. :/
[16:04:55 CEST] <TheAMM> Same with most locks, too
[16:05:00 CEST] <Beam_Inn> I don't even think they'd answer the phone.
[16:05:11 CEST] <TheAMM> Even if you go Abloy there's likely something weaker in the chain
[16:05:15 CEST] <Beam_Inn> They do so many illegal things. They're dbs. I can't wait to cut and run.
[16:05:31 CEST] <JEEB> and that's then written into some content licensing agreement
[16:05:34 CEST] <JEEB> that you have to do X,Y,Z
[16:05:38 CEST] <JEEB> (Ž4@)
[16:05:43 CEST] <JEEB> business be business
[16:05:51 CEST] <JEEB> (and lawyers get the moneys)
[16:05:58 CEST] <JEEB> TheAMM: yea
[16:09:12 CEST] <Beam_Inn> this chat was badass. I wish I could keep it giong. Really just don't know what I'mtalkin about right now and need to read a lot more
[16:42:53 CEST] <another> for starters you could read about h.264 encoding https://trac.ffmpeg.org/wiki/Encode/H.264
[16:53:48 CEST] <pink_mist> he already left
[17:21:02 CEST] <Aerroon> can i set a lower bitrate for dnxhr?
[17:21:12 CEST] <Aerroon> i want something below lb
[18:03:57 CEST] <Diag> Yo, i seem to be having an issue encoding from a file stream or whatever on my computer. for whatever reason ffmpeg doesnt seem to want to use more than ~35-40% of the cpu, and whines that the buffer is full
[18:05:32 CEST] <BtbN> It's probably correct in that statement.
[18:06:00 CEST] <Diag> Its a 150 meg buffer and im trying to do x264 in 'slow'
[18:06:10 CEST] <Diag> should i make the buffer larger and see if it still whines?
[18:08:18 CEST] <Diag> 2048 meg buffer, ~35% cpu
[18:08:47 CEST] <Diag> its using about 70% of 20 threads or so
[18:13:58 CEST] <furq> what cpu is that
[18:14:13 CEST] <Diag> xeon e5 2696 v4
[18:14:33 CEST] <Diag> furq: http://valid.x86.fr/7x8893
[18:15:29 CEST] <Diag> aha
[18:16:41 CEST] <Diag> this was automatically tacking a "tune zerolatency" in there, which it does NOT like
[18:18:31 CEST] <furq> oh
[18:18:46 CEST] <furq> yeah pretty much never enable that
[18:18:49 CEST] <Diag> Eh
[18:18:53 CEST] <furq> that disables frame threading which would explain it
[18:18:54 CEST] <Diag> this is on sharex :X
[18:18:58 CEST] <furq> lol
[18:19:09 CEST] <Diag> I kinda figured it would be something along those lines, because the workload was very spikey
[18:19:18 CEST] <furq> the guy still refuses to turn that dumbass option off does he
[18:19:24 CEST] <Diag> yeah
[18:19:33 CEST] <Diag> Its like, why
[18:19:58 CEST] <Diag> frikken now i can realtime 4k yay
[18:39:58 CEST] <Diag> furq: is the hwaccel_device flag applicable to both decode AND encode?
[18:53:21 CEST] <Diag> fuark
[18:53:34 CEST] <Diag> I cant find bolagna on these amf settings
[18:58:07 CEST] <DHE> weird, that screen shot says 2699 but the text says 2696. and for the core count, 2699 is correct
[18:58:36 CEST] <Diag> DHE: the cpu is a revision of the 2699
[18:58:47 CEST] <Diag> its multiplier is 37 instead of 36
[18:58:52 CEST] <Diag> :)
[18:59:02 CEST] <Diag> everything shows it wrong and intel doesnt even have a page for it
[18:59:23 CEST] <furq> https://en.wikichip.org/wiki/intel/xeon_e5/e5-2696_v4
[18:59:30 CEST] <Diag> valid
[19:00:21 CEST] <DHE> alrighty then..
[19:00:28 CEST] <Diag> yeah its an oddball lol
[19:00:29 CEST] <DHE> (I have some 2698 cpus)
[19:00:33 CEST] <Diag> oh really?
[19:00:39 CEST] <DHE> yeah
[19:00:52 CEST] <Diag> v3 or 4
[19:00:54 CEST] <DHE> v4
[19:01:08 CEST] <Diag> ah nice
[19:01:23 CEST] <Diag> its weird that its a lower number isnt it
[19:01:25 CEST] <aep> is AV_PIX_FMT_YUVJ422P litteraly compressed jpeg? what does AVCodec even do in this case when "decoding" MJPEG?
[19:01:51 CEST] <furq> aep: it's full range yuv422p
[19:02:12 CEST] <furq> it has nothing to do with jpeg other than that full range is also called jpeg range
[19:02:16 CEST] <aep> ah!
[19:02:18 CEST] <aep> thanks
[19:03:11 CEST] <aep> not sure what i'm doing wrong then. the output of that looks like digital junk, not like a pixel format.
[19:18:52 CEST] <lain98> uhh i'm trying to use this bitstream filter mpeg4_unpack_bframe when demuxing divx videos and sending them to decode. i imagine there is something quirky about this filter and when i seek to point in between the stream and not from the beginning its not able to decode all frames.
[19:19:43 CEST] <lain98> when i preprocess my file using ffmpeg command line and the same filter, everything works fine.
[19:20:02 CEST] <lain98> where can i get help about this ?
[19:20:26 CEST] <kepstin> this would be the place. can you share some sample code?
[19:21:04 CEST] <kepstin> the main thing to check would be to make sure you're seeking to a keyframe, can't decode starting at arbitrary frames regardless of whether you're using a bsf.
[19:22:27 CEST] <aep> this might be the issue. i'm confused what AVFrame::linesize is. for a 848x480 image it is 896 which is not 2 times width (yuv should be 16 bytes wide, right?)
[19:24:46 CEST] <aep> if i use 896/2 as width, i get a correct image. but where is that number coming from? AVFrame::width is set to 480 as expected by the input
[19:25:22 CEST] <kepstin> line size is the number of bytes you add to go from the same column in one line to the same column in the next
[19:25:45 CEST] <kepstin> it's not the same thing as width, because individual lines may be padded for alignment for simd instructions
[19:26:45 CEST] <aep> 896 seems excessive padding for a 480 byte wide image
[19:26:58 CEST] <aep> also..not alligned
[19:26:59 CEST] <kepstin> that's 848 pixels = 848 bytes wide on the Y plane
[19:27:16 CEST] <aep> err, of course
[19:27:39 CEST] <kepstin> note that linesize is separate per plane, you should have different value for the u/V planes
[19:28:07 CEST] <aep> oh wow thats confusing
[19:28:17 CEST] <aep> thanks tho. i think i get it
[19:29:17 CEST] <lain98> kepstin: i'm able to demux other containers properly
[19:29:20 CEST] <jimevans> g'day all. i'm having a devil of a time muxing a subtitle stream into an mp4 container.
[19:29:30 CEST] <lain98> just avi with divx
[19:29:56 CEST] <jimevans> here's my command line and output: https://pastebin.com/EVNi9ZGm
[19:31:20 CEST] <kepstin> jimevans: if i had to guess, the timestamps in your input srt file are messed up :/ (also, subtitles in mp4 are kinda weird and poorly supported by players in general)
[19:31:27 CEST] <lain98> kepstin: here's the code i'm using http://tiny.cc/r52mbz
[19:31:58 CEST] <jimevans> the forced.srt is a copy of part of the full.srt file. i've corrected the indexes in the forced file so they are sequential and starting at 1, but the copy is done to make sure that the timestamps are identical to the same subtitle entries in full.srt.
[19:32:21 CEST] <jimevans> the full srt file muxes properly, without error.\
[19:33:52 CEST] <jimevans> i'm not worried about player compatibility; i have that well in hand. i *do* need to use an mp4 container (as opposed to something more flexible like matroska), because reasons.
[19:33:59 CEST] <jimevans> kepstin: ^^
[19:34:21 CEST] <kepstin> jimevans: are any entries in the srt file out of order according to timestamps, maybe? those numbers look suspiciously like wrapping in a 32bit unsigned int :/
[19:34:45 CEST] <jimevans> nope, not in the slightest. again, using the full srt muxes just fine.
[19:35:11 CEST] <jimevans> and i agree, it looks suspiciously like a 32-bit wrapping issue
[19:35:23 CEST] <kepstin> if the full srt muxes fine and your edited one doesn't, then probably something's wrong in the edited one :/
[19:36:49 CEST] <jimevans> i can guarantee that's not the case; i've checked, rechecked, and rechecked multiple times. the problematic entries in the edited file, are *identical* to the same entries in the full file.
[19:37:14 CEST] <jimevans> happy to share the .srt files, if you'd like to verify that for yourself.
[19:37:17 CEST] <Diag> *still cant find anything about amf usage flag*
[19:37:36 CEST] <furq> Diag: -h encoder=h264_amf
[19:37:48 CEST] <furq> unless you want to know what those options actually do in which case who knows
[19:37:51 CEST] <furq> it's really badly documented
[19:37:52 CEST] <Diag> XD
[19:38:08 CEST] <Diag> Im just wondering whats the difference between transcoding, lowlatency and webcam is
[19:38:19 CEST] <Diag> I mean, i can assume lowlatency, but webcam and transcoding? XD
[19:38:21 CEST] <lain98> :D
[19:39:14 CEST] <furq> i assume transcoding is just "normal"
[19:39:31 CEST] <Diag> Thats what it looks like. its default
[19:39:34 CEST] <Diag> weird
[19:39:48 CEST] <furq> and i guess webcam is some kind of webrtc-friendly profile
[19:40:02 CEST] <Diag> Its weird for as hard as amd pushes this shit, they sure friggen do a bad job of documenting it
[19:40:08 CEST] <furq> the thing i got stuck on was the ratecontrol stuff
[19:40:11 CEST] <Diag> amf/vce/uvd are like mystery boxes
[19:40:35 CEST] <furq> i couldn't find any documentation on that that wasn't just doom9 posts that were contradicted by other doom9 posts
[19:40:51 CEST] <Diag> why does doom9 ring a bell
[19:41:09 CEST] <furq> doom9 is the premier forum for custom xvid quant matrices
[19:41:16 CEST] <Diag> oh
[19:41:21 CEST] <Diag> heh
[19:41:23 CEST] <furq> and people arguing about avisynth
[19:41:33 CEST] <Diag> oh god, im glad i didnt google it
[19:41:40 CEST] <Diag> i dont want my internet history tainted
[19:41:43 CEST] <furq> it does still have useful stuff on it but its day has pretty much passed
[19:41:52 CEST] <furq> mostly because video encoding became much less arcane
[19:41:54 CEST] <Diag> thats the internet in general :V
[19:42:19 CEST] <Diag> huh, preanalysis mode
[19:42:24 CEST] <Diag> that sounds like it could be useful
[19:42:57 CEST] <furq> i guess you'd never actually use amf outside of vbr_peak mode anyway since it's there for livestreaming your heated gaming moments
[19:43:06 CEST] <furq> but it'd be nice to actually know how to use cqp mode
[19:43:22 CEST] <Diag> Yeah, i forget why i was looking at it now
[19:43:34 CEST] <Diag> *scratches head*
[19:44:02 CEST] <Diag> I wish there was a way to say take your gaht dang time and encode a little better :l
[19:45:23 CEST] <furq> well there's -quality quality
[19:45:40 CEST] <furq> it doesn't seem to do much other than being fun to type
[19:46:28 CEST] <Diag> yeah i found that out years ago, ;(
[19:46:43 CEST] <Diag> the handbrake dudes do not like vce
[19:47:17 CEST] <Diag> although i will say, the one ess fiddy five dude did actually send me the friggen source to the vce build long before it became a thing, which was cool
[19:47:48 CEST] <furq> does ffmpeg's amf stuff work outside of windows yet
[19:47:55 CEST] <Diag> uhhhhh
[19:47:59 CEST] <Diag> I dont *think* so
[19:48:01 CEST] <Diag> only nvenc
[19:48:06 CEST] <furq> i think it's still through vaapi elsewhere
[19:48:12 CEST] <furq> that would explain why other tool devs aren't keen on it
[19:48:20 CEST] <Diag> I think it said mesa supports decode but not encode?
[19:48:33 CEST] <Diag> I can always reboot into linux and try it :shrug:
[19:50:28 CEST] <Diag> Too bad windows decided to disable my vt-x/d or id try it right now
[19:54:47 CEST] <kepstin> yeah, on linux most people use the vaapi interface for amd and intel hardware encoders, particularly if they have the open source drivers installed.
[19:55:34 CEST] <Diag> python quicksync emulator when
[19:57:13 CEST] <Diag> oh wow ffmpeg does aptx, nice
[20:00:04 CEST] <lain98> kodi is having the same issue as i have with divx/avi
[20:02:52 CEST] <jimevans> ah well, looks like subler will fix up the subtitles properly. i don't like that i can't command-line it like ffmpeg, but as long as it gets done, i suppose i'm good with that.
[20:03:01 CEST] <jimevans> thanks for the insight, y'all.\
[20:04:01 CEST] <Diag> >hardware accelerated mpeg2 decode
[20:04:04 CEST] <Diag> bruh
[20:06:21 CEST] <Diag> oh good gracious
[20:17:02 CEST] <Diag> vp9 two pass has to be run twice?
[20:18:08 CEST] <FooNess> ... yes, a two-pass encode has to do, well, two passes.
[20:18:12 CEST] <FooNess> If that's what you're asking.
[20:19:32 CEST] <Diag> Sure, but has two pass encoding always been running ffmpeg twice?
[20:19:37 CEST] <furq> yes except for nvenc
[20:19:38 CEST] <kepstin> yes
[20:19:47 CEST] <furq> nvenc's two-pass mode is...weird
[20:20:01 CEST] <kepstin> nvenc's "two pass mode" is what normal encoders call "looking at the entire frame to decide how to allocate bits", iirc
[20:20:04 CEST] <Diag> Huh wow, i guess the frontends for them really do make it retard proof
[20:20:10 CEST] <furq> yeah something like that
[20:20:23 CEST] <Diag> Isnt that what the vce preanalysis does
[20:20:40 CEST] <furq> probably
[20:20:45 CEST] <furq> i assume they're both just stupid names for lookahead
[20:21:03 CEST] <furq> but nvenc's is particularly stupid because it's repurposing existing terminology
[20:21:14 CEST] <Diag> right
[20:22:57 CEST] <Diag> huh, well weird
[20:30:09 CEST] <kepstin> and then there's the cases where you might want to run a two-pass filter (e.g. vidstab) and then do a two-pass encode, which means you need to do three separate executions of ffmpeg :)
[20:30:43 CEST] <Diag> kepstin: its time to stop
[20:41:04 CEST] <Diag> Is two pass worth it with vp9
[20:41:14 CEST] <Diag> if im coming from constant quality h264
[20:41:51 CEST] <kepstin> google says that libvpx vp9 has worse quality when using single-pass, even in cq mode.
[20:41:56 CEST] <furq> iirc two-pass makes a much bigger difference with vp9, even in crf mode, because their ratecontrol is awful
[20:42:05 CEST] <Diag> heh
[20:42:10 CEST] <furq> or whatever mode ffmpeg's crf switch actually activates in vpx
[20:42:36 CEST] <Diag> I guess ill fudge around with custom actions in sharex :(
[20:43:29 CEST] <kepstin> note that in x264, the '-crf' option basically works by running the second pass mode of the encoder with a preset value instead of a value calculated from the first pass.
[20:43:39 CEST] <furq> also vpx has terrible multithreading so this experiment probably won't last long on your 22-core xeon
[20:43:55 CEST] <furq> when you notice you can't get it to use more than 5% of it
[20:45:50 CEST] <Diag> ah
[20:46:01 CEST] <kepstin> splitting the video into segments and encoding them independently is the workaround, and it improves scalability of encoding even with x264
[20:46:07 CEST] <kepstin> for vod applications only, of course
[20:46:08 CEST] <Diag> furq: not the idea, the using the xeon was for realtime h264/5
[20:46:17 CEST] <Diag> this is for post encoding
[20:46:31 CEST] <Diag> Im hoping that the file size reduction will be worth it
[20:52:01 CEST] <lain98> aaa, why this filter doesnt work on this obscure dead format
[21:01:31 CEST] <Diag> wwwwwwwwwwwwwwew x265 takes some time
[21:02:44 CEST] <Diag> Is there a way to set the file buffer size
[21:03:06 CEST] <Diag> err, disregard, im retarded and spelled it wrong
[21:03:12 CEST] <lain98> Can someone attempt to explain what this error might mean "Missing one N-VOP packet, discarding one B-frame.". its in https://ffmpeg.org/doxygen/3.2/mpeg4__unpack__bframes__bsf_8c_source.html
[21:07:28 CEST] <lain98> i guess no :(
[22:21:55 CEST] <Diag> god what the hell even is vp9
[22:26:13 CEST] <kepstin> a temporary step on the way to av1, imo.
[22:31:02 CEST] <Diag> I mean, i just made an h264, vp9, and h265 file of the same 250kbps shit on just the normal "medium" encoder preset
[22:31:29 CEST] <Diag> h264 blows vp9 and h265 out of the water
[22:31:31 CEST] <Diag> hardcore
[22:31:53 CEST] <Diag> vp9 and h265 have huge moving blocks around any motion
[22:31:55 CEST] <kepstin> which encoders? x264, libvpx, x265?
[22:31:57 CEST] <FooNess> ... in terms of what? File size? Or perceptual quality?
[22:32:00 CEST] <FooNess> Or what.
[22:32:23 CEST] <Diag> x264/5 and whatever vp9 encoder is with handbrake lol
[22:32:30 CEST] <kepstin> out of those encoders, x264 almost certainly has the best perceptual optimizations.
[22:32:45 CEST] <Diag> filesizes are 2.43 h264, 2.4 h265, 2.2 vp9
[22:33:03 CEST] <Diag> and oh my god, i thought vp9 was eh, but h265 looks like aaaays
[22:33:04 CEST] <kepstin> so, libvpx has terrible rate control, as you saw
[22:33:08 CEST] <Diag> Yeah
[22:33:11 CEST] <Diag> well
[22:33:13 CEST] <Diag> that was two pass
[22:33:15 CEST] <Diag> :shrug:
[22:33:26 CEST] <kepstin> with two pass it's merely terrible
[22:33:30 CEST] <kepstin> with one pass it's horrendous
[22:33:35 CEST] <Diag> lemme upload the files here
[22:33:41 CEST] <Diag> im like, shocked
[22:34:00 CEST] <kepstin> anyways, vp9/h265 were really designed for larger video sizes (4k video in particular) and have issues with lower res stuff, tbh.
[22:34:08 CEST] <Diag> oh yeah, id believe it
[22:34:14 CEST] <kepstin> the larger block size options probably hurt at lower res
[22:34:26 CEST] <Diag> I remember when h265 was first becoming a thing and there was that basketball shot
[22:34:43 CEST] <Diag> and like, overall the scenes had more detail, but h265 got blocky instead of blurry
[22:34:54 CEST] <kepstin> blocky instead of blurry is actually something x264 does intentionally.
[22:34:58 CEST] <Diag> uhhh
[22:35:03 CEST] <Diag> no, the other way around
[22:35:05 CEST] <Diag> h265 was blocky iirc
[22:35:29 CEST] <kepstin> blurry gives you better psnr, but x264 tends to leave some blockiness in to preserve high frequency energy
[22:35:36 CEST] <Diag> Im thankin *hnnnnnnnnnnnnnnnng*
[22:35:45 CEST] <kepstin> it's a tricky balance :)
[22:36:03 CEST] <Diag> :V
[22:36:09 CEST] <Diag> h264 just always seemed well rounded
[22:36:17 CEST] <Diag> and vp9 and h265 were special use cases
[22:36:42 CEST] <furq> x264 is just a really thoroughly developed encoder
[22:37:12 CEST] <FooNess> Speaking of; so there's videos on YouTube with an avc1 stream, and then a VP9 stream. Are there supposed to be any measurable perceptual differences between either of these?
[22:37:19 CEST] <furq> x265 is harder to contribute to afaik and also people are generally less keen on using it because of the stupid licensing
[22:37:29 CEST] <furq> and how slow it is if you want measurable gains for most content
[22:37:48 CEST] <furq> FooNess: the vp9 stuff on youtube is generally higher quality
[22:38:00 CEST] <kepstin> FooNess: google's intention (from the limited info they've revealed) is that they're using vp9 primarily for bandwidth saving
[22:38:04 CEST] <Diag> vp9 on youtube pulls off some wizardry :thonk:
[22:38:14 CEST] <furq> you could be conspiratorial and say it's because they're trying to push vp9 over h264
[22:38:19 CEST] <FooNess> furq, I see. And I guess that's because they use a two-pass encode? And not a one-pass CRF encode which as discussed before, has bad efficiency?
[22:38:27 CEST] <furq> but i think they're just using quick h264 settings to get a video up as fast as possible
[22:38:38 CEST] <furq> and then the vp9 always comes a lot later after the video hits a certain view count
[22:38:48 CEST] <FooNess> Yeah, I have a feeling they just have some ffmpeg script set up somewhere and parse uploads through it.
[22:38:58 CEST] <furq> i'm pretty sure it was confirmed they use ffmpeg on the backend
[22:39:02 CEST] <FooNess> Right.
[22:39:04 CEST] <kepstin> FooNess: google almost certainly uses libvpx with 2-pass mode (because 1-pass mode sucks) with combined bitrate and quality limits, encoded in a segmented fashion
[22:39:06 CEST] <FooNess> I mean, it's what'd make sense.
[22:39:10 CEST] <FooNess> kepstin, I see.
[22:39:16 CEST] <furq> but yeah nobody outside google really knows what settings they're using
[22:39:25 CEST] <FooNess> Right.
[22:39:59 CEST] <kepstin> they give a hint, in their recommended encoder settings for other people doing vod: https://developers.google.com/media/vp9/settings/vod/
[22:40:06 CEST] <furq> they use vp9 for rate savings and it takes a long time for them to show up so it's a safe bet they're using high quality settings
[22:40:14 CEST] <furq> plus they did make it so presumably they know how to get everything out of it
[22:40:22 CEST] <FooNess> Excellent.
[22:40:32 CEST] <furq> and also i heard they have quite a few servers over there at google so they can distribute the encoding
[22:41:16 CEST] <FooNess> And in my experience, the VP9 only shows up after the video gains traction in terms of views or something, so it may be a kind of "reward" for the uploader for having uploaded something people want to see -- "here, have a higher quality version."
[22:41:22 CEST] <kepstin> i dunno about now, but a while ago they'd only bother encoding vp9 for videos that hit a certain popularity level. since they were balancing cost of video encoding vs. cost of bandwidth.
[22:41:29 CEST] <FooNess> Yes, exactly.
[22:41:33 CEST] <FooNess> That's what I also noticed.
[22:41:38 CEST] <furq> i used to upload a lot of music to youtube and everything with >150 views had vp9
[22:41:41 CEST] <furq> anything without didn't
[22:41:47 CEST] <furq> but that's probably changed 100 times since i last checked
[22:41:48 CEST] <FooNess> Oh, 150 is all that's needed?
[22:41:50 CEST] <FooNess> Yeah.
[22:41:55 CEST] <FooNess> Google change shit aaaaaaaaaall the time.
[22:41:56 CEST] <FooNess> lol
[22:42:01 CEST] <furq> it makes sense because probably 99% of videos on there never hit 100 views
[22:42:08 CEST] <FooNess> Yeah, heh.
[22:42:14 CEST] <Diag> oh hey i forgot
[22:42:52 CEST] <Diag> >mfw chrome wont play a vp9 mkv
[22:42:57 CEST] <Diag> what the FUARK
[22:42:58 CEST] <kepstin> (btw, if you read that google vp9 settings doc, note that they made a typo - you need to add a k after the minrate and maxrate values they provided)
[22:43:08 CEST] <kepstin> chrome won't play mkv at all, that's nothing special
[22:43:11 CEST] <kepstin> put it in webm
[22:43:19 CEST] <furq> ignore the fact that webm is mkv
[22:43:30 CEST] <furq> that would make too much sense
[22:43:35 CEST] <FooNess> lol
[22:43:45 CEST] <kepstin> hey, it has a different vendor id :)
[22:44:32 CEST] <Diag> I mean for forks sake
[22:44:34 CEST] <TheAMM> (technically chrome will play mkv in <video>, ala https://mygi.ga/iXk/aecmI.mkv/embed)
[22:44:51 CEST] <Diag> /embed?
[22:45:29 CEST] <TheAMM> An endpoint for serving html with relevant embed dom and metadata
[22:45:49 CEST] <Diag> ah
[22:47:00 CEST] <kepstin> huh. well, that certainly doesn't play in firefox.
[22:50:17 CEST] <kepstin> last time i checked, epiphany (gnome-web, based on webkit-gtk) would play anything you have gstreamer plugins installed for. i wonder if they've added a whitelist now
[22:50:28 CEST] <Diag> TheAMM: id say i need this, but i dont need this, vp9 is poo poo
[23:02:18 CEST] <Diag> wait
[23:02:33 CEST] Last message repeated 1 time(s).
[23:02:33 CEST] <Diag> I literally just had to rename it from mkv to webm and it fkin embeds??!
[23:02:42 CEST] <Diag> wheres my good rope
[23:02:58 CEST] <furq> hooray for browsers
[23:22:17 CEST] <Diag> does chrome not play h265 either?
[23:22:20 CEST] <Diag> what the balls is this crap
[23:31:06 CEST] <BtbN> No Browser does, the patent swamp surrounding hevc and intense hardware requirements makes it not worth the effort.
[23:31:38 CEST] <Diag> wow, double rope
[23:32:59 CEST] <BtbN> There really is hardly any point to using HEVC in general
[23:33:11 CEST] <Diag> yeah i was just testing some nonsense out
[23:33:16 CEST] <Diag> and its like :l
[23:33:26 CEST] <BtbN> h264 and vp9 are kinda the sweet spot of hardware demands and quality
[23:33:31 CEST] <Diag> pfft
[23:33:55 CEST] <Diag> vp9 does not fair well with desktop recording
[23:34:15 CEST] <BtbN> That's primarily because libvpx is a pile of garbage
[23:34:24 CEST] <Diag> whats better?
[23:34:28 CEST] <BtbN> x264
[23:34:35 CEST] <Diag> :facepalm:
[23:34:49 CEST] <BtbN> I'm not aware of any proper non-commercial vp9 encoders
[23:34:57 CEST] <Diag> oh
[23:35:12 CEST] <Diag> Google pulls off some serious shit with vp9 on youtube
[23:35:56 CEST] <BtbN> They use libvpx though
[23:36:06 CEST] <kepstin> i'm pretty sure most of it on youtube is careful choice of bitrates, combined with using 2 pass mode and throwing lots of computer hardware at it.
[23:36:12 CEST] <BtbN> It's fine for conversion of complete files
[23:36:20 CEST] <Diag> ?
[23:36:29 CEST] <BtbN> I doubt YouTube uses twopass mode. They are not usually aiming for an exact file size
[23:36:29 CEST] <Diag> I *am* doing complete files
[23:36:52 CEST] <BtbN> You just said you're doing desktop recording. That's very much not a complete and done for file.
[23:36:57 CEST] <kepstin> due to the issues with rate control, you want to use 2-pass mode even when not encoding to a target file size
[23:37:20 CEST] <BtbN> Does it not have an equivalent to crf?
[23:37:25 CEST] <kepstin> no, it doesn't
[23:37:43 CEST] <kepstin> there's an option called crf, in ffmpeg, but it's actually a quality-limit mode that works very differently
[23:37:43 CEST] <BtbN> So you just do two-pass encoding to a desired bitrate, and that's best you can get?
[23:37:47 CEST] <BtbN> That's even worse than I expected.
[23:38:58 CEST] <kepstin> the libvpx quality limit mode is basically an option to make it not use the full target bitrate if the quality would be above some set level (i'm not sure how they measure quality)
[23:39:15 CEST] <kepstin> google uses that in youtube as a way to save disk space for easy-to-encode files
[23:39:24 CEST] <Diag> BtbN: I have a raw file i recorded
[23:39:32 CEST] <Diag> and i was encoding it with different shit
[23:40:02 CEST] <BtbN> Yeah, so apparently you want to do a 2pass encoding with libvpx
[23:40:11 CEST] <Diag> thats schwat i did :D
[23:40:24 CEST] <chungy> Hello, is there a way to tell ffmpeg to not include an "encoder" metadata tag on output files?
[23:40:40 CEST] <BtbN> try the bitexact mode
[23:40:54 CEST] <Diag> erm, who
[23:41:09 CEST] <Diag> oh, him
[23:41:11 CEST] <kepstin> you can use libvpx-vp9 in a mode where you set only the quality limit and no target bitrate, and you get something sort of like x264's crf mode - but you still need to use 2-pass encoding for this to work properly because ?? :/
[23:41:24 CEST] <Diag> heh
[23:41:36 CEST] <Diag> I just said screw it and did avg bitrate 2 pass :shrug:
[23:41:55 CEST] <kepstin> vp8 requires a target bitrate set, you can set the target bitrate arbitrarily high and use the quality limit stuff.
[23:42:08 CEST] <BtbN> I'd kinda like to play with EVE-VP9, but it's not exactly accessible.
[23:42:25 CEST] <Diag> oh thats a good point
[23:42:32 CEST] <Diag> lemme try a vp8 of the same bologna
[23:42:48 CEST] <kepstin> vp8 will be worse than vp9, of course
[23:42:57 CEST] <Diag> will it really tho
[23:43:02 CEST] <Diag> this is lower resolution stuff
[23:43:08 CEST] <BtbN> of course it will
[23:43:11 CEST] <kepstin> yes? it's basically the same as vp9 but worse
[23:43:21 CEST] <chungy> thanks, -bitexact is what I want
[23:43:27 CEST] <kepstin> intel has their svt-vp9 encoder too, but iirc that's designed for realtime 1-pass stuff?
[23:43:43 CEST] <BtbN> Isn't that kinda a hwenc?
[23:43:54 CEST] <kepstin> no, the svt encoders are pure software
[23:44:14 CEST] <kepstin> https://github.com/OpenVisualCloud/SVT-VP9
[23:44:19 CEST] <Diag> huh
[23:44:25 CEST] <kepstin> they also have hevc and i think they might be working on av1?
[23:44:46 CEST] <kepstin> hmm, they are targetting vod applications too
[23:45:14 CEST] <Diag> testing vp8
[23:45:25 CEST] <Diag> because screw reality, this isnt a given
[23:45:45 CEST] <kepstin> vp8 also has worse multithreading support than vp9, which means that it's sometimes slower than vp9, too
[23:45:58 CEST] <Diag> you wanna stop making me wanna kms
[23:46:04 CEST] <Diag> im close enough already
[23:46:24 CEST] <Diag> I wanna find that sweet spot of like
[23:46:45 CEST] <Diag> h264 vs 65 where i can either have really slow 264 or somewhat slow 265
[23:47:06 CEST] <BtbN> last time I checked x265 was still way slower than x264
[23:47:12 CEST] <Diag> Sure
[23:47:23 CEST] <Diag> But theres diminishing returns, yaknow
[23:47:44 CEST] <kepstin> note that if you're doing screencapture of applications (e.g. lots of text, limited motion) libvpx-vp9 has a specific content tune for that which should help with quality.
[23:48:04 CEST] <Diag> tell me more
[23:48:20 CEST] <BtbN> I don't think there's more to that
[23:48:22 CEST] <kepstin> '-tune-content screen'
[23:48:25 CEST] <kepstin> that's it.
[23:48:31 CEST] <Diag> OH GOD MY EYES
[23:48:46 CEST] <Diag> what in the holy hell, the colors are going all whack
[23:50:04 CEST] <kepstin> my impression of the current state of h265 software encoders was that if you run them at about the same encoding speed as x264, they were pretty close to it in terms of encoding efficiency? (quality per bit)
[23:50:15 CEST] <kepstin> and they could be better if you ran them slower
[23:50:24 CEST] <Diag> :shrug: Id be willing to wait a little longer if i *could* get better
[23:50:36 CEST] <Diag> but like going between slower and placebo is like nothing
[23:50:47 CEST] <kepstin> although the benefits at lower resolutions would be minimal if any
[23:50:56 CEST] <BtbN> Get libaom out then, and set it's quality to 11
[23:51:04 CEST] <BtbN> Might take "a little" longer, but sure will look good
[23:51:06 CEST] <Diag> why you gotta get me all excited, and then shoot down my hopes and dreams like that
[23:55:07 CEST] <Diag> the tune helped a little bit
[23:55:11 CEST] <Diag> any movement goes to shit though
[23:55:18 CEST] <Diag> x264 it is
[23:58:57 CEST] <Diag> oh man, placebo 2 pass x264 is nutworthy
[23:59:15 CEST] <furq> just use veryslow
[23:59:18 CEST] <kepstin> no real benefit to placebo in x264
[23:59:26 CEST] <BtbN> placebo is pointless, as its name might suggest
[23:59:39 CEST] <BtbN> and 2pass is as well, if you're not aiming for a precise size
[00:00:00 CEST] --- Sat Aug 24 2019
1
0