[FFmpeg-devel] I've written a filter in Rust
Zhao Zhili
quinkblack at foxmail.com
Wed Feb 26 16:18:20 EET 2025
> On Feb 26, 2025, at 21:50, Tomas Härdin <git at haerdin.se> wrote:
>
> fre 2025-02-21 klockan 20:10 +0000 skrev Soft Works:
>>
>>
>> From: Kieran Kunhya <kieran618 at googlemail.com>
>> Sent: Freitag, 21. Februar 2025 20:27
>> To: Soft Works <softworkz at hotmail.com>
>> Cc: FFmpeg development discussions and patches
>> <ffmpeg-devel at ffmpeg.org>
>> Subject: Re: [FFmpeg-devel] I've written a filter in Rust
>>
>>
>> On Fri, 21 Feb 2025, 15:02 Soft Works,
>> <softworkz at hotmail.com<mailto:softworkz at hotmail.com>> wrote:
>>
>>
>>> -----Original Message-----
>>> From: ffmpeg-devel
>>> <ffmpeg-devel-bounces at ffmpeg.org<mailto:ffmpeg-devel-bounces at ffmpeg
>>> .org>> On Behalf Of
>>> Kieran Kunhya via ffmpeg-devel
>>> Sent: Freitag, 21. Februar 2025 15:53
>>> To: FFmpeg development discussions and patches <ffmpeg-
>>> devel at ffmpeg.org<mailto:devel at ffmpeg.org>>
>>> Cc: Kieran Kunhya
>>> <kieran618 at googlemail.com<mailto:kieran618 at googlemail.com>>
>>> Subject: Re: [FFmpeg-devel] I've written a filter in Rust
>>>
>>> On Fri, 21 Feb 2025, 14:30 Soft Works, <softworkz-at-
>>> hotmail.com at ffmpeg.org<mailto:hotmail.com at ffmpeg.org>>
>>> wrote:
>>>
>>>>
>>>>
>>>>> -----Original Message-----
>>>>> From: ffmpeg-devel
>>>>> <ffmpeg-devel-bounces at ffmpeg.org<mailto:ffmpeg-devel-bounces at ff
>>>>> mpeg.org>> On Behalf Of
>>>>> Michael Niedermayer
>>>>> Sent: Freitag, 21. Februar 2025 14:22
>>>>> To: FFmpeg development discussions and patches <ffmpeg-
>>>>> devel at ffmpeg.org<mailto:devel at ffmpeg.org>>
>>>>> Subject: Re: [FFmpeg-devel] I've written a filter in Rust
>>>>>
>>>>> Hi
>>>>>
>>>>> On Fri, Feb 21, 2025 at 10:01:56AM +0100, Tomas Härdin wrote:
>>>>>> tor 2025-02-20 klockan 23:49 +0100 skrev Michael Niedermayer:
>>>>>>> Hi
>>>>>>>
>>>>>>> On Thu, Feb 20, 2025 at 02:06:47PM +0100, Leandro Santiago
>>>>>>> wrote:
>>>>>>>> [insert meme here]
>>>>>>> [...]
>>>>>>>> I also recorded a video showing the filter in action [7].
>>>>>>> [...
>>>>>>>> [7] https://youtu.be/U_y4-NnaINg
>>>>>>>
>>>>>>> cool, it doesnt detect everyone though
>>>>>>>
>>>>>>> also i think this shows how useful a plugin framework would
>>>>>>> be for
>>>>>>> ffmpeg
>>>>>>>
>>>>>>> with plugins everyone could use,test and contribute to this
>>>>>>> today.
>>>>>>> without plugins, this needs to be merged in ffmpeg git
>>>>>>> master. (which
>>>>>>> will take some time i suspect)
>>>>>>
>>>>>> Have we not gone over and rejected plugins many times? I
>>>>>> recall points
>>>>>
>>>>> no
>>>>> there was no formal and no public informal vote that i
>>>>> remember.
>>>>>
>>>>> ive raised the issue with plugins many times. Because it would
>>>>> allow people and myself to contribute more complex features and
>>>>> end the stagnation of FFmpeg.
>>>>
>>>> Yup, that's exactly one of the reasons why other projects like
>>>> GStreamer
>>>> have gained that much popularity. It might not have happened when
>>>> ffmpeg would have been more open and extensible in the first
>>>> place.
>>>>
>>>
>>> It's quite the opposite. Gstreamer is successful in its vertical
>>> because it
>>> allows easy inclusion of vendor binary blobs. This is not "open and
>>> extensible".
>>
>> Open means it's extensible for everybody, including vendors. I fail
>> to see
>> what's bad about it. Do we have a fight against everything
>> commercial?
>>
>> What are you afraid of to happen?
>
> I think Kieran already expressed quite well the issue:
>
> 1) it encourages proprietary blobs
> 2) it creates pressure on us to maintain compatibility with said blobs
The first issue has a solution: use gpl or more strict license for the plugin
interface support, like obs-studio.
For the second issue, we can just not give a stable API/ABI guarantee for
the plugin interface, for example, reject to load a plugin if the version doesn’t
match.
I have some feature in mind which suit for a plugin but not for a builtin implementation.
For example, different AI model have different pre- and post-process. Current
dnn in libavfilter only support some particular model like yolov4. We can’t write some
code for each model, which can be outdated soon.
VLC and obs-studio are both good example of plugin based frameworks.
>
> /Tomas
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org <mailto:ffmpeg-devel at ffmpeg.org>
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org <mailto:ffmpeg-devel-request at ffmpeg.org> with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list