ChanServ 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.1.1 is released
Shine_ has quit [Read error: Connection reset by peer]
Mattcurts has joined #ffmpeg
maxim_d33 has quit [Ping timeout: 268 seconds]
Mattcurts has quit [Client Quit]
maxim_d33 has joined #ffmpeg
Shuriko has quit [Read error: Connection reset by peer]
Shuriko has joined #ffmpeg
evilscreww has quit [Quit: Leaving]
evilscreww has joined #ffmpeg
halloy5771 has joined #ffmpeg
halloy5771 has quit [Read error: Connection reset by peer]
prg has quit [Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in]
prg has joined #ffmpeg
m5zs7k_ has joined #ffmpeg
m5zs7k has quit [Read error: Connection reset by peer]
Evil-Bob0 has joined #ffmpeg
kode546 has joined #ffmpeg
NotFaely has joined #ffmpeg
kepstin has quit [Ping timeout: 272 seconds]
Faely has quit [Quit: Bouncer died, blame moonmoon]
kepstin has joined #ffmpeg
Evil-Bob has quit [Ping timeout: 276 seconds]
Evil-Bob0 is now known as Evil-Bob
tyzoid has quit [Ping timeout: 272 seconds]
kode54 has quit [Ping timeout: 272 seconds]
kode546 is now known as kode54
HarshK23 has joined #ffmpeg
tyzoid has joined #ffmpeg
m5zs7k_ is now known as m5zs7k
chair1 has quit [Quit: Client closed]
System_Error has quit [Remote host closed the connection]
Fiji_ has quit [Ping timeout: 260 seconds]
System_Error has joined #ffmpeg
damian101 has quit [Remote host closed the connection]
microchip_ has quit [Ping timeout: 245 seconds]
NotFaely has quit [Ping timeout: 268 seconds]
Faely has joined #ffmpeg
halloy5771 has joined #ffmpeg
evilscreww has quit [Quit: Leaving]
Juest has quit [Ping timeout: 252 seconds]
Juest has joined #ffmpeg
halloy5771 has quit [Read error: Connection reset by peer]
lavaball has joined #ffmpeg
cantelope has quit [Quit: Connection closed for inactivity]
xx has joined #ffmpeg
meinside has quit [Ping timeout: 245 seconds]
meinside has joined #ffmpeg
rvalue- has joined #ffmpeg
rvalue has quit [Ping timeout: 265 seconds]
microchip_ has joined #ffmpeg
rvalue- is now known as rvalue
Thulinma has quit [Ping timeout: 272 seconds]
jmcantrell has quit [Ping timeout: 272 seconds]
System_Error has quit [Ping timeout: 264 seconds]
Everything has joined #ffmpeg
System_Error has joined #ffmpeg
robobub has quit [Quit: Connection closed for inactivity]
SuicideShow has quit [Ping timeout: 265 seconds]
SuicideShow has joined #ffmpeg
Sketch has quit [Remote host closed the connection]
Sketch has joined #ffmpeg
Blacker47 has joined #ffmpeg
coldfeet has joined #ffmpeg
snoriman has joined #ffmpeg
<snoriman>
Hi! When I want to use lib ffmpeg to decode a RTSP stream, do I also need to create a bitstream parser? I'm currently getting lots of `h264 noframe!` errors.
evilscreww has joined #ffmpeg
Thulinma has joined #ffmpeg
evilscrewws has joined #ffmpeg
evilscreww has quit [Ping timeout: 250 seconds]
coldfeet has quit [Quit: Lost terminal]
Shine_ has joined #ffmpeg
System_Error has quit [*.net *.split]
xx has quit [*.net *.split]
fling has quit [*.net *.split]
ssh07322 has quit [*.net *.split]
de-facto has quit [*.net *.split]
chiselfuse has quit [*.net *.split]
microlappy has joined #ffmpeg
microlappy has quit [Client Quit]
YUiNA_ has joined #ffmpeg
YUiNA has quit [Ping timeout: 276 seconds]
rsx has joined #ffmpeg
YUiNA_ has quit [Ping timeout: 252 seconds]
omegatron has joined #ffmpeg
evilscrewws has quit [Quit: nah, im done with arguing with a fool]
charles05 has quit [Changing host]
charles05 has joined #ffmpeg
stevenliu has joined #ffmpeg
chiselfuse has joined #ffmpeg
de-facto has joined #ffmpeg
stevenliu has quit [Remote host closed the connection]
fling has joined #ffmpeg
stevenliu has joined #ffmpeg
xx has joined #ffmpeg
stevenliu has quit [Ping timeout: 268 seconds]
lavaball has quit [Remote host closed the connection]
clever has joined #ffmpeg
<clever>
i have a dash clip that was made by steam (a subsection of a longer dash fileset), and if i play it in vlc, i get the full 44 seconds
Shsl-Junko-POSER has joined #ffmpeg
<clever>
but if i play it in mpv, or try to remux it with ffmpeg, i only get 3 seconds (a single dash segment)
<clever>
how can i remux the entire thing properly?
Shsl-Junko-POSER has quit [Client Quit]
cantelope has joined #ffmpeg
damian101 has joined #ffmpeg
damian101 has quit [Remote host closed the connection]
damian101 has joined #ffmpeg
<another|>
what container is it in?
<clever>
another|: dash i believe, the audio and video are in 3 second segments, and a dash (xml) file then describes how to assemble them
<furq>
but also like i said the example in the docs is wrong
<johnjaye>
whoa that did work. amazing
<johnjaye>
also the input video colorspace didn't even matter
<johnjaye>
just the color input and the overlay filter
<johnjaye>
oh not even that either. i see now. i thought specifying an alpha would automatically choose the right pixel format for the color source
<furq>
yeah it doesn't annoyingly
<furq>
it's always yuv420p unless you set it
<johnjaye>
ok
<furq>
which is also annoying if you want some rgb value that yuv420p doesn't represent correctly
<johnjaye>
also i guess i have to switch to ffv1 or something in order to avoid x264?
<furq>
that won't make any difference unless you're creating an intermediate for the overlay
<furq>
and if you are then you could just use png or something
<furq>
but ffv1 works
<johnjaye>
i didn't realize mp4 had so many drawbacks
<johnjaye>
or is it just x264 in this case and it's the default for mp4
<furq>
h264 just doesn't support alpha
<furq>
most lossy codecs don't
<furq>
vp9 is the only one i know of
<furq>
and that's kind of hacky
<another|>
I think AV1 does as well, but it's the same hack as VP9
<furq>
i don't think it's implemented anywhere outside of maybe avif
<JEEB>
I think vp9 had it in a separate sub-component in the webm container specifically?
<JEEB>
while in AV1 it's (I think) within a single bit stream
<JEEB>
still of course means that you effectively have packets for two separate bit streams in a single one, but that is at least on similar level to the alpha extension for HEVC etc
<furq>
i can only see reference to it in the avif spec
<furq>
but then i only spent two minutes on google
<JEEB>
ok, then I might have recalled incorrectly
<JEEB>
at least there is a concept of layers in the av1 bit stream spec
rsx has quit [Quit: rsx]
<johnjaye>
it says in the doc that for --enable-cuda-llvm to work you need the llvm lib. does that work on windows or is it already built in
<JEEB>
I thought you just needed a standard build of clang?
<JEEB>
which can compile for the cuda target
<JEEB>
because if you just configure's --help, you will see that --disable-cuda-llvm mentions "disable CUDA compilation using clang [autodetect"
<JEEB>
that mention of the llvm library seems to be specific to some filter, let's see
<JEEB>
because for the record, I am not sure if I ever had anything else than the clang compiler around when doing cross-compilation
<JEEB>
and no LLVM libs etc as far as I know on the target OS
<JEEB>
interestingly enough if you actually `git grep -i llvm` in the code base, the amount of references to *anything* LLVM is very short, and none are in the actual avfilter or avcodec or so
<JEEB>
and yea the configure check that enables cuda_llvm in the configure script is just a simple compilation check with what I perceive being clang
<JEEB>
and this 100% matches with my recollection
<johnjaye>
ah ok
<JEEB>
the CUDA support in FFmpeg requires the build host to have a working clang that can target CUDA, and that's it
<JEEB>
> --cuda-gpu-arch=sm_30 -O2
<johnjaye>
ok, the documentation was unclear to me
<JEEB>
yea, there is just *one* reference to the LLVM lib and it's in filters doc, which is probably a leftover from something
<JEEB>
fun how you found that one specific reference :D
<JEEB>
but yea, that should be fixed
<another|>
JEEB: I'm not sure if layers apply to alpha like that. All I know is that you'd need to instantiate two dav1d instances apparently to get the alpha as a second stream
<JEEB>
I'm not sure if they have a layer type that matches alpha, but they do have T.35 metadata block support, so it could be played with. dav1d for scalable coding already supports multilayer stuff, so in theory that could be extended to alpha
<JEEB>
but yes, in general it's about having to do essentially a second decoder instance
<JEEB>
nobody seems to care enough about alpha to make it such that it's not just a bolted-up secondary stream
<another|>
yep
FlorianBad has quit [Quit: Konversation terminated!]
FlorianBad has joined #ffmpeg
Vonter has quit [Quit: WeeChat 4.6.2]
Vonter has joined #ffmpeg
lolok has quit [Ping timeout: 252 seconds]
omegatron has quit [Quit: Power is a curious thing. It can be contained, hidden, locked away, and yet it always breaks free.]
turlando has quit [Quit: No Ping reply in 180 seconds.]
turlando has joined #ffmpeg
coldfeet has joined #ffmpeg
jmcantrell has joined #ffmpeg
coldfeet has quit [Quit: Lost terminal]
<snoriman>
How do people usually refer to the the libraries (e.g. libavcodec.so, libavformat.so etc) that make up ffmpeg? Do people call that libav?
coldfeet has joined #ffmpeg
<furq>
i guess since the other libav is officially dead now we can do that again
<snoriman>
haha ok :)
<snoriman>
so I'm using libav ^.-, to demux/decode a rtsp stream but the decoded images are "corrupted"; they look like how images are typically decoded when some nals are missing. My code works fine when I load a mp4 (...)
<snoriman>
I'm pretty sure the reason for this is that I'm not correctly initializing the decoder, especially the codec parameters. I'm now curious what the correct approach is to collect these codec params and setup the decoder?
<snoriman>
I'm now using `avformat_open_input()`, `avformat_find_stream_info()`, `av_find_best_stream()` to find the video stream, then I use the `codecpar` of the video stream with `avcodec_parameters_to_context()` of my allocated avcodec context.
Shuriko has quit [Ping timeout: 272 seconds]
lavaball has joined #ffmpeg
<snoriman>
I've just added a call to `av_dump_format()` which shows me: https://gist.github.com/samsnori/7c59897a33624113faea7d57af5b0c5e, then when the avformatcontext has been opened I open the decoder. But can I directly open at this time? (after calling _find_stream_info, _find_best_stream .. )
<snoriman>
fwiw, this is how a decoded image looks like: https://imgur.com/a/DQ2kaEq (when decoding a mp4 file the image looks fine)
YUiNA has joined #ffmpeg
YUiNA_ has joined #ffmpeg
jiffy__ has quit [Remote host closed the connection]
YUiNA has quit [Ping timeout: 276 seconds]
K900_ has joined #ffmpeg
K900 has quit [Ping timeout: 265 seconds]
K900_ is now known as K900
<johnjaye>
hrm. so reflecting back on the discussion earlier, is there any way to use the overlay filter to take advantage of transparency?
<BtbN>
"take advantage"?
<johnjaye>
i.e. if i have 2 vids and want to erase out a transparent part of one and overlay it on the other. would using yuv444 or bgra not be enough?
<BtbN>
the overlay filter does respect alpha information if present
<johnjaye>
can it be in the video if using the right pixel format
<furq>
yes
<johnjaye>
would i need to convert to mkv or avi also
<furq>
otherwise you can use chromakey/colorkey
<furq>
that makes no difference
<furq>
any container that supports the codec you want to use is fine
<BtbN>
Alpha channels in video is rather uncommon and usually a weird hack of some sort
<furq>
yeah we covered that already
<johnjaye>
right
<furq>
lots of lossless codecs support it natively but otherwise you're pretty much stuck with vp9 and forcing the libvpx decoder
<johnjaye>
that's why i suggested ffv1
<furq>
and specifically vp9 in webm
<johnjaye>
it seems like a good all purpose lossless codec if ffmpeg itself designed it
<BtbN>
Just transcoding your video to that won't magically make an alpha channel appear though
<johnjaye>
right but i think maybe it's good to have a fallback format other than x264
<furq>
this also sounds like something you could do without creating an intermediate file
<johnjaye>
a lossless one i mean
<BtbN>
h264 has no provisions for an alpha channel whatsoever
<furq>
unless you want to overlay the same thing onto many videos
<johnjaye>
furq: well i'm imagining drawing a box or something to indicate the transparent part. it might be complicated to get it all in one filter graph
<furq>
it'll be just as complicated in two filtergraphs
<johnjaye>
hmm
<furq>
you can have spaces and line breaks in filtergraphs if you really want
<furq>
if you've got something especially longwinded it's usually easier to just put it in a script
jmcantrell has quit [Ping timeout: 276 seconds]
<snoriman>
Just tried the `demux_decode.c` example to capture a frame, however that example doesn't seem to be able to decode anything; it generates an empty file.
<snoriman>
I'm pretty sure that one has to do a bit more to decode a RTSP stream. Though I've no idea how to figure out what I'm missing. I'm basically doing everything (and a bit more) what's shown in the demux_decode.c example.
Shine_ has quit [Read error: Connection reset by peer]
putacho has joined #ffmpeg
microchip_ has quit [Ping timeout: 252 seconds]
coldfeet has quit [Quit: Lost terminal]
Blacker47 has quit [Quit: Life is short. Get a V.90 modem fast!]
jmcantrell has joined #ffmpeg
lavaball has quit [Remote host closed the connection]
xx has quit [Ping timeout: 244 seconds]
emmanuelux has joined #ffmpeg
Everything has quit [Quit: leaving]
<snoriman>
found it! after enabling TRACE logging I found a message that told me that no h264 parser was found. Adding --enable-parser=h264 fixed this issue.
putacho has quit [Quit: There is no spoon!]
microchip_ has joined #ffmpeg
unlord has joined #ffmpeg
<unlord>
hello multimedia friends
<unlord>
which is the fastest opus decoder?
foul_owl has quit [Ping timeout: 272 seconds]
<tmatth>
unlord: well ffmpeg's is the only one with riscv optimizations I believe