Awesome Video Player

December 23, 2024 ยท View on GitHub

awesome_video_player A powerful, actively maintained Flutter video player built for the modern developer.

pub package pub package pub package

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:

FeatureAwesome Video Playervideo_playerchewiebetter_playerbetter_player_plus
Active Maintenanceโœ…โœ…โœ…โŒโŒ
DRM (Widevine, FairPlay)โœ…โŒโŒโœ…โœ…
DASH Streamingโœ…โŒโŒโœ…โœ…
HLS Streamingโœ…LimitedLimitedโœ…โœ…
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โœ…LimitedLimitedโœ…โœ…
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!