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
hightower3 has quit [Remote host closed the connection]
hightower3 has joined #ffmpeg
hightower3 has quit [Remote host closed the connection]
hightower3 has joined #ffmpeg
erunseelie has joined #ffmpeg
lavaball has quit [Remote host closed the connection]
rex has quit [Ping timeout: 260 seconds]
Everything has quit [Quit: Lost terminal]
iive has quit [Quit: They came for me...]
<noobaroo>
So JEEB if the DTS Master HD extensions of a DCS bitstream can be played without special equipment does that mean Atmos can also ?
<furq>
no
<furq>
if a receiver doesn't support the extensions it'll drop back to the core
Marth64 has joined #ffmpeg
<furq>
but most if not all receivers will also drop the atmos extensions if you don't have height channels connected
<furq>
even if it supports atmos
<noobaroo>
Is there anyway to decode atmos extensions and utilize it somehow, or to convert it to flac or wav ?
<furq>
there's no point
<noobaroo>
Why?
System_Error has quit [Remote host closed the connection]
lusciouslover has quit [Read error: Connection reset by peer]
<noobaroo>
also, do you personally own atmos equipment?
<furq>
if you can't send it to something that makes use of it then you're better off using the 7.1 or whatever
<furq>
which is why receivers do that
<furq>
and i don't think there's any way of converting it and actually using it afterwards
rex_victor has joined #ffmpeg
lusciouslover has joined #ffmpeg
EmberCrest has joined #ffmpeg
<furq>
the atmos data isn't separate channels or anything like that
<furq>
it's metadata that gets applied to the 7.1 stream
<furq>
in theory you could just convert that to flac and somehow transfer the metadata across, but i don't think any tools exist that can do that or make use of it afterwards
<EmberCrest>
Good evening, wizards! A buddy of mine is sending me these yuuuuge video files from a program he uses called "Wondershare" .. I'm having to re-encode them using x264/265 to reduce the size by 30-90%, using CRF flag (~30)
<EmberCrest>
they're enormous though and I shouldnt have to do this. Are there any hints ffmpeg can give me about why these are so large and why the file size is reduced so dramatically? i.e. what is 'dropped' from the file?
<furq>
mediainfo may show you the encoding parameters
<EmberCrest>
for some extra context, these are a mixture of VHS recordings and blu-ray 720p rips. He spins them together in Wondershare to create ~8hr files.
<furq>
most likely wondershare is using hardware encoding with default settings and just throwing a ton of bitrate at it
<furq>
but idk i've never used it
<furq>
also crf 30 is not really high quality so most likely you're losing some detail
<furq>
especially with x264
System_Error has joined #ffmpeg
<EmberCrest>
Probably -- but our audience isnt too concerned, after all we're watching VHS rips :')
<EmberCrest>
thanks, MediaInfo looks like a good tool to use
<furq>
that'll only give you anything useful if he's using x264 or x265
<furq>
other encoders don't write the settings into the headers
<EmberCrest>
if he's stitching these files together and one of them is 60fps, and ffmpeg is reading the framerate of the whole file as 60fps, does that mean that, say, a 20-30fps VHS file would probably have frames duplicated so that it matches the fps of the whole file?
<furq>
probably
<furq>
it's hard to tell for sure without reading the entire file
<furq>
but i would expect wondershare to do it the stupid/compatible way
<EmberCrest>
thanks! extremely helpful, have a good evening folx~!
EmberCrest has left #ffmpeg [#ffmpeg]
crossby1004 has quit [Quit: leaving]
erunseelie has quit [Ping timeout: 252 seconds]
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg
waeking has quit [Ping timeout: 265 seconds]
waeking has joined #ffmpeg
Marth64 has quit [Quit: Leaving]
emanuele6 has quit [Quit: WeeChat 4.4.3]
emanuele6 has joined #ffmpeg
lucasta has quit [Quit: Leaving]
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #ffmpeg
Keshl has quit [Ping timeout: 252 seconds]
Keshl has joined #ffmpeg
Keshl has quit [Ping timeout: 260 seconds]
ewomer has quit [Quit: WeeChat 4.4.3]
_whitelogger has joined #ffmpeg
NotWarcop has joined #ffmpeg
rex_victor is now known as rex
Warcop has quit [Ping timeout: 246 seconds]
StephenLynx has quit [Quit: Leaving]
emanuele6 has quit [Quit: WeeChat 4.4.3]
emanuele6 has joined #ffmpeg
zsoltiv_ has quit [Ping timeout: 255 seconds]
<noobaroo>
furq is there a way to change 5.1/7.1 to stereo without reencoding? My TV ignores LFE channel so I would like to convert to stereo without quality loss
<furq>
not with ffmpeg and probably not in general
<furq>
and definitely not if you want to mix lfe in
<furq>
although you generally shouldn't do that
vincejv has quit [Remote host closed the connection]
<noobaroo>
Why?
<noobaroo>
It says "Downmixing of the lfe channel is optional. An ideal downmix would have the lfe channel reproduce at an acoustic level of +10 dB with respect to the left and right channels. Since the inclusion of this channel is optional, any downmix coefficient may be used in practice. Care should be taken to assure that loudspeakers are not overdriven by the full scale low frequency content of the lfe channel."
<noobaroo>
Basically it says its optional and will cause to sound worse on cheap speakers ?
<noobaroo>
I haven't noticed any poorer sound quality from including LFE with pan filter
Sketch has quit [Remote host closed the connection]
vincejv has joined #ffmpeg
Sketch has joined #ffmpeg
Sketch has quit [Remote host closed the connection]
Sketch has joined #ffmpeg
<furq>
scroll down two pages in that document and you'll see the default downmix coefficients omit lfe
coldfeet has joined #ffmpeg
<furq>
if you want it to sound bassier just eq it on playback
<furq>
that should in theory give identical results
Suchiman has quit [Quit: Connection closed for inactivity]
coldfeet has quit [Remote host closed the connection]
<noobaroo>
What does "eq it" mean?
nigetilly has joined #ffmpeg
<noobaroo>
Default of what exactly? "default downmix coefficients omit lfe" The whole reason I want to include it in a new stereo stream is because my TV omits the LFE channel, so I can definitely see it being the default of lots of things, both hardware and software
Ram-Z_ has joined #ffmpeg
Ram-Z has quit [Remote host closed the connection]
<aaabbb>
do i need to use dither when merely resampling? the resampler first converts to float for the internal resampling and then truncates the samples, so wouldn't dither be a good idea?
<noobaroo>
AFAIK dither is only recommended for downsampling
<aaabbb>
you mean truncating?
<noobaroo>
That too
<aaabbb>
dither is useful when going high bit depth -> lower bit depth. resampling doesn't change bit depth, but internally, the resampler does
<aaabbb>
noobaroo: why would it matter when downsampling? how will downsampling add quantization noise when there is no quantization?
<noobaroo>
Dither _is_ noise, thats all it is
<aaabbb>
dither's point is to reduce quantization noise
<aaabbb>
it's to turn one type of distortion in one domain into a more pleasant kind in another domain
<noobaroo>
Okay, well I shared my general impression, I'm definitely not an expert
<aaabbb>
i know for a fact that resampling alone doesn't need dither, only truncation does
<aaabbb>
but my question is about the fact that aresample, internally, converts to float to do the resampling, then trunates
<aaabbb>
ie "aresample=isr=48000:osr=44100:isf=s16:osf=s16" is the same as "aresample=isf=s16:osf=flt,aresample=isr=48000:osr=44100:isf=flt:osf=flt,aresample=isf=flt:osf=s16"
yans has quit [Ping timeout: 272 seconds]
Mirarora has quit [Read error: Connection reset by peer]
<aaabbb>
1/2
deus0ww has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
SakuraChan has quit [Remote host closed the connection]
rv1sr has joined #ffmpeg
hightower3 has quit [Quit: Leaving]
nigetilly has quit [Quit: Konversation terminated!]
fling_ has joined #ffmpeg
Sakura`Kinomoto has joined #ffmpeg
chiselfuse has quit [Ping timeout: 260 seconds]
fling has quit [Ping timeout: 260 seconds]
chiselfuse has joined #ffmpeg
fling_ is now known as fling
wobbol has quit [Ping timeout: 255 seconds]
theobjec- has quit [Ping timeout: 248 seconds]
theobjectivedad has joined #ffmpeg
Suchiman has joined #ffmpeg
Blacker47 has joined #ffmpeg
j45 has quit [Ping timeout: 276 seconds]
j45 has joined #ffmpeg
emanuele6 has quit [Ping timeout: 260 seconds]
emanuele6 has joined #ffmpeg
sewn has joined #ffmpeg
xx has joined #ffmpeg
deus0ww has joined #ffmpeg
rv1sr has quit []
rv1sr has joined #ffmpeg
nigetilly has joined #ffmpeg
nigetilly has quit [Read error: Connection reset by peer]
nigetilly has joined #ffmpeg
Cheetahze has joined #ffmpeg
coldfeet has joined #ffmpeg
wobbol has joined #ffmpeg
lavaball has joined #ffmpeg
yans has joined #ffmpeg
EmleyMoor has quit [Ping timeout: 252 seconds]
coldfeet has quit [Remote host closed the connection]
yans has quit [Quit: Let us play... Hide and Slay!]
<welder>
How can I know the count of valid entries in frame->data[] returned from avcodec_receive_frame? For example now I'm receiving frames with format AV_SAMPLE_FMT_FLTP, 2 channel, 4 bytes per sample, 1024 samples (8192 bytes) as a single array, frame->daat[0]. How can I know, for other formats, if the data is returned in a single or more arrays (like for video)?
<welder>
Besides, I just finished writing my own audio player with libav and pipewire, feels good :)
StephenLynx has joined #ffmpeg
coldfeet has joined #ffmpeg
coldfeet has quit [Remote host closed the connection]
<welder>
Aha "For audio, only linesize[0] may be set. For planar audio, each channel plane must be the same size." Does it mean that audio always uses only data[0]?
waeking8 has joined #ffmpeg
coldfeet has joined #ffmpeg
<welder>
Or should I read extended_data.
waeking has quit [Ping timeout: 265 seconds]
waeking8 is now known as waeking
xx has quit [Remote host closed the connection]
xx has joined #ffmpeg
xx has quit [Remote host closed the connection]
xx has joined #ffmpeg
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg
Traneptora has joined #ffmpeg
waeking has quit [Ping timeout: 248 seconds]
rv1sr has quit []
Dagger has quit [Ping timeout: 260 seconds]
Dagger has joined #ffmpeg
Marth64 has joined #ffmpeg
Mirarora has joined #ffmpeg
stolen has joined #ffmpeg
lavaball has quit [Remote host closed the connection]
Kei_N has joined #ffmpeg
qaph has joined #ffmpeg
kron has quit [Remote host closed the connection]
Kei_N_ has quit [Read error: Connection reset by peer]
ndufresne has quit [Quit: Ping timeout (120 seconds)]
ndufresne has joined #ffmpeg
qaph is now known as kron
reactormonk has joined #ffmpeg
<reactormonk>
I'm trying to debug jami, which uses ffmpeg to decide its video streams. For some reason, on video calls, the video stream in one direction is delayed 10-15 seconds, which causes ffmpeg to fail to detect the screen format, and it gives me [sdp @ 0xbc085ad0] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size,Consider increasing the value for the 'analyzeduration' (30000000) and 'probesize' (5000000) options, which makes
<reactormonk>
the decoder fail later on. I've already increased these values to some probably unreasonable numbers, but that doesn't seem to fix the issue. Is there another way to poke ffmpeg to try again later to detect the stream parameters again / on no incoming frame, to pause the detection timer?
ndh has quit [Quit: Ping timeout (120 seconds)]
ndh has joined #ffmpeg
shibboleth has joined #ffmpeg
Tano has quit [Quit: WeeChat 4.4.2]
Dagger has quit [Ping timeout: 246 seconds]
Dagger has joined #ffmpeg
<johnjaye>
is 400 kbit/s ok for a video with a person speaking?
<johnjaye>
i searched video size for social media and i get things like instagram is 4GB max vid size. o_o
<johnjaye>
or like limit the bitrate to 2M/sec
<galad>
what are you trying to do?
<johnjaye>
well this 3 minute video in x264 was 30MB which seemed a bit excessive to me
<johnjaye>
esp since it's a person talking
<johnjaye>
i.e. the background is static which should save more space. i'm wondering if i'm wrong here
<johnjaye>
i lowered the bitrate to 400 and it's not too bad.
<galad>
maybe, maybe not
<galad>
do you need to upload it somewhere, or just keep on disk?
<johnjaye>
well yeah but not to instagram. i'm just trying to get a feel for what is an acceptable bitrate
<johnjaye>
it's also 30fps which again seems excessive to me for a single person speaking
<johnjaye>
but i could be wrong
System_Error has quit [Remote host closed the connection]
<galad>
it depends where you have to upload it, most services out there will re-encode it, so it doesn't matter much what the original is
<galad>
unless you have some specific bandwidth or data limits, I would leave it as it is
reactormonk has quit [Quit: Konversation terminated!]
System_Error has joined #ffmpeg
lavaball has joined #ffmpeg
lucasta has joined #ffmpeg
<BtbN>
400kbps for video is pretty dang low, unless this is like 360p or something.
<BtbN>
For audio, it's pretty dang high though
<BtbN>
if it's shared between audio and video, that's even worse for the video
Kruppt has joined #ffmpeg
yans has joined #ffmpeg
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg
shibboleth has quit [Quit: shibboleth]
kasper93 has quit [Ping timeout: 255 seconds]
kasper93 has joined #ffmpeg
stolen has quit [Quit: Connection closed for inactivity]
Tano has joined #ffmpeg
microlappy has joined #ffmpeg
microlappy has quit [Quit: Konversation terminated!]
vampirefrog has joined #ffmpeg
minimal has joined #ffmpeg
emanuele6 has quit [Ping timeout: 252 seconds]
jemius has joined #ffmpeg
kasper93 has quit [Remote host closed the connection]
Nact has joined #ffmpeg
kasper93 has joined #ffmpeg
Cheetahze has quit [Quit: Connection closed for inactivity]
emanuele6 has joined #ffmpeg
mw1144 has joined #ffmpeg
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg
Everything has joined #ffmpeg
Blacker47 has quit [Quit: Life is short. Get a V.90 modem fast!]
System_Error has quit [Remote host closed the connection]
System_Error has joined #ffmpeg
NotWarcop has quit [Remote host closed the connection]
jemius has quit [Quit: Leaving]
martylake has joined #ffmpeg
coldfeet has quit [Remote host closed the connection]
Guest0 has joined #ffmpeg
<Guest0>
Why is MP4 preferred over MKV? MKV supports virtually any codec, I can copy old MPGA codec videos directly to MKV so that they can have a thumbnail and metadata. Meanwhile, to do that for MP4, I would have to transcode. So why is MP4 preferred????
<BtbN>
Cause browsers support it
<BtbN>
And only it
<Guest0>
wow
<Guest0>
im for open standards but this is getting ridiculous
<BtbN>
If you're just making a private collection with stuff that wouldn't even play in a browser anyway, there is not really any reason to prefer mp4
rv1sr has joined #ffmpeg
<Guest0>
ultimately I'd like to make a personal family video website I can share with family, that's not possible without realtime transcoding. At least with MP4 and h265, everyone who has a modern windows pc can directly play it with firefox.
<Guest0>
windows, out of the box, does not even show any thumbnails for old MPG, m4v, some MOV (hev1 and hvc1)
<Guest0>
its just sad
<BtbN>
Firefox does not support HEVC though
<BtbN>
135 will though, apparently
<Guest0>
it does on windows as long as you got a "supporting" video card
<BtbN>
It's locked behind an about:config setting
<Guest0>
yeah
<BtbN>
and has a few technical issues still
<Guest0>
yeah
<Guest0>
i wish it would just play out of the box, both linux and windows, and have good compression/performance....i guess thats a utopia
<BtbN>
Just don't use HEVC if you can at all avoid it
<BtbN>
The whole codec is a patent nightmare, hence nobody wants to touch it
<BtbN>
No Browsers even supports software playback, to avoid the whole licensing issue
<Guest0>
while I agree with you, long videos recorded on most phones are (not by default) going to be hevc
<BtbN>
I hope that'll shift to AV1 eventually
<Guest0>
the whole situation is a mess but after analyzing, the only solution is hevc at least for the interim
<Guest0>
AV1 won't be supported for the next 100 years
<Guest0>
if it was supported,it would show up in the iPhones and Androids....that is what's driving it
<BtbN>
Apple is one of the companies profiting from the HEVC patents, so that won't be happening
<BtbN>
On Android, I fully expect it in a few generations
<Guest0>
it will be like the battle of thunderbolt and usb c
<Guest0>
after AV1 wins, I will need to reencode :')
<Guest0>
I tried AV1, it takes much much longer to encode vs hevc. I just don't see this happening anytime soon.
<Guest0>
just my opinion, i think hevc will be the "mainstream" codec for a long long time
<BtbN>
meh, not much point re-encoding old stuff. Just makes quality worse to save miniscule amounts of space
<Guest0>
my wife and I both rigorously compared old video, she couldn't tell the difference side by side. I'm using 24 CRF and I can't tell the difference either. A lot of people say that at 24 CRF, you loose a lot of details...I haven't seen that
<Guest0>
at 27 CRF, there are is a very very very slight detail loss, and from what I remember, at 30 CRF, there was a noticeable loss of quality
<Guest0>
the space savings are significant, a 2GB AVI is now 200MB etc
<BtbN>
It just won't get better with every re-encode
<BtbN>
so always re-encoding to the latest and greatest codec every year will make it progressively worse
<BtbN>
Unless you keep the original the whole time, which makes re-encoding kinda pointless
<Guest0>
exactly
<Guest0>
that's the problem
<Guest0>
i want to set it and forget it and have it be universally compatible and play on all devices.....utopia
<BtbN>
Just use h264 then
<Guest0>
the good thing is that av1 is compatible with mp4 so all I need to do is copy it
<BtbN>
other way around :D
<Guest0>
no, the file size is too much with h264 (i got long memories of my dad who has dementia)
<Guest0>
space is limited
<BtbN>
h264 is not THAT much worse than HEVC
<BtbN>
And if you want maximum compat, that's where it's still at
<Guest0>
it's worse, several gigabytes
<Guest0>
i'm trying to do 24/7 duration
<BtbN>
several gigabytes at what scale?
<BtbN>
If a single file is several gigabytes larger, you are either using excessive settings, or it's incredibly long
lavaball has quit [Remote host closed the connection]
<Guest0>
i have a ipcam record 24/7 at 4K HEVC (still poor quality :') ) and then I renecode that again at 4k HEVC, the size reduces from 30GB just down to 2GB....the quality loss is NOT noticeable
<Guest0>
when I say poor quality, its pretty good...but not like recording with a phone
<BtbN>
Yeah, cause the hardware encoders in those devices are absolute crap
<Guest0>
yeah
<BtbN>
So they compensate with a high bitrate
<Guest0>
yeah
<BtbN>
But re-encoding it with libx264 to h264 would end up with like a 2.5-3GB file as well
<BtbN>
With decent enough settings
<Guest0>
yeah, space is limited, right now I'm trying to fit everything in a 10TB x3. Even 1GB difference is too much lol
<Guest0>
cloud craze is driving the prices up so much. There's 100+ TB available.....but not for the consumer
noobaroo has quit [Remote host closed the connection]
DetourNetworkUK has quit [Remote host closed the connection]
<BtbN>
There is no single 100TB drive available, no
<BtbN>
not even close
<BtbN>
HDDs are somewhere around 25TB now
<BtbN>
SSDs you could in theory cram enough flash into the space of an HDD to reach 100TB, but oh god the heat that'd produce and the cost for that one drive