Changes between Version 32 and Version 33 of SponsoringPrograms/STF/2025


Ignore:
Timestamp:
Sep 29, 2025, 11:54:34 PM (12 months ago)
Author:
Pierre-Anthony Lemieux
Comment:

Incorporated changes from Ramiro

Legend:

Unmodified
Added
Removed
Modified
  • SponsoringPrograms/STF/2025

    v32 v33  
    8383=== Provide a brief overview over your project’s own, most important, dependencies.
    8484
    85 FFmpeg is designed to be self-contained and portable, with minimal mandatory dependencies, ensuring FFmpeg's portability across operating
    86 systems, architectures, and environments (embedded systems, desktop, cloud).
    87 Its most important dependencies are build tools such as NASM for x86 assembly and a POSIX build system.
     85FFmpeg is designed to be self-contained and portable, with minimal mandatory dependencies, ensuring FFmpeg's portability across operating systems, architectures, and environments (embedded systems, desktop, cloud). Its most important dependencies are: a C compiler, a NASM compiler for x86 assembly and a POSIX environment.
    8886
    8987Optional libraries such as libx264, dav1d, libx265, libvpx, libaom, libopus, and libmp3lame are not strictly required but expand FFmpeg functionality. These libraries are subject to substantial scrutiny by the community before inclusion.
    9088
    91 
    9289=== Provide a brief overview of projects that depend on your technology.
    9390
     91FFmpeg is ubiquitous in multimedia processing, whether in the cloud or the desktop. FFmpeg is used by media players (such as VLC, Kodi, and MPlayer), web browsers (such as Firefox and Chromium), video editors (such as Blender, Kdenlive, and Shotcut), streaming and conferencing solutions (such as OBS Studio and Jitsi), and major video distribution and streaming platforms (such as YouTube, Vimeo, AWS, and Microsoft Azure).
     92
     93There are over 500 000 files on GitHub that match `libavcodec`, which is just one of the libraries exposed by FFmpeg.
     94
    9495=== Which target groups does your project address (who are its users?) and how would they benefit from the activities proposed (directly and indirectly)?
    9596
     97FFmpeg targets a very broad user base, from developers, researchers and educators, to end users and distributors and integrators. The activities proposed would benefit all FFmpeg users (directly and indirectly) by improving the security and stability of the project as a whole. It would also benefit archivists by facilitating the adoption of FFv1 as an archival format. It would also benefit all users by considerably improving the performance of image scaling and format conversion provided by `libswscale`. Overall, developers, researchers, and educators would also benefit from a cleaner and more maintainable codebase.
     98
    9699=== Describe a specific scenario for the use of your technology and how this meets the needs of your target groups.
    97100
     101A global video streaming service ingests millions of videos from users every day, in thousands of formats and container variations. FFmpeg powers their transcoding farm, enabling reliable format normalization, optimized multi-bitrate ladder generation, and high-density transcoding pipelines. This allows the platform to deliver consistent, high-quality playback to millions of end-users, across devices and network conditions.
     102
    98103=== How was the work on the project made possible so far (structurally, financially, including volunteer work)? If applicable, list others sources of funding that you applied for and/or received.
    99104
     105FFmpeg has been made possible by the voluntary contributions of 1000s of individuals over the past 20 years. These contributors include hobbyists, researchers, employees of major corporations, and developers funded by third-parties, such as STF in 2024. FFmpeg has also benefited historically from donations of hardware and infrastructure for development, hosting, and continuous testing/integration, and from the occasional monetary donations.
     106
    100107=== What are the challenges you currently face in the maintenance of the technology?
    101108
     109The main challenges FFmpeg faces today are limited funding and limited contributor capacity. FFmpeg has a very large and complex codebase with decades of accumulated code. Ensuring consistency, security, and modern best practices across all components requires dedicated time from skilled developers.
     110
    102111=== What are possible alternatives to your project and how does your project compare to them?
     112
     113There are no alternatives that offer such a wide range of support for different formats and codecs with a single API. Some operating systems provide system-specific support for a few codecs, as well as some vendors providing vendor-specific SDKs that also offer a small subset of codecs, usually tied to specific hardware and/or platforms. Conversely, FFmpeg also has support for most of those system-specific frameworks and vendor-specific SDKs.
     114
     115The popular GStreamer library provides an independent framework for the processing of multimedia essence, but its codec support is largely based on FFmpeg.
    103116
    104117=== What are the problems the proposed work is trying to address? What activities do you propose and how do they address the problems described? How do those activities fit into [STF’s mission](https://www.sovereigntechfund.de/mission)?