[Ffmpeg-devel-irc] ffmpeg.log.20191019

burek burek at teamnet.rs
Sun Oct 20 03:05:01 EEST 2019


[01:11:55 CEST] <lindylex> I am having some issues with using palettegen.  This is my attempt https://pastebin.com/eE4MtyaM
[03:37:37 CEST] <kepstin> lindylex: you're trying to connect the v1 label on the split filter to both the paletteuse and the palettegen filters, that won't work
[03:37:50 CEST] <kepstin> need to split it again, i guess.
[03:38:07 CEST] <lindylex> This is what I have let me show you.
[03:39:09 CEST] <lindylex> https://pastebin.com/iEX6vUQ2
[03:39:44 CEST] <lindylex> I simplified it but I need to find a way to use palettegen and paletteuse on the output.
[03:39:48 CEST] <kepstin> so that works, because it's connecting one of the outputs of the split filter to one of the inputs of the concat filter
[03:39:59 CEST] <kepstin> the problem is that you can't connect one filter output to two filter inputs
[03:40:00 CEST] <lindylex> Yes I know,
[03:40:51 CEST] <lindylex> Right how do I solve this?  Is it outside of the -filter_complex?
[03:41:31 CEST] <kepstin> no, just change the split to "split=3[v1][v2][reverseMe]" and send v1 to the palettegen, and v2 to the paletteuse
[03:41:59 CEST] <lindylex> Oh ok let mr try this.
[03:42:33 CEST] <kepstin> (keep in mind that this whole chain should not be used on clips more than a few seconds long, because it'll buffer the entire raw video in ram multiple times)
[03:43:12 CEST] <lindylex> What about the reverseMe.  That need to have the paletteuse done to it also.  Yes I read how not practice it is to do on a large video file.
[03:45:05 CEST] <kepstin> hmm. actually, you should put all of the palette stuff after the concat filter, for best results
[03:45:39 CEST] <lindylex> That is what I was thinking.
[03:45:44 CEST] <kepstin> so after the concat filter, add a split filter with two outputs (new labels), and send one to the palettegen, one to the paletteuse.
[03:46:52 CEST] <lindylex> One sec let me try to implement your suggestion.
[03:48:58 CEST] <kepstin> sticking ",split[n1][n2];[n1]palettegen[p];[n2][p]paletteuse" right before the [v] is how i'd do it.
[03:49:59 CEST] <lindylex> ?
[03:50:22 CEST] <lindylex> Let me try one sec.
[03:55:32 CEST] <lindylex> kepstin : thanks this worked https://pastebin.com/vaDCcc3P
[04:18:20 CEST] <Mistah_Miaou> Hey guys!
[04:18:20 CEST] <Mistah_Miaou> So I already figured out the command to create a Youtube video from 1x .WAV and 6x. JPEGs:
[04:18:26 CEST] <Mistah_Miaou> $ ffmpeg -r 1/6 -f image2 -start_number 1 -i img%03d.jpg -i mywav -vf scale=1280:1024 out.mp4
[04:18:46 CEST] <Mistah_Miaou> But because the lenght of the audio is longer than the lenght of the 6 picture displayed the last/6th picture remains on the screen longer than the other and it remains until the end of the .mp4.
[04:19:03 CEST] <Mistah_Miaou> Hence, does anybody knows how to:
[04:19:03 CEST] <Mistah_Miaou>     Make sure that each picture is only displayed once but all on equal time during a video creation using my previous command line?
[04:19:03 CEST] <Mistah_Miaou>     Loop infinitely? I have seen "-loop 1" switches being added but it seems that "-loop 9" will not loop 9 times.
[04:19:21 CEST] <Mistah_Miaou> At the end of the day you've probably guessed that I am trying to have, for example, a 3 minutes video that would have 6 pictures, each displayed 10 seconds (for total 1 minute) and repeat that thrice to fit the video lenght.
[04:19:25 CEST] <Mistah_Miaou> (Thanks in advance)
[13:38:52 CEST] <jack_thompson> the current git... which version of libopencv does it support?
[13:39:28 CEST] <durandal_1707> very old one
[13:39:36 CEST] <durandal_1707> why you need libopencv?
[13:40:58 CEST] <jack_thompson> i need opencv for shape detection... but its api is a moving target... so i hoped to have ffmpeg take care of that...
[13:41:15 CEST] <durandal_1707> 2
[13:41:24 CEST] <JEEB> they dropped the C API that was utilized and now there's only the C++ one
[13:41:30 CEST] <durandal_1707> no they removed in new versions C support completely
[13:41:31 CEST] <JEEB> and nobody has cared enough to implement the new one :P
[13:41:49 CEST] <JEEB> so if you happen to care, watches are pelcome
[13:42:08 CEST] <jack_thompson> i see... does ffmpeg support opencv2.x or something?
[13:42:20 CEST] <JEEB> https://github.com/opencv/opencv/issues/8438#issuecomment-288638915
[13:42:25 CEST] <JEEB> that's the relevant issue
[13:43:12 CEST] <JEEB> jack_thompson: no idea what version the original support was developed against honestly :)
[13:43:24 CEST] <jack_thompson> hmm hmm
[13:45:03 CEST] <jack_thompson> well i'll start with a pre-3.1 opencv then.. if they had at least samples that were scriptable that would be great... when you change one of their examples to /be/ scriptable it is almost garanteed to break with the next major update of that lib
[13:46:23 CEST] <jack_thompson> just a sample that will output bounding boxes to stdout as WxH+X+Y or something... that would be /absolutely amazing/...
[13:46:33 CEST] <jack_thompson> thanks guys...
[15:00:22 CEST] <^Neo> Hey all, I'm trying to use the fps filter inside some C code and I'm trying to figure out how to flush it... other filters like yadif you pass in a nullptr and you get all the buffered frames out but that doesn't seem to work for the fps filter...
[16:11:16 CEST] <grill05> I am trying to compile ffmpeg with --enable-libaom
[16:11:38 CEST] <grill05> libaom is installed in /usr/local/lib and is version 1.0.0 (compiled from latest git)
[16:11:53 CEST] <grill05> But I get the error in configure (ffmpeg) "ERROR: aom >= 1.0.0 not found using pkg-config"
[16:12:30 CEST] <JEEB> pkg-config doesn't have your_prefix/lib/pkgconfig in its search path
[16:12:44 CEST] <grill05> it is in /usr/local/lib/pkg_config
[16:12:48 CEST] <JEEB> you can append to it with PKG_CONFIG_PATH=/your/prefix/lib/pkgconfig when running the configure
[16:13:11 CEST] <grill05> The file is /usr/local/lib/pkgconfig/aom.pc . I thought /usr/local was included by default ?
[16:13:17 CEST] <JEEB> depends on your distro
[16:13:21 CEST] <JEEB> I have no idea :P
[16:13:25 CEST] <JEEB> but you can always append
[16:13:36 CEST] <JEEB> as noted with setting PKG_CONFIG_PATH (it doesn't replace, only appends)
[16:13:46 CEST] <JEEB> then check ffbuild/config.log for details of the failure if it still fails
[16:16:45 CEST] <grill05> ok..found the error in config.log
[16:18:17 CEST] <grill05> The error comes from this
[16:18:27 CEST] <grill05> https://controlc.com/d70543b7
[16:18:37 CEST] <JEEB> fun
[16:18:47 CEST] <grill05> undefined reference in the library..wierd
[16:19:00 CEST] <JEEB> so libaom changed its things or you wound up building without some features?
[16:19:16 CEST] <grill05> defaults..just -DENABLE_SHARED
[16:19:23 CEST] <grill05> aomenc runs fine
[16:21:28 CEST] <grill05> thanks for your help though
[16:21:40 CEST] <grill05> guess I'll just have to pipe to aomenc
[16:22:06 CEST] <JEEB> they did recently moved init_config around it seems
[16:22:11 CEST] <JEEB> *move
[16:22:36 CEST] <grill05> anything I can do to fix this build error at my end  ?
[16:22:38 CEST] <JEEB> or well, they added a symbol like that in the latest master
[16:22:52 CEST] <grill05> using aomenc is unnecessarily complicated
[16:23:06 CEST] <grill05> via pipes
[16:23:14 CEST] <JEEB> grill05: I think the simplest way is to revert to the previous-to-current-master revision (the one before "add config file options support")
[16:23:19 CEST] <JEEB> and see if that works
[16:23:41 CEST] <grill05> figures...and add 1 feature, break another :)
[16:24:40 CEST] <grill05> so I've always used git master. How exactly do I tell git to use "previous to current" revision? the problematic commit is https://aomedia.googlesource.com/aom/+/a70e67a5fd6a9ea978cba7ee34e5b2257579e81e
[16:24:50 CEST] <JEEB> yes that's the current master
[16:25:08 CEST] <JEEB> so to checkout the previous one you can just go `git checkout HEAD~1`
[16:25:16 CEST] <JEEB> which checks out the previous one from HEAD
[16:25:21 CEST] <JEEB> HEAD being "where you stand currently"
[16:25:22 CEST] <grill05> is that a ~ or a -
[16:25:28 CEST] <JEEB> it's a curly
[16:25:31 CEST] <JEEB> ~
[16:25:32 CEST] <grill05> ok
[16:25:51 CEST] <JEEB> otherwise just specifically saying `git checkout HASH` checks out that has too
[16:25:52 CEST] <grill05> strange..the devs at aom are usually careful
[16:26:18 CEST] <grill05> to break a build like this isn't their usual style
[16:26:26 CEST] <grill05> let me try your solution
[16:28:12 CEST] <grill05> actually, would I need to recompile ffmpeg if I check out HEAD~1 ?
[16:28:27 CEST] <JEEB> you haven't yet compiled FFmpeg anyways?
[16:28:35 CEST] <grill05> since the library version does'nt change, and the actual .so file is the same
[16:28:35 CEST] <JEEB> you're just attempting to build it with libaom
[16:39:33 CEST] <grill05> someone should report this to the aom bug tracker
[16:40:35 CEST] <JEEB> they either added a new library that exports that symbol (since it was added to common/args.c), and that is not being linked against (thus, linking failing)
[16:40:42 CEST] <JEEB> or they forgot to export the symbol altogether
[16:40:43 CEST] <JEEB> :P
[16:40:57 CEST] <grill05> I think 2nd one is more likely
[16:41:48 CEST] <grill05> they must have tested with aomenc/aomdec, and those two work fine. Its just any application using the shared lib that crashed with 'undefined symbol'
[16:41:58 CEST] <grill05> *crashes
[16:42:09 CEST] <JEEB> ok, so their own apps don't utilize the built libraries? :D
[16:42:28 CEST] <JEEB> as in, if you `ldd` them
[16:42:34 CEST] <JEEB> you don't get a dep for the shared libs
[16:43:38 CEST] <grill05> success~
[16:43:40 CEST] <grill05> thanks
[16:43:50 CEST] <grill05> ffmpeg configures correctly with HEAD~1
[16:44:02 CEST] <grill05> building now :)
[16:47:11 CEST] <JEEB> I poked the AOM IRC channel to see if anyone else can reproduce it
[16:47:21 CEST] <grill05> JEEB can you report this to their bug tracker ? You seem to understand where the problem is
[16:47:35 CEST] <grill05> Another guy just did.on #av1 on discord
[16:47:36 CEST] <JEEB> I don't have an account there unfortunately so the best I can do is poke an IRC xD
[16:47:52 CEST] <JEEB> *an IRC channel
[16:48:22 CEST] <JEEB> grill05: well I'm still not sure if libaom got a new release which actually decodes video correctly served by the biggest user of AV1 atm
[16:48:48 CEST] <JEEB> nobody just noticed how AV1 decode was broken because both chromium and firefox started using dav1d
[16:49:02 CEST] <grill05> #av1 on discord  https://discord.gg/HSBxne3
[16:49:32 CEST] Action: JEEB keeps the hell awy from those corporate chat things until their business model becomes clear
[16:49:59 CEST] <grill05> :)
[16:50:14 CEST] <grill05> no secret stuff there, just tech info
[16:50:50 CEST] <JEEB> yea, I don't see anything special there since we have #aomedia and other related channels already on freenode and friends
[16:51:19 CEST] <grill05> yes, but it makes uploading test encoded (<8MB) easier IMHO
[16:52:03 CEST] <JEEB> anyways, getting distracted. my reason for not utilizing those new things is anyways simple (I don't know how the company hosting the centralized service wants to actually make money)
[16:52:21 CEST] <JEEB> but great that HEAD~1 still worked for you :)
[16:52:44 CEST] <grill05> yes. thanks a lot. Wouldn't have thought of checking config.log by myself :)
[17:59:46 CEST] <pl44c> Is it possible to have multiple gpus work on encoding a specific file? I don't see a mention of it here https://trac.ffmpeg.org/wiki/Hardware/VAAPI
[18:00:06 CEST] <pl44c> Or would it be better suited to have 1 GPU work on 1 video in a list and another on the next
[19:11:15 CEST] <kepstin> pl44c: if you're using nvenc on quadro cards, depending on video size/framerate you can often do multiple videos on one card
[19:11:48 CEST] <kepstin> pl44c: but hardware encoders on gps are dedicated hardware, and there's no way to combine multiple of them working on encoding one video stream
[19:12:55 CEST] <kepstin> they're usually designed to achieve realtime or faster performance anyways, so for their intended use of encoding live video without using cpu, that's fine.
[19:15:22 CEST] <pl44c> ah so only 1 card can be used for the conversion of 1 file at a time
[19:16:42 CEST] <pl44c> I have both a vega64 and RX560 that will eventually be replaced a 5700XT and wanted to see if it was worth unbinding the card that was used for a virtual machine to speed up things
[19:17:00 CEST] <klaxa> <pl44c> ah so only 1 card can be used for the conversion of 1 file at a time
[19:17:12 CEST] <klaxa> as far as i understand he said the exact opposite of that
[19:18:20 CEST] <klaxa> ah, but the other way around it doesn't work like that yes, more like 1 file can only be written by 1 card
[19:20:57 CEST] <pl44c> now on amd hardware does that hardware do more than 1 video?
[19:21:04 CEST] <pl44c> per card
[19:22:07 CEST] <kepstin> It probably works, but haven't tested it.
[19:22:41 CEST] <kepstin> How much doing multiple videos on a single card slows it down depends on the card
[19:36:49 CEST] <ry> ry
[19:43:31 CEST] <pl44c> pl44c
[19:44:27 CEST] Action: klaxa starts throwing poke balls
[19:44:27 CEST] <pl44c> well thanks for the info I'll test things out myself now
[20:32:40 CEST] <pl44c> Alright so it seems to my understanding that for my use case of converting videos it cannot be hardware accelerated actually
[20:33:12 CEST] <pl44c> because videos with format=nv12 don't work while format=yuv420p do
[20:33:27 CEST] <pl44c> unless there's a way to accelerate the later
[20:34:12 CEST] <JEEB> well I think the bigger problem generally is that most filters are done on the CPU and thus you have to transfer the decoded image to RAM from VRAM
[20:34:26 CEST] <JEEB> there are some filters that take in GPU images, though
[20:34:51 CEST] <JEEB> as such, nv12 and yuv420p are the same data but in a different order - and conversion between the two is simple
[20:36:14 CEST] <furq> pl44c: https://ffmpeg.org/ffmpeg-filters.html#OpenCL-Video-Filters
[20:43:44 CEST] <pl44c> furq: thanks I saved this for later
[20:44:09 CEST] <pl44c> OpenCL is included in amdgpu and isn't locked to amdgpu-pro right?
[20:44:18 CEST] <pl44c> or was it ever at one point
[20:49:13 CEST] <furq> it's not in amdgpu
[20:49:23 CEST] <furq> you can still get it working without amdgpu-pro but you have to jump through some hoops
[20:50:15 CEST] <pl44c> What's the story behind opencl needing proprietary bits exactly?
[20:50:23 CEST] <pl44c> Seems silly to call it OpenCL
[20:51:14 CEST] <furq> the standard is open
[20:53:39 CEST] <pl44c> Well yeah but why isn't the implementation?
[21:33:58 CEST] <Hello71> what hoops? it's just mesa
[21:35:18 CEST] <furq> that's a really old opencl
[21:36:00 CEST] <furq> you need rocm or something for 2.x support
[21:37:30 CEST] <Hello71> hm.
[23:26:59 CEST] <fred1807> is it possible to broadcast (flv stream) a folder os jpeg photos?
[00:00:00 CEST] --- Sun Oct 20 2019


More information about the Ffmpeg-devel-irc mailing list