Skip to content

The name says it all :) Feature Rich Advanced video player for Flutter ๐Ÿ“ฝ๏ธ๐Ÿ”ฅ Support DRM, Subtitles, Multi-audio/video streams, and is well maintained ๐Ÿค

License

Notifications You must be signed in to change notification settings

nateshmbhat/awesome_video_player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Awesome Video Player

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:

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!

About

The name says it all :) Feature Rich Advanced video player for Flutter ๐Ÿ“ฝ๏ธ๐Ÿ”ฅ Support DRM, Subtitles, Multi-audio/video streams, and is well maintained ๐Ÿค

Topics

Resources

License

Stars

Watchers

Forks

Contributors 8