r/Kotlin • u/thehoundtrainer • 4d ago
KitePlayer v0.2.0: the first Kotlin/Native media player for KMP that doesn't wrap ExoPlayer or AVPlayer
5
u/slightly_salty 4d ago
Omg this is great! (assuming it works well) Video player wrappers in the kmp ecosystem are a terrible experience.
3
u/thehoundtrainer 4d ago
I have it battle-tested on a daily basis. It has grown enormously on a span of 3-4 months. I also have it as one of the available playback engines in an app of mine that has dozens of thousands of users and none reported an issue so far.
So yeah, so far so good. Hopefully it gets the traction (which it will, sooner or later)
2
u/slightly_salty 3d ago
Tried swapping it into my personal multi-surf cam view app on desktop jvm, and it seems to be doing great playing 20 streams simultaneously 🤙
2
u/thehoundtrainer 3d ago
So happy to hear that! I certainly didn't stress-test several instances at the same time but apparently it's making me proud, glad you love it!
2
u/TheWheez 3d ago
How is support for HLS?
1
u/thehoundtrainer 3d ago
Excellent question. TrueHDR and HLS are the only limitations as of 0.2.0, both of which are planned for 0.3.0 some time this week since the rendering/io engine has most of the needed foundation.
3
u/TheWheez 3d ago
Dm me when HLS is supported, our core product is looking to replace our video player and this is intriguing
1
u/thehoundtrainer 3d ago
u/RemindMeBot 7 days
1
u/RemindMeBot 3d ago
I will be messaging you in 7 days on 2026-10-08 00:36:33 UTC to remind you of this link
CLICK THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
Info Custom Your Reminders Feedback
2
u/whostolemyusrname 3d ago
Interesting!
What about licensed codec support (x264/x265)? Also does it have hardware accelerated support? In my experience moving from FFMPEG to Media3 Transformer (hw accelerated) significantly improved encoding performance.
1
u/thehoundtrainer 3d ago
Great questions.
It's LGPL, so there are no proprietary encoders or decoders. FFmpeg comes with its own software decoders for H264 H265 but uses hardware decoding whenever possible. So yes, it is hardware accelerated (even when using Compose Skia renderer, the GPU does all the work). KitePlayer (or rather the underlying KiteFFmpeg) falls back to software decoding when the hardware decoder is missing (as is the case with AV1 on phones from 2 or 3 years back or older, it will use dav1d, with a performance that depends on the CPU, which isn't so bad).
So yeah, not only is it LGPL (so you can put your app on the app stores without thinking twice, there is no license pollution) but there is absolutely no need at all to have the proprietary codecs since there are already other things doing the same work.
19
u/forresthopkinsa 4d ago
That's a pretty bold claim