AI prompts
base on 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. It 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!
", Assign "at most 3 tags" to the expected json: {"id":"11773","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"