Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

package:media_kit #379

Open
alexmercerind opened this issue Aug 21, 2023 · 0 comments
Open

package:media_kit #379

alexmercerind opened this issue Aug 21, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@alexmercerind
Copy link
Owner

alexmercerind commented Aug 21, 2023

TL;DR

Please consider replacing package:dart_vlc with package:media_kit in your Flutter projects. It should require minimal changes.

package:media_kit brings major advancements. Few are:

  • Support for all platforms i.e. Android, iOS, macOS, Windows, GNU/Linux & Web.
  • Hardware acceleration i.e. GPU usage, allowing playback of multiple FHD, 4K & 8K videos.
  • Support for both video & audio applications.
  • Unit-tests.
  • Smaller size.
  • Built-in video controls.
  • Improved API.
  • Improved stability.
  • Improved performance.
  • Less restrictive license: MIT.

Contributions are welcomed to package:media_kit.

Let's have a reliable video & audio playback library for Flutter, which meets community's demand.


Why

From a personal standpoint, working on package:dart_vlc has been a good learning experience. I started working on this project when I was around 18 years old. This helped me learn in detail about C/C++, low-level APIs (such as libVLC & Flutter platform channels), native interop, shared libraries etc. With that being said, I strongly believe that code-quality & stability has been highly compromised due to my lack of experience & knowledge at that time.

On the other hand, package:dart_vlc is very inefficient as it doesn't utilize GPU for video playback, causing excessive CPU usage & reduced battery life. There are other limitations in libVLC, which were becoming a blocker for the overall experience of decent video playback. Lastly, the bundle size is also very large.

Future

At the moment, I'm investing my time in the further development, advancement & maintenance of package:media_kit. In future, if the requirement of a video package that specifically uses libVLC is felt, I will consider reviving this project & re-write things from scratch.

For the note, VLC Media Player is an extremely good piece of software capable of playing most all multimedia files, I use it nearly everyday since my childhood. However, libVLC isn't exactly seeming like the perfect-fit here.

Thanks!

@alexmercerind alexmercerind pinned this issue Aug 21, 2023
@alexmercerind alexmercerind added the enhancement New feature or request label Aug 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant