awesome_video_player 1.0.4
awesome_video_player: ^1.0.4 copied to clipboard
The name says it all :) Feature Rich Advanced video player for Flutter, supports DRM, Subtitles, Multi-audio/video streams, and is well maintained
Awesome Video Player #
awesome_video_player A powerful, actively maintained Flutter video player built for the modern developer.
Why Awesome Video Player? #
Looking for a reliable, feature-rich video player that won't be abandoned? You're in the right place! Awesome Video Player is an actively maintained fork of the better_player ecosystem, enhanced with modern features, critical bug fixes, and regular updates.
Features:
- 📝 Playlist support
- 📱 Video in ListView support
- 💬 Subtitles support: (formats: SRT, WEBVTT with HTML tags support; subtitles from HLS; multiple subtitles for video)
- 🔒 DRM support (token, Widevine, FairPlay EZDRM)
- 📡 HTTP Headers support
- 🖼️ BoxFit of video support
- ⚡ Playback speed support
- 🔄 Alternative resolution support
- 🎥 HLS support (track, subtitles (also segmented), audio track selection)
- 📺 DASH support (track, subtitles, audio track selection)
- ⚙️ Added advanced configuration options
- 🎮 Refactored player controls
- 💾 Cache support
- 🔔 Notifications support
- 📍 Picture in Picture support
- 🐛 Bug Fixes
- ✨ ... and much more!
Not Just Another Video Player #
While other video player libraries come and go, Awesome Video Player is here to stay. Here's how we stand out:
Feature | Awesome Video Player | video_player | chewie | better_player | better_player_plus |
---|---|---|---|---|---|
Active Maintenance | ✅ | ✅ | ✅ | ❌ | ❌ |
DRM (Widevine, FairPlay) | ✅ | ❌ | ❌ | ✅ | ✅ |
DASH Streaming | ✅ | ❌ | ❌ | ✅ | ✅ |
HLS Streaming | ✅ | Limited | Limited | ✅ | ✅ |
HLS Default Audio Stream Selection | ✅ | ❌ | ❌ | ❌ | ❌ |
Audio Track Switching | ✅ | ❌ | ❌ | ✅ | ✅ |
Multi-Format Subtitles (SRT, WEBVTT, HLS) | ✅ | ❌ | Limited | ✅ | ✅ |
HTML Tags in Subtitles | ✅ | ❌ | ❌ | ✅ | ✅ |
Subtitle Style Customization | ✅ | ❌ | ❌ | ✅ | ✅ |
Alternative Resolution Switching | ✅ | ❌ | ❌ | ✅ | ✅ |
Picture in Picture | ✅ | ❌ | ❌ | ❌ | ✅ |
Playlist Support | ✅ | ❌ | ❌ | ✅ | ✅ |
Video Caching | ✅ | ❌ | ❌ | ✅ | ✅ |
Custom Controls Configuration | ✅ | ❌ | Limited | ✅ | ✅ |
Advanced Error Handling | ✅ | Limited | Limited | ✅ | ✅ |
Custom HTTP Headers | ✅ | ✅ | ✅ | ✅ | ✅ |
Recent Bug Fixes | ✅ | ✅ | ✅ | ❌ | ❌ |
Our Commitment #
- 🔧 Actively Maintained: Regular updates, bug fixes, and feature improvements
- 🚀 Performance First: Built on modern Media3 ExoPlayer
- 💪 Battle-tested: Based on the robust better_player foundation
- 👥 Community Driven: Your issues and PRs are welcome and valued
- 📚 Well Documented: Comprehensive guides and examples
Notable Improvements Over Predecessor Libraries #
🎯 Correct HLS Default Audio Selection: Properly respects the DEFAULT flag in HLS manifests for audio track selection, fixing a long-standing issue in better_player and better_player_plus where the first stream was always selected regardless of the default flag.
Documentation #
Some usecase screenshots #
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Contributing #
Your contributions make Awesome Video Player better! Whether it's:
- 🐛 Bug reports
- 💡 Feature suggestions
- 🛠️ Pull requests
- 📚 Documentation improvements
All contributions are welcome! Let's make this the best video player for Flutter together. Support Need help? Found a bug? Have a feature request?
- 📩 Open an issue
- ⭐ Star the repo to show your support!