BtbN changed the topic of #ffmpeg to: Welcome to the FFmpeg USER support channel | Development channel: #ffmpeg-devel | Bug reports: https://ffmpeg.org/bugreports.html | Wiki: https://trac.ffmpeg.org/ | This channel is publically logged | FFmpeg 7.0 is released
aus has quit [Remote host closed the connection]
aus has joined #ffmpeg
aaabbb has quit [Killed (zinc.libera.chat (Nickname regained by services))]
aaabbb has joined #ffmpeg
bbbccc has joined #ffmpeg
System_Error has quit [Remote host closed the connection]
squeaktoy has quit [Quit: WeeChat 4.2.1]
System_Error has joined #ffmpeg
five61848033 has quit [Remote host closed the connection]
five61848033 has joined #ffmpeg
minimal has quit [Quit: Leaving]
iive has quit [Quit: They came for me...]
System_Error has quit [Ping timeout: 260 seconds]
SystemError has joined #ffmpeg
squeaktoy has joined #ffmpeg
telgareith has quit [Quit: The Lounge - https://thelounge.chat]
telgareith has joined #ffmpeg
lec_thege804272 has joined #ffmpeg
Suchiman has quit [Quit: Connection closed for inactivity]
lemourin has quit [Quit: The Lounge - https://thelounge.chat]
lemourin has joined #ffmpeg
five61848033 has quit [Remote host closed the connection]
five61848033 has joined #ffmpeg
jagannatharjun has joined #ffmpeg
SystemError has quit [Remote host closed the connection]
SystemError has joined #ffmpeg
Tinos has joined #ffmpeg
waleee has quit [Ping timeout: 260 seconds]
noobaroo has quit [Quit: Konversation terminated!]
noobaroo has joined #ffmpeg
Vonter has joined #ffmpeg
<aaabbb> is there a reason the btbn build doesn't have the alsa input device?
aus has quit [Quit: Ping timeout (120 seconds)]
aus has joined #ffmpeg
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #ffmpeg
<ossifrage> I'm trying to extract all frames from a mp4 video to png files and I seem to be missing frames. ffmpeg -i $f -start_number 0 -vsync 0 images/$f/$f.%06d.png
<ossifrage> Some of the videos are missing 0 frames, some 3, some 1. [based on per-frame metadata that came with the video files]
<aaabbb> ossifrage: "ffmpeg -an -i $f -f null -" how many frames does it say?
<aaabbb> that will decode the video and count frames, in case maybe the metadata you got is wrong
cmc has quit [Ping timeout: 260 seconds]
AbleBacon has quit [Read error: Connection reset by peer]
cmc has joined #ffmpeg
<ossifrage> aaabbb, it seems like the metadata is wrong (it has bounding boxes of object in each frame, making everything suspect)
<aaabbb> more likely that metadata is wrong than ffmpeg's code :p
<aaabbb> (not to say it's bug free...)
<ossifrage> aaabbb, they also have the frame rate wrong in the metadata (29 != 29.97)
zombean has joined #ffmpeg
jagannatharjun has quit [Quit: Connection closed for inactivity]
jagannatharjun has joined #ffmpeg
coldfeet has joined #ffmpeg
YuGiOhJCJ has joined #ffmpeg
vlm has joined #ffmpeg
MisterMinister has quit [Ping timeout: 256 seconds]
rv1sr has joined #ffmpeg
<aaabbb> how do i increase the roll-off for the highpass/lowpass filters? like how asubcut and asupercut work but without being limited to <200hz and >20khz
xx has joined #ffmpeg
<aaabbb> i've heard the aiir filter can do it, but i have no idea how to get it to do that
kts has joined #ffmpeg
lavaball has joined #ffmpeg
upekkha has quit []
kts has quit [Ping timeout: 240 seconds]
upekkha has joined #ffmpeg
Vonter has quit [Ping timeout: 260 seconds]
Vonter has joined #ffmpeg
Vonter has quit [Ping timeout: 268 seconds]
kts has joined #ffmpeg
zombean has quit [Ping timeout: 256 seconds]
kts has quit [Ping timeout: 264 seconds]
YuGiOhJCJ has quit [Ping timeout: 260 seconds]
Suchiman has joined #ffmpeg
YuGiOhJCJ has joined #ffmpeg
foul_owl has quit [Ping timeout: 260 seconds]
foul_owl has joined #ffmpeg
zombean has joined #ffmpeg
lavaball has quit [Remote host closed the connection]
<BtbN> aaabbb: libalsa cannot be statically linked
<aaabbb> oh i see
chainik1 has quit [Quit: (╯°□°)╯︵ ┻━┻]
chainik1 has joined #ffmpeg
<aaabbb> another question if anyone knows. is there any filter like silencedetect but which mutes the channel during "silence"? something that can be used as vad (voice activity detection)
<aaabbb> so that basically anything below say -60dB becomes -91.0dB
zombean has quit [Ping timeout: 256 seconds]
zombean has joined #ffmpeg
meklu_ is now known as meklu
Tinos has quit [Remote host closed the connection]
Tinos has joined #ffmpeg
aaabbb has quit [Remote host closed the connection]
kts has joined #ffmpeg
Tinos has quit [Remote host closed the connection]
Tinos has joined #ffmpeg
kts has quit [Quit: Konversation terminated!]
Blacker47 has joined #ffmpeg
j45 has quit [Ping timeout: 268 seconds]
j45 has joined #ffmpeg
Juest has quit [Ping timeout: 260 seconds]
e^pi-1 has quit [Quit: WeeChat 4.2.2]
foul_owl has quit [Ping timeout: 255 seconds]
aaabbb has joined #ffmpeg
jagannatharjun has quit [Quit: Connection closed for inactivity]
foul_owl has joined #ffmpeg
foul_owl has quit [Ping timeout: 252 seconds]
e^pi-1 has joined #ffmpeg
foul_owl has joined #ffmpeg
jagannatharjun has joined #ffmpeg
BSaboia_ has quit [Ping timeout: 252 seconds]
BSaboia has joined #ffmpeg
lavaball has joined #ffmpeg
bleb has quit [Ping timeout: 264 seconds]
Sketch has quit [Quit: ZNC - http://znc.in]
DeHackEd has quit [Ping timeout: 255 seconds]
Sketch has joined #ffmpeg
zombean has quit [Ping timeout: 252 seconds]
bleb has joined #ffmpeg
ivanich has joined #ffmpeg
zombean has joined #ffmpeg
Blacker47 has quit [Quit: Life is short. Get a V.90 modem fast!]
Blacker47 has joined #ffmpeg
aaabbb has quit [Quit: leaving]
manwithluck has quit [Ping timeout: 256 seconds]
Sakura`Kinomoto has quit [Read error: Connection reset by peer]
manwithluck has joined #ffmpeg
Sakura`Kinomoto has joined #ffmpeg
minimal has joined #ffmpeg
pa has quit [Quit: quit.]
<BtbN> You're describing a noisegate, and I don't think ffmpeg has that.
<BtbN> afftdn exists, but doesn't exactly sound like a noisegate to me
Unit640 has joined #ffmpeg
Tinos has quit [Remote host closed the connection]
<Unit640> I'm trying to use ffmpeg to determine whether a given input image is "more or less fully black" or not, in order to never create bookmark thumbnails which tell nothing to the user. But no matter what I do, the command keeps returning 0. Here are three examples:
Tinos has joined #ffmpeg
<Unit640> `ffmpeg -loglevel quiet -y -v error -i '/path/to/clearly/not/black/or/dark/image.png' -vf blackframe=amount=95:thresh=17,metadata=mode=print:file=- -f null -`
<Unit640> `ffmpeg -loglevel quiet -y -v error -i '/path/to/a/fully/white/image.png' -vf blackframe=amount=95:thresh=17,metadata=mode=print:file=- -f null -`
<Unit640> `ffmpeg -loglevel quiet -y -v error -i '/path/to/a/fully/black/image.png' -vf blackframe=amount=95:thresh=17,metadata=mode=print:file=- -f null -`
<Unit640> It was supposed to return "1" for the first and last.
pah has joined #ffmpeg
DeHackEd has joined #ffmpeg
namazso has quit [Remote host closed the connection]
namazso has joined #ffmpeg
Tinos has quit [Remote host closed the connection]
Tinos has joined #ffmpeg
e^pi-1 has quit [Quit: WeeChat 4.2.2]
shadowless has quit [Ping timeout: 256 seconds]
billchenchina has joined #ffmpeg
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
shadowless has joined #ffmpeg
pah is now known as pa
minimal has quit [Quit: Leaving]
rvalue- has joined #ffmpeg
rvalue has quit [Ping timeout: 252 seconds]
rvalue- is now known as rvalue
jlc has quit [Ping timeout: 240 seconds]
lucasta has joined #ffmpeg
telgareith has quit [Quit: The Lounge - https://thelounge.chat]
waleee has joined #ffmpeg
MisterMinister has joined #ffmpeg
rvalue has quit [Ping timeout: 268 seconds]
rvalue has joined #ffmpeg
Juest has joined #ffmpeg
emmanuelux has joined #ffmpeg
Vonter has joined #ffmpeg
Tinos has quit [Ping timeout: 250 seconds]
dionisis has quit [Quit: WeeChat 3.8]
cmc has quit [Ping timeout: 260 seconds]
cmc has joined #ffmpeg
stolen has joined #ffmpeg
HarshK23 has quit [Quit: Connection closed for inactivity]
darkapex has quit [Read error: Connection reset by peer]
darkapex has joined #ffmpeg
KombuchaKip has joined #ffmpeg
jlc has joined #ffmpeg
Livio has joined #ffmpeg
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #ffmpeg
makidoll has left #ffmpeg [Disconnected: Received SIGTERM]
makidoll has joined #ffmpeg
billchenchina has quit [Remote host closed the connection]
billchenchina has joined #ffmpeg
billchenchina has quit [Remote host closed the connection]
billchenchina has joined #ffmpeg
coldfeet has quit [Remote host closed the connection]
Livio has quit [Ping timeout: 268 seconds]
Kei_N has quit [Ping timeout: 264 seconds]
Kei_N has joined #ffmpeg
zombean has quit [Ping timeout: 246 seconds]
minimal has joined #ffmpeg
hightower4 has joined #ffmpeg
Muimi has joined #ffmpeg
hightower3 has quit [Ping timeout: 256 seconds]
Livio has joined #ffmpeg
dkh has quit [Ping timeout: 255 seconds]
coldfeet has joined #ffmpeg
<BtbN> Sounds like a usecase for the thumbnail filter.
jagannatharjun has quit [Quit: Connection closed for inactivity]
Vonter has quit [Ping timeout: 264 seconds]
ivanich has quit [Ping timeout: 252 seconds]
ivanich has joined #ffmpeg
jemius has joined #ffmpeg
le_patenteux has joined #ffmpeg
<le_patenteux> hello! I have been successfull in having ffmpeg render a video with alpha channel using the chromakey filter, although, I cannot make it work using vaapi
<le_patenteux> Does anyone know if vaapi can be used with the chromakey filter?
Livio has quit [Ping timeout: 264 seconds]
<le_patenteux> (documentation on vaapi functions is hard to come by!)
<Unit640> BtbN: But how?
Livio has joined #ffmpeg
<JEEB> le_patenteux: most video filters deal with "software" (normal RAM) frames, while most likely with vaapi you receive a frame that is in VRAM. you can of course utilize such filters, but you will have to first use "hwdownload" or so to make a normal RAM frame out of that hardware decoded frame. or hwupload if your source is normally decoded and you need a vaapi frame out of it
<Unit640> I think I just found a way to do it using imagemagick (the "convert" command).
HarshK23 has joined #ffmpeg
<le_patenteux> JEEB do you have a generic example as to how I can load from ram to vram?
<le_patenteux> (how do I tag someone in a response?)
<JEEB> `hwupload,format=pix_fmts=vaapi` or so?
<BtbN> Unit640: the whole job of the thumbnail filter is to pick a meaningful thumbnail
<JEEB> (format is a meta-filter)
<BtbN> specifically to avoid this situation of picking a random black frame
<Unit640> BtbN: Well, I'm glad somebody told me about that before I spent a thousand work-hours into implementing my own such feature...
<Unit640> (And just got it working now before I came back to read you say that.)
<Unit640> Mine basically works like this: when a bookmark in mpv is made, my system uses FFMPEG to grab the picture frame from that timestamp in the relevant video file. If it's 95% dark or more, it's considered a black frame, and then we discard it, move forward 1 second in the video and take a new image sample and check it, and so on until a suitable one is found.
<BtbN> You could optimize that to pick +- 5 or 10 seconds around that timestamp, and feed that to the thumbnail filter
coldfeet has quit [Remote host closed the connection]
<Unit640> So that the thumbnails in the bookmarks page never shows stupid black frames.
<BtbN> The thumbnail filter can't operate on a whole video, cause it needs to keep the entire set it works on in RAM
<BtbN> But for a short range, it absolutely can do that
<BtbN> I guess you could in theory chain two thumbnail filters or three
<le_patenteux> another question, I am able to encode using vp8/vp9 with alpha transparency with no issue... Except I can't use hardware acceleration... HEVC should also support Alpha, but I can't get ffmpeg to do it...
<le_patenteux> this realy simple line will get me alpha transparency with vpx codec:
<le_patenteux> ffmpeg -i P1000097.MP4 -ss 00:00:0.0 -t 5 -vf chromakey=0x369239:0.06:0.06 -pix_fmt yuva420p P1000097_alpha.webm
<le_patenteux> but I was never able to do it with hevc
<JEEB> the libvpx encoder wrapper just has the special handling where it creates another encoder for the alpha plane
<le_patenteux> which means?
<JEEB> which means that someone wrote the code that starts up not one encoder, but two
<JEEB> since the alpha is actually a completely separate stream
<le_patenteux> and where does it go?
<JEEB> it's just packaged in webm as an attachment to the main packet
<le_patenteux> and if I want to do the same with hevc?
<JEEB> you need to have someone (or you yourself) code the required bits
<JEEB> in HEVC it's also a case of a separate stream, but as packets with another layer id
<JEEB> and some packet that says that btw, this another layer is actually alpha
<le_patenteux> when you say "code the required bits", you mean it is not supported as of right now?
<JEEB> yes, for encoding you'd need two separate encoders doing two separate streams, and for decoding you'd need to look for that other layer and start up a secondary decoder for that
<le_patenteux> so some sorcerer made an encoder for VPx that does that?
<JEEB> the wrapper for libvpx encoder just opens a second encoder in case of YUVA
<JEEB> and then I guess the options are similar enough that the buffering is similar enough :P
s55 has quit [Ping timeout: 252 seconds]
<BtbN> I have yet to figure out how to make nvenc alpha-encoding for hevc work
<BtbN> it does support it, but it's very under-documented and arcane
<le_patenteux> so for a simple minded person like me, I would neef to run 2 encoder in parallel and somehow remux the content in a single stream... or in 2 different output and use 1 as a mask?
<BtbN> The libvpx wrapper does it for you
<le_patenteux> yes, but I lose GPU acceleration
<BtbN> For VP9?
<le_patenteux> because I have yet to encounter a way to have GPU acceleration for VP8 or 9
<BtbN> I don't think there is any vp9 hardware encoder, is there?
<BtbN> hardware decoding is readily available
<le_patenteux> encoding I mean
<BtbN> Yes, there is no such encoder to begin with
<BtbN> vp9 encoding is famously shit
<le_patenteux> VAAPI is listed to have it... never saw it woring!
<le_patenteux> working
<le_patenteux> I have to get the kids at school, will you be there in 30 minutes? your insights are valuable!
<JEEB> you have plenty of stuff with vaapi VLD (decoding), but not sure anything ever exposed EncSlice
<JEEB> you can see the listing in vainfo :P
<le_patenteux> vainfo gives me 2 VP9 references
<le_patenteux> VAProfileVP9Profile0
<le_patenteux> VAProfileVP9Profile2
<le_patenteux> I need to get the kids... be back in 30 minutes
<JEEB> yea but those are VLD I bet :P
<JEEB> or more like, I *know*
stolen has quit [Quit: Connection closed for inactivity]
kasper93 has quit [Remote host closed the connection]
Unit640 has left #ffmpeg [Leaving]
kasper93 has joined #ffmpeg
Muimi has quit [Quit: Going offline, see ya! (www.adiirc.com)]
averne has quit [Remote host closed the connection]
averne has joined #ffmpeg
s55 has joined #ffmpeg
darkapex has quit [Remote host closed the connection]
darkapex has joined #ffmpeg
AbleBacon has joined #ffmpeg
talismanick has joined #ffmpeg
<le_patenteux> ooooh yes, i understand now
<le_patenteux> VLD is read and SLice is encode
s55 has quit [Ping timeout: 268 seconds]
<le_patenteux> you said "have yet to figure out how to make nvenc alpha-encoding for hevc work" and that is exactly were we are at!
<le_patenteux> Since VPx cannot be hardware accelerated, I need an output format capable of encoding via GPU and carry Alpha information
<le_patenteux> ffmpeg chromakey is seriously good... I can't believe we can't do anything at a decent speed with it!
q66 has quit [Ping timeout: 255 seconds]
s55 has joined #ffmpeg
Blacker47 has quit [Quit: Life is short. Get a V.90 modem fast!]
Livio has quit [Ping timeout: 240 seconds]
lexano has joined #ffmpeg
s55 has quit [Ping timeout: 260 seconds]
jemius has quit [Quit: Leaving]
s55 has joined #ffmpeg
q66 has joined #ffmpeg
lucasta has quit [Quit: Leaving]
ivanich has quit [Remote host closed the connection]
s55 has quit [Ping timeout: 268 seconds]
<BtbN> well, if you figure it out or have docs, let me know :D
<BtbN> The main issue with it is the ultra weird format nvenc accept alpha yuv data
<BtbN> it ONLY accepts it as NV12
<BtbN> By giving it a second, fully independent NV12 buffer, which has the chroma planes all memset to 0x80
<BtbN> That's not something anything in ffmpeg provides
chaoticryptidz has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<le_patenteux> I understood 10% of what you said... But in short, HEVC is a b%tch for alpha... got ya! :D
<le_patenteux> I will revert to plan... what are we at now, plan w? use nay output format my GPU is capable of accelerating, but replace the background with a pure green color so that keying will be super easy after
<le_patenteux> so now... I can't wrap my head around how the hell to do that since you guys told me that the chromakey filter is only cpu based
lavaball has quit [Remote host closed the connection]
<BtbN> This is nvenc
<le_patenteux> nvenc or vaapi... same battle
<le_patenteux> different driver
<le_patenteux> my goal is this: source is hevc mp4, filmed in front of a green screen.. Output, idealy would have been webm with alpha, but I can take whatever is accelerated and replace the background with a pure green color to key it out easy
<BtbN> Why would it be the same battle? It's a completely different API
<BtbN> vaapi has no support for an alpha layer in hevc whatsoever I think
<le_patenteux> are you telling me nvenc does?
<le_patenteux> jEEB said it did not
<le_patenteux> (or at least, that is what I understood)
<BtbN> but I never managed to figure out how to actually use it
theobjectivedad has quit [Remote host closed the connection]
KDDLB has quit [Quit: The Lounge - https://thelounge.chat]
KDDLB has joined #ffmpeg
theobjectivedad has joined #ffmpeg
vlm has quit [Quit: Leaving]
<le_patenteux> I sent it to my friend who has a 4090
<le_patenteux> I only own AMD GPUs
e^pi-1 has joined #ffmpeg
noobaroo has quit [Quit: Konversation terminated!]
noobaroo has joined #ffmpeg
s55 has joined #ffmpeg
chaoticryptidz has joined #ffmpeg
rv1sr has quit []
xx has quit [Ping timeout: 260 seconds]
FlorianBad has quit [Remote host closed the connection]
lucasta has joined #ffmpeg
e^pi-1 has quit [Quit: WeeChat 4.2.2]
e^pi-1 has joined #ffmpeg
FlorianBad has joined #ffmpeg
SuicideShow has quit [Ping timeout: 268 seconds]
SuicideShow has joined #ffmpeg
intrac has quit [Read error: Connection reset by peer]
intrac has joined #ffmpeg
e^pi-1 has quit [Quit: WeeChat 4.2.2]
MisterMinister has quit [Ping timeout: 246 seconds]
e^pi-1 has joined #ffmpeg
aus has quit [Ping timeout: 255 seconds]
coldfeet has joined #ffmpeg
le_patenteux has quit [Quit: Konversation terminated!]