Taner Şener, the creator of FFmpegKit, a commercial wrapper around FFmpeg for mobile development, announced that he's ceasing development and support. Due to complexities in maintaining FFmpeg across various architectures and operating systems, increasing maintenance burden, and inadequate revenue to justify continued development, he's chosen to shut down. Existing clients can continue using their purchased licenses, but future updates and support are discontinued. The core issue is the difficulty of sustainably supporting a complex project like FFmpegKit, even as a paid product, given the rapid pace of mobile development and the substantial engineering effort required for compatibility. While acknowledging the disappointment this will cause some users, Şener emphasizes the unsustainable nature of the project's current trajectory and thanks users for their support over the years.
Taner Şener, the creator of MobileFFmpeg and FFmpegKit, a widely used FFmpeg library for mobile development (Android and iOS), has announced the discontinuation of active development and support for FFmpegKit. This decision, explained in a Medium post titled "Saying Goodbye to FFmpegKit," stems from several key factors, primarily the unsustainable workload and financial strain of maintaining the project.
Şener details the extensive effort required to keep FFmpegKit up-to-date and functional. This includes regularly rebuilding FFmpeg for different architectures (armv7, arm64, x86, x86_64) across both Android and iOS platforms, dealing with the complexities of differing build systems (CMake, Xcode, NDK), and addressing the constant influx of issues and user requests. This maintenance burden, coupled with the continuous evolution of Apple's ecosystem, requiring adaptations to new devices, operating system versions, and silicon architectures, proved to be an overwhelming demand on Şener's time and resources.
The financial aspect also played a significant role. While MobileFFmpeg, a commercial offering with more advanced features, generated some revenue, it was insufficient to cover the costs associated with FFmpegKit's upkeep. The free and open-source nature of FFmpegKit meant that the majority of users did not contribute financially, leading to a situation where Şener was effectively subsidizing the project. The time commitment to FFmpegKit also hindered Şener's ability to dedicate time to MobileFFmpeg's advancement and explore other potentially more profitable ventures.
Despite the discontinuation of active development, Şener assures users that FFmpegKit will remain available for download and use. The existing documentation and resources will remain accessible. However, future updates, bug fixes, and support will not be provided. Şener expresses gratitude to the community for their support and contributions over the years and encourages users to consider transitioning to MobileFFmpeg if they require ongoing support and advanced features. The post ends with a reflective note on the challenges of maintaining open-source projects and the importance of sustainable models for long-term viability.
Summary of Comments ( 90 )
https://news.ycombinator.com/item?id=43053499
Hacker News users discuss the author's decision to discontinue FFmpegKit, an iOS/Android FFmpeg library. Several commenters express disappointment, highlighting FFmpegKit's ease of use compared to alternatives like MobileFFmpeg. Some suggest the decision stems from the difficulty of maintaining cross-platform compatibility and the complex build process involved with FFmpeg. Others speculate about the author's motivation, including burnout or lack of financial viability. A few offer alternative solutions or express hope for a successor project. The lack of clear documentation for building FFmpeg directly is also a recurring concern, reinforcing the value of projects like FFmpegKit.
The Hacker News post titled "Saying Goodbye to FFmpegKit" has a moderate number of comments discussing the author's decision to discontinue the project and the broader implications for mobile FFmpeg integration.
Several commenters expressed appreciation for the author's work on FFmpegKit, acknowledging the difficulty of maintaining such a project and thanking him for his contributions to the community. One commenter specifically mentioned gratitude for the clear explanation provided by the author regarding the challenges faced.
A key theme in the discussion revolves around the complexities and frustrations of cross-compiling FFmpeg, particularly for mobile platforms. Commenters echoed the author's sentiments about the time-consuming nature of this process and the constant struggle to keep up with updates and changes. One commenter highlighted the constant need to chase new NDK versions and the resulting instability as a major pain point.
The licensing issues surrounding FFmpeg and its dependencies were also brought up. One commenter pointed out the potential legal risks involved in using FFmpeg in commercial projects due to the GPL license and the complexities of ensuring compliance.
Some commenters discussed alternative approaches to using FFmpeg on mobile, including MobileFFmpeg, which was mentioned as a potential option, although some skepticism was expressed regarding its long-term viability. The challenges of maintaining such projects, especially given the dynamic nature of FFmpeg and mobile platforms, were a recurring theme.
A few commenters also touched upon the broader challenges of native development on mobile and the increasing appeal of cross-platform frameworks like Flutter. While not directly related to FFmpegKit, this reflects the evolving landscape of mobile development and the factors that might influence the adoption of tools and libraries like FFmpegKit.
Finally, there's a brief discussion on the reasons behind the increasing complexity of cross-compilation. One commenter speculated that the increasing modularization of projects and the deprecation of older APIs contribute to this growing difficulty.
Overall, the comments paint a picture of a dedicated developer grappling with the inherent complexities of maintaining a crucial but complex tool for mobile development, and a community grappling with the implications of its discontinuation.