Muimi has quit [Quit: Going offline, see ya! (www.adiirc.com)]
Shuriko has joined #ffmpeg
Kruppt has joined #ffmpeg
Kruppt has quit [Client Quit]
Muimi has joined #ffmpeg
ecapi has quit [Ping timeout: 252 seconds]
whitekidney has quit [Ping timeout: 272 seconds]
lemourin has quit [Read error: Connection reset by peer]
lemourin has joined #ffmpeg
friendshipaka has quit [Read error: Connection reset by peer]
Friendship has joined #ffmpeg
MisterMinister has joined #ffmpeg
Mista_D has joined #ffmpeg
MisterMinister has quit [Ping timeout: 240 seconds]
MisterMinister has joined #ffmpeg
Mista_D has quit [Ping timeout: 240 seconds]
ecapi has joined #ffmpeg
a0z has joined #ffmpeg
maxim_d33 has quit [Ping timeout: 260 seconds]
whitekidney has joined #ffmpeg
maxim_d33 has joined #ffmpeg
emmanuelux has quit [Quit: au revoir]
ivanich has quit [Ping timeout: 260 seconds]
waleee has quit [Ping timeout: 255 seconds]
whitekidney has quit [Ping timeout: 255 seconds]
realies has joined #ffmpeg
qqq has quit [Ping timeout: 252 seconds]
Muimi has quit [Quit: Going offline, see ya! (www.adiirc.com)]
durandal_1707 has quit [Ping timeout: 255 seconds]
durandal_1707 has joined #ffmpeg
whitekidney has joined #ffmpeg
whitekidney has quit [Ping timeout: 272 seconds]
whitekidney has joined #ffmpeg
MisterMinister has quit [Ping timeout: 240 seconds]
whitekidney has quit [Ping timeout: 255 seconds]
Friendship has quit [Ping timeout: 264 seconds]
kurosu has quit [Quit: Connection closed for inactivity]
fatalis has quit [Ping timeout: 272 seconds]
YuGiOhJCJ has quit [Remote host closed the connection]
YuGiOhJCJ has joined #ffmpeg
Volgaar has quit [Ping timeout: 256 seconds]
Volgaar has joined #ffmpeg
whitekidney has joined #ffmpeg
ecapi has quit [Ping timeout: 240 seconds]
Traneptora has quit [Quit: Quit]
AbleBacon has quit [Read error: Connection reset by peer]
ecapi has joined #ffmpeg
Shuriko has quit [Ping timeout: 260 seconds]
mven has quit [Ping timeout: 255 seconds]
mven has joined #ffmpeg
lusciouslover has quit [Ping timeout: 255 seconds]
rv1sr has joined #ffmpeg
another is now known as another|
Muimi has joined #ffmpeg
mven has quit [Ping timeout: 272 seconds]
duderonomy has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fatalis has joined #ffmpeg
fatalis has quit [Changing host]
fatalis has joined #ffmpeg
Shuriko has joined #ffmpeg
talismanick has joined #ffmpeg
someuser has joined #ffmpeg
mrelcee has quit [Quit: I want Waffles!]
mrelcee has joined #ffmpeg
Osmcorp has joined #ffmpeg
<Osmcorp>
Hi everyone
<Osmcorp>
I am receiving a multicast UDP TS H264 from an IRD and then I transcode it with FFMPEG to HEVC and output to /dev/null. I don't understand why I keep having these warning logs from time to time.
<Osmcorp>
I think it is a bit hard to understand my issue without having the context.
<CounterPillow>
Then use a fucking paste site you dipshit
<Osmcorp>
but again sorry for flooding the channel
<Osmcorp>
CounterPillow You Forgot to get your polite pills this morning buddy
<ecapi>
YOU RUINED THE FUCKING DAT Osmcorp
<ecapi>
I AM SO ANGRY NOW I WANT TO KILL
whitekidney has quit [Ping timeout: 255 seconds]
Exa has quit [Ping timeout: 258 seconds]
ecapi__ has joined #ffmpeg
ecapi has quit [Ping timeout: 264 seconds]
<Cindy>
wtf is wrong with both of you
qqq has joined #ffmpeg
a0z has quit [Ping timeout: 240 seconds]
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #ffmpeg
Vonter has quit [Ping timeout: 252 seconds]
Shuriko has quit [Ping timeout: 272 seconds]
Vonter has joined #ffmpeg
Muimi has quit [Quit: Going offline, see ya! (www.adiirc.com)]
navi has joined #ffmpeg
whitekidney has joined #ffmpeg
kurosu has joined #ffmpeg
<vlt>
onla: Thanks for providing feedback and a solution. Just curious: Did you also try to replace the `done < "$subfile"` construct with something more robust?
Ogabaga has quit [Read error: Connection reset by peer]
Ogabaga has joined #ffmpeg
Ogabaga has quit [Client Quit]
Ogabaga has joined #ffmpeg
jagannatharjun has joined #ffmpeg
Vonter has quit [Ping timeout: 255 seconds]
Vonter has joined #ffmpeg
whitekidney has joined #ffmpeg
whitekidney has quit [Ping timeout: 255 seconds]
Osmcorp has quit [Quit: Client closed]
ZedHedTed has joined #ffmpeg
Ogabaga has quit [Quit: Konversation terminated!]
Ogabaga has joined #ffmpeg
mven7 has joined #ffmpeg
mven has quit [Ping timeout: 240 seconds]
mven7 is now known as mven
minimal has joined #ffmpeg
Sakura`Kinomoto has quit [Remote host closed the connection]
Sakura`Kinomoto has joined #ffmpeg
whitekidney has joined #ffmpeg
lavaball has joined #ffmpeg
lexano has joined #ffmpeg
Ogabaga has quit [Quit: Konversation terminated!]
Ogabaga has joined #ffmpeg
rsx has joined #ffmpeg
whitekidney has quit [Ping timeout: 240 seconds]
Buster__ has joined #ffmpeg
vlm has joined #ffmpeg
Shine_ has joined #ffmpeg
JanC has quit [Read error: Connection reset by peer]
JanC has joined #ffmpeg
f0x_57 has joined #ffmpeg
f0x_5 has quit [Ping timeout: 248 seconds]
<smandelli>
Dear all,I have a very nasty problem: I have a non-IDR h264 stream, and I want to decode that with ffmpeg. How do I have to set the CodecContext in order to set that I'm working with a non-idr stream?
<smandelli>
Thx in advance <3
anotheruser has joined #ffmpeg
<BtbN>
If you mean a broken stream with the extradata missing... I don't think that can be decoded
someuser has quit [Ping timeout: 246 seconds]
Kruppt has joined #ffmpeg
<smandelli>
ffplay reproduces the stream well, just a log complaining: nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
<smandelli>
In my application, at this point .... IDK how to read the SPS and PPS contained in the extradata .... think so
<BtbN>
it just won't decode the beginning until the next IDR frame comes along
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
jagannatharjun has quit [Quit: Connection closed for inactivity]
<smandelli>
BtbN, yes right. Anyway, I think that I have some problem to extract the extradata. How can I copy the extradata into the data buffer?
<BtbN>
the demuxer does that for you typically
<BtbN>
Or the decoder does it itself, it it's embedded
<smandelli>
I have a super custom solution. I set the CodecContext with the codec and other few informations, and then I send the packets and receive frames.
<chiselfuse>
i just recorded a video with my phone, it's 13 minutes long but for some reason 1.6 GB in size. how do i go about figuring out why it's so big? i ran ffprobe on it but i don't know what to look at https://0x0.st/Hy5c.txt
<smandelli>
I am wondering if I have to specify something the the codeccontext
<BtbN>
If there is no demuxer, you need to get the extradata from "somewhere", and set it before you start decoding
<BtbN>
Or make sure it's embedded into the stream
<BtbN>
chiselfuse: phones encoders are typically quite bad. So if you want good quality, the solution is "more bitrate"
<BtbN>
17Mbit/s for a 1080p live recording isn't even that excessive
<chiselfuse>
BtbN: when encoders are bad they compress the stream badly, as far as i understood. but isn't bitrate something we calculate for the uncompressed stream? what does it have to do with how bad the encoder is?
<BtbN>
The worse it is, the more bitrate it needs to achieve passable quality.
rsx has quit [Quit: rsx]
derpydoo has joined #ffmpeg
<chiselfuse>
BtbN: if i record the same video and then encode it twice, once well and once bad. do we talk about how high bitrate is *after* it's been encoded or *before* it's been encoded?
<BtbN>
I don't follow.
<chiselfuse>
bitrate is how many bits per second in order to represent the stream, right?
<BtbN>
yes
a0z has joined #ffmpeg
<chiselfuse>
BtbN: if a camera caputres frames, *before* it encodes them, can we measure the "bitrate" or is the bitrate something that we measure after it's been compressed into a stream?
<BtbN>
an uncompressed stream also has a bitrate, sure. A quite large one
<BtbN>
But I don't understand what you're getting at.
<BtbN>
The better the encoder, the more quality it can squeeze out of a given bitrate, or the lower a bitrate it can achieve for a given quality.
<chiselfuse>
okay i think i got it
<chiselfuse>
is there a way to decode and re-encode this stream into a better compressed one?
<BtbN>
yes, but quality only ever goes down, never up
<BtbN>
every time you do a lossy re-encode, the quality get worse
<BtbN>
But really, 17Mbit/s is not that unreasonable for 1080p in h264
<chiselfuse>
of course, but i assume it can be done negligbly
<BtbN>
I wouldn't be so sure, depending on what the video is.
<chiselfuse>
BtbN: but i have 2 hour long films 1080p that are ~2 GB
<BtbN>
they are either incredibly low-complexity then, or the quality is poor
<BtbN>
1080p in h264 is something like 8~15Mbit/s for decent quality and "average" levels of complexity
<chiselfuse>
"A 1080p HD 60 fps 2-hour movie averages 6 GB in file size. A 1080p HD 30 fps 2-hour movie averages 3 GB in file size."
<chiselfuse>
found this on internet
<BtbN>
Sounds like nonsense. Halving the FPS does not result in having the filesize
<BtbN>
*halving
<chiselfuse>
hmm, i still think that that file size is incredibly high
<BtbN>
It's a bit high, but not unreasonably so.
<BtbN>
For some shoddy hardware encoder in a phone, it's decent though
<BtbN>
so, it's not h264, not encoded by a phones hardware encoder, and also encoded by youtube, who don't care about quality
<chiselfuse>
you can do it yourself with `yt-dlp WUvTyaaNkzM` to test
<BtbN>
plus, the video is largely solid black, so compresses _super_ well
<chiselfuse>
i must have bad eyes then idk
<BtbN>
there is almost no motion, just occasional "slide swaps"
<BtbN>
Of course it's tiny
<chiselfuse>
regardless, i can't afford to have 1.64 GB for 13 minutes, what could i do?
<BtbN>
reduce the quality
<BtbN>
or the resolution
<chiselfuse>
-crf ?
<BtbN>
hm?
<BtbN>
On your phone I was thinking
<chiselfuse>
oh, but i like the video and i don't want to record it again
<chiselfuse>
i was thinking decoding and reencoding
<BtbN>
You can do that, yeah. libx264 (if it has to be h264) with a slow preset, and then play around with crf values until you're happy with the result
<chiselfuse>
BtbN: it doesn't have to be any specific container/codec, which one could i go with for better result?
Buster__ has quit [Ping timeout: 260 seconds]
<BtbN>
well, av1 is probably the best you can get right now. But encoding will be _slow_
fossdd has quit [Remote host closed the connection]
<BtbN>
If you want an "in between", hevc via libx265 is also a good option
<BtbN>
I'm not sure which AV1 encoder is currently the best one
<BtbN>
that will for one try to encode the audio with AV1, which won't go well :D
<BtbN>
And then you are not specifying a specific encoder, so it will randomly pick one.
<chiselfuse>
hmm, what codec should i pick for audio, or just copy it?
<BtbN>
And you are giving it no settings whatsoever, and the defaults are typically poor
<BtbN>
just copy the audio really
fossdd has joined #ffmpeg
<BtbN>
its size is insignificant compared to the video
<BtbN>
and "quality can only go down" applies to it as well
<chiselfuse>
BtbN: not that i care in particular but how would `-c:a copy` make quality go down? it won't even decode it as far as i understand
<BtbN>
hm? it literally copies it
<BtbN>
unless something is broken, it will be identical
<chiselfuse>
so quality can only go down also applies to when it copies it and is identical?
<BtbN>
I don't follow.
<BtbN>
You copy it especially to _not_ have quality go down.
<chiselfuse>
< BtbN> its size is insignificant compared to the video < BtbN> and "quality can only go down" applies to it as well
<BtbN>
Yes, hence you copy it
<chiselfuse>
assuming you were talking about audio with "quality can only go down" applies to it too
<BtbN>
Yes, audio encoders work the same way
<chiselfuse>
okay so when i copy audio it won't affect quality, right?
<BtbN>
of course not, it copies the input
<chiselfuse>
okay i misunderstood earlier then
<chiselfuse>
BtbN: i'm looking here https://trac.ffmpeg.org/wiki/Encode/AV1 and it looks to me like `-c {codec}` "codec" is really the name of the encoder and it implies which codec is by that too, right?
<BtbN>
Yeah. you can put a codec name, but you won't know what encoder you get then, and thus can't configure it
<sonicrules1234>
The eta indicator library is broken right now, so don't worry if your eta skyrockets
Anuj has joined #ffmpeg
lavaball has quit [Remote host closed the connection]
lavaball has joined #ffmpeg
Anuj has quit [Quit: Client closed]
smandelli has quit [Quit: Leaving]
AbleBacon has joined #ffmpeg
Xaldafax has joined #ffmpeg
Capstan has joined #ffmpeg
emmanuelux has joined #ffmpeg
TrillionEuroNote has joined #ffmpeg
<TrillionEuroNote>
Is anyone familiar with the timed_id3 metadata stream? I'm seeing it in an MKV and i'm wondering if i should worry about preserving it when copying to another file/container
<TrillionEuroNote>
it's video data saved from an online video stream, so i was concerned it might contain data about what point in the video stream my capture started from
<TrillionEuroNote>
But it does not appear that ffmpeg can copy it - ffmpeg reports that it only supports audio, video subtitles
<sonicrules1234>
I think that's some proprietary data that comes in when recording commercial streams
<Lynne>
it usually is either nothing or ad insertion timing
<TrillionEuroNote>
Thanks
<furq>
there's a recent-ish patch that adds support for copying it but idk what containers it'll work in
<furq>
but you can probably just ignore it anyway
<TrillionEuroNote>
So it's probably not what i thought it was then right? the only reason i'd care about it, would be if it marked the point in time that i began to capture the stream
<furq>
i guess that would be up to whatever you used to capture it
<furq>
it seems unlikely though
<TrillionEuroNote>
hmm true
fling has quit [Remote host closed the connection]
lusciouslover has quit [Ping timeout: 260 seconds]
ivanich has joined #ffmpeg
<TrillionEuroNote>
looks like the information i'm looking for is in what appears to be metadata, if i do -show_streams -print_format json, under the "start_time" key
<TrillionEuroNote>
BBL
Nik- has joined #ffmpeg
talismanick has quit [Ping timeout: 272 seconds]
a0z has quit [Ping timeout: 260 seconds]
junaid_ has joined #ffmpeg
bitbinge has joined #ffmpeg
Vonter has quit [Ping timeout: 272 seconds]
Vonter has joined #ffmpeg
MisterMinister has joined #ffmpeg
ZedHedTed has quit [Quit: leaving]
lavaball has quit [Remote host closed the connection]
iive has joined #ffmpeg
Estrella has quit [Read error: Connection reset by peer]
Estrella has joined #ffmpeg
fling has quit [Remote host closed the connection]
fling has joined #ffmpeg
l-boogie has joined #ffmpeg
l-boogie has quit [Client Quit]
Nik- has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Volgaar has joined #ffmpeg
Nik- has joined #ffmpeg
ecapi has joined #ffmpeg
Flaesh has joined #ffmpeg
ecapi has quit [Ping timeout: 260 seconds]
<Flaesh>
is it possible to take 2 rtmp streams (same res and framerate) and make one go out to a rtmp stream, but be able to change which one without stopping the stream? obs seems overkill for the job. especially cool if each input could have its own filters (e.g. maybe overlay an image and/or add a delay to one)
<Flaesh>
if FFMPEG can't do this, but you know software that can, please refer me to that. must be free and work on linux
<BtbN>
that's literally what OBS was designed for
taupiqueur_shiny has quit [Remote host closed the connection]
<Flaesh>
OBS can do a lot more, i just want to be able to switch which stream goes to an output
<sonicrules1234>
You also said you wanted different filters
<sonicrules1234>
Like overlays or adding delays
<sonicrules1234>
Literally what OBS does
<Flaesh>
that was an optional extra
<Flaesh>
if need be i can apply those with another instance of ffmpeg, just OBS is quite resource-heavy and running 3 instances of it is quite a task for my pc
<sonicrules1234>
I don't think you need 3 instances of OBS for that
<Flaesh>
the other 2 are doing other things
<Flaesh>
what i want this for is to switch between which of the two goes to output
<sonicrules1234>
Pretty sure you only need 1 instance for most things
<sonicrules1234>
Aren't they called scenes in obs or something?
<sonicrules1234>
You can even add an animation when switching between them
<Flaesh>
yes, i know how OBS works
<Flaesh>
the 2 instances are doing something different on different scene collections
<Flaesh>
and i just want the simplest way of changing which one goes to output, which i dont believe OBS to be
<sonicrules1234>
I don't think you could do that with ffmpeg alone, you'd need some sort of wrapper
yazooq has quit [Ping timeout: 260 seconds]
<Flaesh>
a wrapper is fine, just OBS is quite resource-heavy and defo feels overkill
<BtbN>
What you describe is quite exactly OBS scenes
<BtbN>
OBS is not overly resource heavy. It just uses the GPU instead of the CPU
<BtbN>
The majority of the load is the encoder anyway, and OBS and ffmpeg use the same ones
<Flaesh>
OBS is quite a complicated piece of software, i feel very complicated just to be used to cut between 2 different rtmp streams
<Flaesh>
i would much prefer minimize the number of OBS instances i use - it makes things more complicated for me to manage and will still have heavier resource usage
<BtbN>
ffmpeg doing that would likely be more resource intensive
<BtbN>
scene composition like that purely on CPU is not exactly light
<Flaesh>
where would it be compositing? isnt it just switching between 2 streams?
junaid_ has quit [Remote host closed the connection]
<BtbN>
to do that reliably, it'd have to constantly decode both, and "render" them onto some output
<BtbN>
I doubt you can live-switch without re-encoding
<BtbN>
At least not without a lot of custom code that re-writes timestamps on the fly
<Flaesh>
re-encoding is fine but surely that'dn't be compositing
<BtbN>
something has to compose the image the encoder gets
<BtbN>
If it just switches the entire stream, you get the timestamp-issue again
<BtbN>
so you'd generate a blank base-stream, use that as clock source, and render the desired input on top of it
<BtbN>
At least I can't think of a more elegant way to do the whole thing reliably with pure ffmpeg.c
<BtbN>
And if one of the two streams goes down for even a bit, I don't think that's recoverable either
Blacker47 has quit [Quit: Life is short. Get a V.90 modem fast!]
<Flaesh>
huh, interesting. i expected a simple solution compared to OBS (as OBS has a lot of features which are really quite unnecessary for the job) but i guess not. thanks for the help
ivanich has quit [Remote host closed the connection]
<BtbN>
The whole thing also relies on there being some filter that even can switch between two inputs at all
<BtbN>
I'm not sure if that exists
Flaesh has quit [Quit: Client closed]
lavaball has joined #ffmpeg
Vonter has quit [Ping timeout: 255 seconds]
Vonter has joined #ffmpeg
Buster__ has joined #ffmpeg
bitbinge has quit [Ping timeout: 256 seconds]
waleee has joined #ffmpeg
bitbinge has joined #ffmpeg
Capstan has quit [Ping timeout: 248 seconds]
whupdup has joined #ffmpeg
MisterMinister has quit [Ping timeout: 255 seconds]
vlm has quit [Remote host closed the connection]
bitbinge has quit [Remote host closed the connection]
oxxn has joined #ffmpeg
bitbinge has joined #ffmpeg
Nik- has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
derpydoo has quit [Read error: Connection reset by peer]