Better video player for Flutter, with multiple configuration options. Solving typical use cases!
<p align="center">
<img src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/logo.png">
</p>

# Better Player
[![pub package](https://img.shields.io/pub/v/better_player.svg)](https://pub.dartlang.org/packages/better_player)
[![pub package](https://img.shields.io/github/license/jhomlala/betterplayer.svg?style=flat)](https://github.com/jhomlala/betterplayer)
[![pub package](https://img.shields.io/badge/platform-flutter-blue.svg)](https://github.com/jhomlala/betterplayer)

Advanced video player based on video_player and Chewie. It's solves many typical use cases and it's easy to run.

<table>
   <tr>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/1.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/2.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/3.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/4.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/5.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/6.png">
      </td>
   </tr>
   <tr>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/7.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/8.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/9.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/10.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/11.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/12.png">
      </td>
   </tr>
   <tr>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/13.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/14.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/15.png">
      </td>
      <td>
         <img width="250px" src="https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/16.png">
      </td>
    </tr>	
</table>

## Introduction
This plugin is based on [Chewie](https://github.com/brianegan/chewie). Chewie is awesome plugin and works well in many cases. Better Player is a continuation of ideas introduced in Chewie. Better player fix common bugs, adds more configuration options and solves typical use cases. 

**Features:**  
✔️ Fixed common bugs  
✔️ Added advanced configuration options  
✔️ Refactored player controls  
✔️ Playlist support  
✔️ Video in ListView support  
✔️ Subtitles support: (formats: SRT, WEBVTT with HTML tags support; subtitles from HLS; multiple subtitles for video)  
✔️ HTTP Headers support  
✔️ BoxFit of video support  
✔️ Playback speed support  
✔️ HLS support (track, subtitles (also segmented), audio track selection)  
✔️ DASH support (track, subtitles, audio track selection)     
✔️ Alternative resolution support  
✔️ Cache support  
✔️ Notifications support  
✔️ Picture in Picture support     
✔️ DRM support (token, Widevine, FairPlay EZDRM).    
✔️ ... and much more!  


## Documentation
* [Official documentation](https://jhomlala.github.io/betterplayer/)
* [Example application](https://github.com/jhomlala/betterplayer/tree/master/example)
* [API reference](https://pub.dev/documentation/better_player/latest/better_player/better_player-library.html)


## Important information
This plugin development is in progress. You may encounter breaking changes each version. This plugin is developed part-time for free. If you need
some feature which is supported by other players available in pub dev, then feel free to create PR. All valuable contributions are welcome!


