Marth64 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 is released
abdu1 has quit [Quit: Client closed]
foul_owl has quit [Ping timeout: 248 seconds]
minimal has quit [Quit: Leaving]
pulec_ has joined #ffmpeg
foul_owl has joined #ffmpeg
Bertl has quit [Ping timeout: 252 seconds]
pulec has quit [Ping timeout: 252 seconds]
Marth64 has joined #ffmpeg
Bertl has joined #ffmpeg
Bertl has quit [Ping timeout: 252 seconds]
Bertl has joined #ffmpeg
Bertl has quit [Ping timeout: 252 seconds]
Bertl has joined #ffmpeg
foul_owl has quit [Ping timeout: 260 seconds]
damian101 has joined #ffmpeg
damian101 has quit [Remote host closed the connection]
damian101 has joined #ffmpeg
Muimi__ has quit [Quit: Going offline, see ya! (www.adiirc.com)]
Traneptora has quit [Quit: Quit]
Traneptora has joined #ffmpeg
foul_owl has joined #ffmpeg
Marth64 has quit [Remote host closed the connection]
System_Error has joined #ffmpeg
Mirarora has quit [Quit: Mirarora encountered a fatal error and needs to close]
faxmodem has quit [Ping timeout: 244 seconds]
Mirarora has joined #ffmpeg
MisterMinister has joined #ffmpeg
mindfreeze has quit [Quit: Connection closed for inactivity]
Muimi__ has joined #ffmpeg
faxmodem has joined #ffmpeg
EmleyMoor has quit [Ping timeout: 252 seconds]
emanuele7 has joined #ffmpeg
emanuele6 has quit [Killed (silver.libera.chat (Nickname regained by services))]
emanuele7 is now known as emanuele6
jarthur_ has joined #ffmpeg
EmleyMoor has joined #ffmpeg
jarthur has quit [Ping timeout: 272 seconds]
aaabbb has joined #ffmpeg
pulec_ is now known as pulec
pulec has quit [Changing host]
pulec has joined #ffmpeg
hightower4 has joined #ffmpeg
Mavrik6 has joined #ffmpeg
Forza has quit [Ping timeout: 252 seconds]
Mavrik has quit [Ping timeout: 252 seconds]
Mavrik6 is now known as Mavrik
hightower3 has quit [Ping timeout: 248 seconds]
hightower4 has quit [Remote host closed the connection]
hightower4 has joined #ffmpeg
Forza has joined #ffmpeg
Bertl has quit [Ping timeout: 252 seconds]
Bertl has joined #ffmpeg
Bertl has quit [Ping timeout: 252 seconds]
Bertl has joined #ffmpeg
emanuele6 has quit [Read error: Connection reset by peer]
Guest18 has joined #ffmpeg
<Guest18>
I need a command that replaces all white pixels that are close to black pixels in video with black pixels
Mavrik6 has joined #ffmpeg
Mavrik has quit [Ping timeout: 252 seconds]
Mavrik6 is now known as Mavrik
HarshK23 has joined #ffmpeg
<aaabbb>
Guest18: that may be a bit difficult to do with ffmpeg, although the 'geq' filter might be able to do it
<Guest18>
I tried getting right command with chatgpt and deepseek but they gave bunch of commands that always failed\
<Guest18>
and it repeated giving me commands that fail, even if I told them to stop
<aaabbb>
ai can sometimes give you very very basic answers about ffmpeg but it is garbage for anything that's not dead simple
<Guest18>
same commands
<Guest18>
so how do I remove white color inside of array of black pixels
<aaabbb>
so what exactly do you want to do? any pixel that's pure white will turn pure black if it is adjacent to a black pixel?
<Guest18>
I have video where kid has black pants with white letters on it
<Guest18>
I want to delete letters from his black pants
<aaabbb>
replacing white pixels close to black pixels won't succeed in doing that
<Guest18>
that was my closest guess
<Guest18>
otherwise I will have to edit picture by picture
<aaabbb>
ffmpeg can't do that automatically but you can use the delogo or removelogo filters to interpolate from the surrounding pixels, but you'll need to define the position on each frame
<aaabbb>
if he's staying mostly still then it should be easy, otherwise the position of the bounding box or whatever will have to move
<Guest18>
he is moving a lot
<aaabbb>
how long is the video?
Bertl has quit [Ping timeout: 252 seconds]
<Guest18>
1:13
<aaabbb>
do you know anything about ffmpeg filter chains?
<Guest18>
no
<aaabbb>
so ffmpeg can pass video through a filter, which typically makes some kind of change to the video. like if i do "ffmpeg -i input.mp4 -vf delogo=100:200:60:80 output.mp4" then a 60x80 box with the top left being at position 100x200 will be "eliminated" from the video, and the missing pixels will be interpolated based on surrounding pixels
<aaabbb>
it's usually used to remove a logo
<aaabbb>
but you can have multiple filters, one after the other, like "-vf delogo=100:200:60:80,delogo=400:400:20:30" would delogo two positions
<aaabbb>
but you can also tell each filter when it will turn on and when it will turn off, for example if i have a 50x50 box that i want to apply the delogo filter to but i want the box to move, i could do something like:
<aaabbb>
that would start at 100x100 and apply delogo filter to a 50x50 box for the first 5 seconds, then the box would move to 100x120 for the next 5 seconds, then 100x140 for the next 5 seconds
<aaabbb>
so you might have thousands of delogo filters, each moving the box just a little, so you would have that put in a file that contains the filterchain. it would be a pain to write it out manually so you would probably want to write a script to do it
<aaabbb>
i'm sure there are simpler gui programs that make this easier btw
<Guest18>
his pants has multiple logos all over it
<aaabbb>
then you'd have multiple delogo filters with overlapping enable times
<aaabbb>
like that which has two logo boxes that both move
<aaabbb>
but it's gonna be a pain to write it out manually so you'll want to script it, or use a program that does something similar for you
Bertl has joined #ffmpeg
System_Error has quit [Remote host closed the connection]
<Guest18>
there is literaly like 50 logo
Bertl has quit [Ping timeout: 252 seconds]
Bertl has joined #ffmpeg
Some_Person has quit [Ping timeout: 276 seconds]
<aaabbb>
yeah it's not going to be easy with ffmpeg
Some_Person has joined #ffmpeg
Bertl has quit [Ping timeout: 252 seconds]
Bertl has joined #ffmpeg
StephenLynx has quit [Quit: Leaving]
lusciouslover has quit [Ping timeout: 246 seconds]
coldfeet has joined #ffmpeg
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
System_Error has joined #ffmpeg
ZLima12 has quit [Remote host closed the connection]
ZLima12 has joined #ffmpeg
jarthur_ has quit [Quit: jarthur_]
rsx has joined #ffmpeg
Krusher has joined #ffmpeg
JanC is now known as Guest8744
JanC has joined #ffmpeg
Guest8744 has quit [Killed (tantalum.libera.chat (Nickname regained by services))]
five618480339176 has quit [Remote host closed the connection]
five618480339176 has joined #ffmpeg
xx has joined #ffmpeg
chiselfuse has quit [Ping timeout: 264 seconds]
chiselfuse has joined #ffmpeg
emmanuelux has quit [Quit: au revoir]
Guest18 has quit [Quit: Client closed]
Blacker47 has joined #ffmpeg
iNKa has joined #ffmpeg
Brocker has quit [Read error: Connection reset by peer]
JanC has quit [Ping timeout: 252 seconds]
^Neo has joined #ffmpeg
^Neo has joined #ffmpeg
SuicideShow has quit [Ping timeout: 260 seconds]
SuicideShow has joined #ffmpeg
karuzela has joined #ffmpeg
<karuzela>
hello i have some questions about license?can someone help me?
Guest46 has joined #ffmpeg
<galad>
karuzela: don't ask to ask, just ask
^Neo has quit [Ping timeout: 248 seconds]
System_Error has quit [Remote host closed the connection]
<Guest46>
I work in a company with dozens of computers. I have a commercial project in C#, and I would like to use FFmpeg. However, to convert a video from H.265 to H.264, I only use the Process.Start() command in my code to run the ffmpeg.exe file, which is located somewhere on the disk. I do not modify or compile FFmpeg in any way; I simply use it as a
<Guest46>
separate process within my application. Of course, if the program is missing from the disk, my application will not function properly.
<Guest46>
Can I still use my project commercially?
karuzela has quit [Remote host closed the connection]
<JEEB>
FFmpeg itself is generally under LGPL, certain components that base on GPL code change that to GPL. In either case the answer is yes (neither LGPL or GPL restrict commercial usage), but I think you are asking more about closed soureceness :P
lavaball has joined #ffmpeg
<JEEB>
if you are only using an LGPL FFmpeg binary, then you need to just provide the sources for that exact FFmpeg version (as LGPL only requires that you are able to replace that library/binary with your own). if you are using a GPL build, then the whole project is affected by GPL as the combined work requires it
<JEEB>
of course, I am not a lawyer etc etc. but this is the general gist
<JEEB>
the best H.264 encoder is GPL, but there are a few (both SW and HW that are available through FFmpeg and that are compatible with an LGPL FFmpeg build)
System_Error has joined #ffmpeg
Shine_ has joined #ffmpeg
<Guest46>
I want to use my project legally, the only thing I do is run ffmpeg.exe as process.start and add a few arguments "-i - -c:v libx264 -crf 23 -preset fast -f matroska pipe:1" and the question is if I can still use my program commercially? ffmpeg would be copied by the team separately to the appropriate directories on the computers.
<JEEB>
x264 is a GPL encoder, so the build would require being under the GPL license
<JEEB>
(that's the "best encoder" for H.264)
<JEEB>
you can still utilize it commercially, but you require bundling the source code with the installer or so, as anyone receiving the binary has the right to the combined source code as the whole combined work becomes GPL
<JEEB>
an alternative is if you commercially license x264, of course
<Guest46>
ok ale ja chce jeydnie uzywac ffmpeg nie chce dolaczac kodu ffmpeg do kodu mojej aplikacji?nie chce go rowniez kompilowac. jedynie korzystam z pliku ffmpeg.exe i tyle,chyba ze cos zle rozumiem?
<JEEB>
you probably are saying something about not modifying the code etc etc, and that really doesn't matter :P
<JEEB>
the resulting license of the build is what matters
<JEEB>
if it is an LGPL build, you follow that license's requirements. if it's a GPL build, you follow its requirements
<Guest46>
Ok but I just want to use FFMPEG I don't want to include ffmpeg code in my application code?I don't want to compile it either. I only use the ffmpeg.exe file and that's it, unless I misunderstand something? sorry my mistake in translate:)
<welder>
I rather understand it as equivalent of "can I invoke ls and grep from my proprietary bash script"
<JEEB>
Guest46: yes, but if you *expect* x264 to be there
<JEEB>
your thing requires a GPL binary
<JEEB>
welder: plus distribution
<JEEB>
they are distributing FFmpeg
<JEEB>
you have a combined work that contains FFmpeg as well as the business logic around it
<JEEB>
and that FFmpeg build can either be LGPL or GPL, and as you distribute it, you follow that license
coldfeet has quit [Ping timeout: 252 seconds]
iliv has quit [Quit: "<paniq> you know when i walk out the door, there is plenty of stupid people. i open irc, there is plenty of intelligent people. so the choice comes easy."]
JanC has joined #ffmpeg
iliv has joined #ffmpeg
<JEEB>
if you do not want a combined work that is under GPL, then LGPL binary it is. there are non-GPL H.264 encoders available through FFmpeg, as well as commercial licensing for x264.
Sketch has quit [Remote host closed the connection]
Sketch has joined #ffmpeg
<Guest46>
JEEB it doesn't have to be h264 it can be an iiny codec licensed by MIT or another free
DauntlessOne4 has quit [Quit: Ping timeout (120 seconds)]
DauntlessOne4 has joined #ffmpeg
coldfeet has joined #ffmpeg
mindfreeze has joined #ffmpeg
Guest67 has joined #ffmpeg
Guest67 has quit [Ping timeout: 240 seconds]
<ePirat>
JEEB, I dont think it counts as derived work if you do XPC?
<JEEB>
ePirat: I mean if your application clearly requires certain features... then I'd side with it being a combined work
<JEEB>
(and the point of distribution)
<ePirat>
didnt they say they do not do that? "ffmpeg would be copied by the team separately to the appropriate directories on the computers"
<JEEB>
yea, but it is their distribution
lavaball has quit [Remote host closed the connection]
<another|>
If you need to be sure: Ask a lawyer.
<JEEB>
yup
<JEEB>
I was just trying to point at the simple ways of following the general point of the license(s)
Guest46 has quit [Quit: Client closed]
<JEEB>
also the person never noted how the software was utilized commercially, just that it was commercially. since distributing a combined GPL work within a company is quite different in exposure than distributing it as paid software to 3rd parties.
kwizart has joined #ffmpeg
Shine_ has quit [Read error: Connection reset by peer]
five618480339176 has quit [Remote host closed the connection]
five618480339176 has joined #ffmpeg
lavaball has joined #ffmpeg
j45_ has joined #ffmpeg
j45 has quit [Ping timeout: 276 seconds]
j45 has joined #ffmpeg
j45 has joined #ffmpeg
j45 has quit [Changing host]
Guest50 has joined #ffmpeg
j45_ has quit [Ping timeout: 248 seconds]
j45_ has joined #ffmpeg
j45 has quit [Ping timeout: 248 seconds]
j45_ is now known as j45
j45 has quit [Changing host]
j45 has joined #ffmpeg
System_Error has quit [Ping timeout: 264 seconds]
j45_ has joined #ffmpeg
j45 has quit [Ping timeout: 276 seconds]
j45_ is now known as j45
j45 has quit [Changing host]
j45 has joined #ffmpeg
EmleyMoor has quit [Ping timeout: 252 seconds]
Shine_ has joined #ffmpeg
EmleyMoor has joined #ffmpeg
abdu has joined #ffmpeg
iNKa is now known as Brocker
odrling has joined #ffmpeg
Brocker has quit [Changing host]
Brocker has joined #ffmpeg
Muimi__ has quit [Quit: Going offline, see ya! (www.adiirc.com)]
Know has quit [Remote host closed the connection]
halloy7087 has joined #ffmpeg
Bertl has quit [Ping timeout: 252 seconds]
Bertl has joined #ffmpeg
halloy7087 is now known as xavier
xavier has quit [Remote host closed the connection]
chainik4 has joined #ffmpeg
^Neo has joined #ffmpeg
^Neo has joined #ffmpeg
chainik has quit [Ping timeout: 252 seconds]
chainik4 is now known as chainik
Guest50 has quit [Ping timeout: 240 seconds]
Some_Person has quit [Ping timeout: 252 seconds]
five618480339176 has quit [Remote host closed the connection]
five618480339176 has joined #ffmpeg
Know has joined #ffmpeg
Some_Person has joined #ffmpeg
rvalue- has joined #ffmpeg
rvalue has quit [Ping timeout: 244 seconds]
rvalue- is now known as rvalue
Brocker has left #ffmpeg [#ffmpeg]
lemoniter has joined #ffmpeg
lemoniter has quit [Quit: lemoniter]
Mavrik5 has joined #ffmpeg
Mavrik has quit [Ping timeout: 252 seconds]
Mavrik5 is now known as Mavrik
nd has quit [Ping timeout: 252 seconds]
damian101 has quit [Remote host closed the connection]
nd has joined #ffmpeg
damian101 has joined #ffmpeg
Shine_ has quit [Ping timeout: 252 seconds]
Shine_ has joined #ffmpeg
Marth64 has joined #ffmpeg
trillion_exabyte has quit [Ping timeout: 252 seconds]
trillion_exabyte has joined #ffmpeg
minimal has joined #ffmpeg
EmleyMoor has quit [Ping timeout: 265 seconds]
EmleyMoor has joined #ffmpeg
StephenLynx has joined #ffmpeg
rvalue- has joined #ffmpeg
rvalue has quit [Ping timeout: 252 seconds]
rvalue- is now known as rvalue
hightower4 has quit [Remote host closed the connection]
coldfeet has quit [Remote host closed the connection]
coldfeet has joined #ffmpeg
Krusher_ has joined #ffmpeg
lavaball has quit [Quit: lavaball]
Krusher has quit [Ping timeout: 252 seconds]
lavaball has joined #ffmpeg
rsx has quit [Quit: rsx]
trillion_exabyte has quit [Ping timeout: 252 seconds]
trillion_exabyte has joined #ffmpeg
bananicorn has left #ffmpeg [#ffmpeg]
Krusher_ has quit [Read error: Connection reset by peer]
vtorri_ has joined #ffmpeg
<vtorri_>
hello, has ffmpeg library some API to extract metadata of videos ?
<JEEB>
yes
<JEEB>
side data and text based metadata in various structures
<vtorri_>
wouls it be in libavcodec ?
<vtorri_>
or another lib ?
<JEEB>
avformat for container level stuff, avcodec for stuff that requires decoding and thus stuff that you receive in the AVFrames themselves
<JEEB>
then show_packets for actual packets, show_frames if the data only appears after decoding
<JEEB>
because this would then tell you where that metadata (be it side data or the old style text stuff) is located
<JEEB>
and then you can actually use the API
<vtorri_>
thank you
<vtorri_>
i'll try to use these info
abdu has quit [Quit: Client closed]
abdu has joined #ffmpeg
abdu has quit [Client Quit]
abdu has joined #ffmpeg
System_Error has joined #ffmpeg
<vtorri_>
i'll seeif the code is enough for my needs
Narrat has joined #ffmpeg
Muimi__ has joined #ffmpeg
Guest37 has joined #ffmpeg
<Guest37>
I have a commercial product written in C# (.NET), and I would like to run the ffmpeg.exe file as a separate process using Process.Start("ffmpeg.exe", args). FFmpeg will be distributed by another team to the appropriate directories on user computers. I will not modify FFmpeg's code in any way, nor will I compile my own version—I will use the
<Guest37>
official version available on the website. Additionally, I will be converting videos using either the x264 or libxvid codec.
<Guest37>
Can I use FFmpeg this way in my commercial project? I do not want to share my application's source code.
<another|>
There is no official binary.
<furq>
if you ship an ffmpeg binary you have to ship the source code for that binary and all the libraries it includes
<furq>
whether you need to also distribute source code for your thing depends on what it does and probably on what a lawyer says
coldfeet has quit [Quit: Lost terminal]
<JEEB>
whether you build your own really doesn't matter in that case, since you are anyways the one delivering FFmpeg itself onto the installed machines. just putting it as a job of another team does not make it any different to the application downloading a binary from the internet
<JEEB>
also there is no official FFmpeg build
<JEEB>
the closest to that are BtbN's automated builds, since he is part of the community as well as due to the build process being fully open
<furq>
for main program read your program and for plugin read ffmpeg
<furq>
i saw someone asking about libxvid not that long ago
<JEEB>
furq: but then again if you specifically request GPL encoders...
<furq>
does that make a difference
<JEEB>
if the application only works with that, I'd say that is quite a connection
<furq>
are the gpl and lgpl any different in that regard
abdu has quit [Quit: Client closed]
<JEEB>
LGPL does not infect the mother program, other than the idea being that you are able to replace the provided component
<furq>
i thought they were only different for actual linking
abdu has joined #ffmpeg
<JEEB>
IANAL so in the end one should consult a lawyer, but IMO making an application that specifically depends on GPL functionality, and only works with it does make it much closer to a combined work
<furq>
well we don't know if it specifically depends on it
<JEEB>
he mentioned it earlier
<JEEB>
the previous time he asked the exact same question
<JEEB>
and esp. if you are the one also installing that GPL binary
<furq>
i didn't see him say how useless his thing is without ffmpeg
<furq>
although i don't know how much that matters
<furq>
i do see people say it a lot
<JEEB>
> Of course, if the program is missing from the disk, my application will not function properly.
<JEEB>
he started with that without mentioning x264 first
<JEEB>
thus I noted that there are H.264 encoders available under various licenses that can be used through FFmpeg
<JEEB>
he later then mentioned specifically adding the arguments for libx264
<Guest37>
my mistake, it was not xvid but libxv9, from what I found out it's a dorm codec
<JEEB>
and I also did mention that there is a commercial non-GPL license for x264
<JEEB>
also one thing this person never mentioned is whether this would be distributed within a company or so, or actually externally as well. because even if the combined thing ends up being GPL, if it's just internal to the company the issues with that are much less :P
<furq>
technically you're not breaking the law until you get caught
<JEEB>
yes, innocent until proven guilty and all.
<JEEB>
anyways, building yourself or not and modifying the code or not does not matter for LGPL and GPL I think. other licenses like I think apachev2 (?) have additional requirements if you have modified the code
<minimal>
JEED: innocent *unless* proven guilty
<JEEB>
:)
<minimal>
"until" implies they're definately guilty, it just hasn't been proven yet
<JEEB>
OK, that definitely was not my meaning.
<JEEB>
just that until such time as X happens, Y is true
<furq>
i don't know that it does imply that
<furq>
otherwise you could simplify it to just "guilty"
<Guest37>
my application will be distributed only within the company and will not be released to other people
lavaball has quit [Remote host closed the connection]
<JEEB>
well, congrats. then you are in much simpler waters. you may want to consult a lawyer whether you are doing any distribution at all. it does not change the requirements for (L)GPL, but it is much simpler to follow those requirements even in the case that you are deemed to be doing distribution internally.
<xue>
this is my problem, as soon as i try to add metadata it breaks
<xue>
loses first 'f' in file:///
<xue>
any reason why?
<Guest37>
JEEB ok so I understand correctly that use in your application only inside the company, I will not charge any fees for using my program or using ffmpeg, from what I understood I should use the compiled version btbN ffmpeg-master-latest-win64-gpl-shared.zip, wm s active exe applications, and they will be copied by the team in the startup
<Guest37>
directories. I only run the program as a utility process. Did I understand correctly?
travisghansen39 has joined #ffmpeg
travisghansen3 has quit [Read error: Connection reset by peer]
travisghansen39 is now known as travisghansen3
<JEEB>
(L)GPL does not care whether you charged anything etc etc, it only cares about distribution
Guest37 has quit [Quit: Client closed]
Guest23 has joined #ffmpeg
superded has joined #ffmpeg
abdu has quit [Quit: Client closed]
abdu has joined #ffmpeg
Guest23 has quit [Quit: Client closed]
Shine_ has quit [Read error: Connection reset by peer]
<xue>
Is it something with ffmpeg?
<xue>
like, if it was bash, it should break on .ogg encoding
<vtorri_>
JEEB, the show_metadata program with big buck bunny vid shows nothing
<vtorri_>
though i don't know if it has metadata
<JEEB>
vtorri_: I did not link it, and that only reads very specifc things
<vtorri_>
ok
<JEEB>
as I said, look at `ffprobe -of json -show_streams -show_format -i INPUT`
<JEEB>
it more or less calls the APIs for avformat (and avcodec), and outputs various things as text
<JEEB>
that should also give you hints where the information will be API-wise
Guest3 has joined #ffmpeg
<vtorri_>
JEEB, it outputs some tags, yes, i'll look at the prog, thnks
aljazmc has joined #ffmpeg
<Guest3>
@jeeb i read license include to ffmpeg-master-latest-win64-lgpl.zip and found section 3. Object Code Incorporating Material from Library Header Files. I don't understand the part where it says layouts and accessors, or small macros, inline functions and templates
<Guest3>
(ten or fewer lines in length), you do both of the following: what does mean ten or fewer lines in lenght ?is it about my code or is it about calling ffmpeg.exe from my program? in my program it is simple because I simply call the program via process.start(ffmpeg.args)
Coinflipper has quit [Quit: ]
Coinflipper has joined #ffmpeg
Coinflipper has quit [Quit: ]
Coinflipper has joined #ffmpeg
lavaball has joined #ffmpeg
Know has quit [Remote host closed the connection]
aljazmc has quit [Quit: Leaving]
Juesto has joined #ffmpeg
Juest has quit [Ping timeout: 252 seconds]
Juesto is now known as Juest
hightower2 has quit [Remote host closed the connection]
Guest3 has quit [Quit: Client closed]
Blacker47 has quit [Quit: Life is short. Get a V.90 modem fast!]