YoYo Video Player is a HLS(.m3u8) video player for flutter.

Overview

KoHtut

YoYo Video Player

YoYo Video Player is a HLS(.m3u8) video player for flutter. The video_player is a video player that allows you to select HLS video streaming by selecting the quality. YoYo Player wraps video_player under the hood and provides base architecture for developers to create their own set of UI and functionalities.

Pub Version (including pre-releases)

Features

  • You can select multiple quality and open
  • On video tap play/pause, mute/unmute, or perform any action on video.
  • Auto hide controls.
  • (.m3u8) HLS Video Streaming Support

Install & Set up

  1. Add dependency, open the root directory pubspec.yamlFile independencies:Add the following code below
yoyo_player: #latest
  1. Installation dependencies (please ignore if it has been installed automatically)
 cd Project directory
 flutter packages get
  1. Introduce the library in the page
import 'package:yoyo_player/yoyo_player.dart';

Usage

A simple usage example:

  YoYoPlayer(
          aspectRatio: 16 / 9,
          url:  "",
          videoStyle: VideoStyle(),
          videoLoadingStyle: VideoLoadingStyle(),
  ),

Change Icon

 videoStyle: VideoStyle(
    play : Icon(Icons.play_arrow),
    pause : Icon(Icons.pause),
    fullscreen : Icon(Icon(Icons.fullscreen)),
    forward : Icon(Icons.skip_next),
    backward : Icon(Icons.skip_previous),
 )

Change Video Loading

   videoLoadingStyle: VideoLoadingStyle(loading : Center(child: Text("Loading video")),

Play With Subtitle

        body: YoYoPlayer(
          aspectRatio: 16 / 9,
          //url ( .m3u8 video streaming link )
          //example ( url :"https://sfux-ext.sfux.info/hls/chapter/105/1588724110/1588724110.m3u8" )
          //example ( url :"https://player.vimeo.com/external/440218055.m3u8?s=7ec886b4db9c3a52e0e7f5f917ba7287685ef67f&oauth2_token_id=1360367101" )
          url:  " ",
          videoStyle: VideoStyle(),
          videoLoadingStyle: VideoLoadingStyle(
            loading: Center(
              child: Text("Loading video"),
            ),
          ),
        ),

Player Option

Player

Attributes Type Description
url String Video source ( .m3u8 & File only)
videoStyle VideoStyle Video Player style
videoLoadingStyle VideoLoadingStyle Video Loading Style
aspectRatio double Video AspectRaitio [aspectRatio : 16 / 9 ]
onfullscreen VideoCallback video state fullscreen
openingvideo VideoCallback video type ( eg : mkv,mp4,hls)

Player custom style (VideoStyle)

Attributes Type Description
play Widget You can use any Widget you want
pause Widget You can use any Widget you want
fullscreen Widget You can use any Widget you want
forward Widget You can use any Widget you want
backward Widget You can use any Widget you want
playedColor Color You can use any Icon style you want
qualitystyle TextStyle You can use any Text style you want
qashowstyle TextStyle You can use any Text style you want

Player Loading custom style (VideoStyle)

Attributes Type Description
loading Widget You can use any loading style you want

How is it created ?

  • The data in the source url (m3u8) is regex checked and the child m3u8 files are created and saved according to the respective rules.
  • It starts creating child m3u8 files as soon as the video starts playing
  • Each time a video is completed or the main url changes, child m3u8 files are checked and deleted.

The child m3u8 files are created as follows:

  • If viedo quality yoyo[vido-quality].m3u8

  • If video quality & audio quality yoyo[video-quality][audio-quality].m3u8

Support M3U8

  • #EXT-X-MEDIA
  • #EXT-X-STREAM-INF(not for ios)

Player Screenshot

Contributors

  • Min Si Thu
  • Ko Htut

MIT License

Copyright (c) 2020 Ko Htut (Ko Min Than Htut)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

You might also like...

Enjoy podcasts with Tsacdop! A podcast player built with flutter.

Enjoy podcasts with Tsacdop!  A podcast player built with flutter.

About Enjoy podcasts with Tsacdop. Tsacdop is a podcast player developed with Flutter, a clean, simply beautiful and friendly app, which is also free

Dec 31, 2022

A Material designed music player developed in Flutter.

A Material designed music player developed in Flutter.

Flutter Music Player UI A Material designed music player developed in Flutter. Getting Started This project is a starting point for a Flutter applicat

Jan 13, 2022

Flutter plugin for sound. Audio recorder and player.

Flutter plugin for sound. Audio recorder and player.

Sounds Sounds is a Flutter package allowing you to play and record audio for both the android and ios platforms. Sounds provides both a high level API

Dec 8, 2022

Flutter music player application. (仿网易云音乐)

Flutter music player application. (仿网易云音乐)

Flutter music player application. (仿网易云音乐)

Dec 30, 2022

A Flutter music player to play songs (mp3).

A Flutter music player to play songs (mp3).

🎧 🎧 Flutter Music A Flutter music player to play songs (mp3). Please star ⭐ the repo if you like what you see 😉 . 💻 Requirements Any Operating Sys

Dec 16, 2022

A simple music player made using Flutter.

A simple music player made using Flutter.

Music Player App This is a beautiful music player, developed using Flutter. Features Play any song included in Flutter Assets Background Play Beautifu

May 21, 2022

A flutter based music player for subsonic compatible music servers.

A flutter based music player for subsonic compatible music servers.

subsound A subsonic music player. Screenshots Release todo fix random breakage of player sometimes. seems like onStart is not working after background

Oct 6, 2022

A Music Player App made using Flutter.

A Music Player App made using Flutter.

A local music player app made using flutter. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

Dec 22, 2022

A Sound Player App For Flutter

A Sound Player App For Flutter

sound_player_app A Sound Player Flutter application.

Oct 7, 2022
Comments
  • Solve some bugs and typos

    Solve some bugs and typos

    I found many problems with the icons and style of the video player and I solved Also, I rewrite some variables and methods' names to make more sense when you read it.

    opened by Abdelazeem777 0
  • Ido

    Ido

    https://vkvd84.mycdn.me/video.m3u8?srcIp=73.32.45.82&expires=1657028562075&srcAg=SAFARI_MAC&fromCache=1&ms=45.136.22.174&mid=3427943589982&type=4&sig=ymWzjINN7o0&ct=8&urls=45.136.20.181&clientType=13&cmd=videoPlayerCdn&id=2499789392478

    opened by royasadi 0
  • yoyo_player not compatible with firebase_auth ^3.3.3

    yoyo_player not compatible with firebase_auth ^3.3.3

    Yoyo player is not installing please refer to the following error

    Main Context

    Because no versions of firebase_auth match >3.3.6 <4.0.0 and firebase_auth >=3.3.3 <3.3.4 depends on firebase_auth_web ^3.3.4, firebase_auth >=3.3.3 <3.3.4-∞ or >3.3.6 <4.0.0 requires firebase_auth_web ^3.3.4. And because firebase_auth >=3.3.4 <3.3.5 depends on firebase_auth_web ^3.3.5 and firebase_auth >=3.3.5 <3.3.6 depends on firebase_auth_web ^3.3.6, firebase_auth >=3.3.3 <3.3.6-∞ or >3.3.6 <4.0.0 requires firebase_auth_web ^3.3.4. And because firebase_auth 3.3.6 depends on firebase_auth_web ^3.3.7 which depends on http_parser ^4.0.0, firebase_auth ^3.3.3 requires http_parser ^4.0.0 or firebase_auth_web ^3.3.7. And because no versions of firebase_auth_web match >3.3.7 <4.0.0 and firebase_auth_web 3.3.7 depends on http_parser ^4.0.0, firebase_auth ^3.3.3 requires http_parser ^4.0.0. And because every version of yoyo_player depends on http ^0.12.2 which depends on http_parser >=0.0.1 <4.0.0, firebase_auth ^3.3.3 is incompatible with yoyo_player. So, because befa_app depends on both firebase_auth ^3.3.3 and yoyo_player any, version solving failed. pub get failed (1; So, because befa_app depends on both firebase_auth ^3.3.3 and yoyo_player any, version solving failed.)

    opened by ngeyen 0
  • depends on path_provider 2.0.0

    depends on path_provider 2.0.0

    Because yoyo_player 0.1.0 depends on path_provider ^1.6.21 and no versions of yoyo_player match >0.1.0 <0.2.0, yoyo_player ^0.1.0 requires path_provider ^1.6.21.
    So, because ... depends on both yoyo_player ^0.1.0 and path_provider ^2.0.0, version solving failed.
    
    opened by ghost 2
Releases(stable)
Owner
Ko Htut
Senior Mobile Developer
Ko Htut
Flutter-Music-Player - A simple music player app that let you play mp3 songs with some customization feature with a rich user interface

Flutter-Music-Player - A simple music player app that let you play mp3 songs with some customization feature with a rich user interface

Ashirbad Swain 6 Jan 4, 2023
The video player for Flutter with a heart of gold

chewie The video player for Flutter with a heart of gold. The video_player plugin provides low-level access to video playback. Chewie uses the video_p

Brian Egan 1.6k Jan 7, 2023
Better video player for Flutter, with multiple configuration options. Solving typical use cases!

Better video player for Flutter, with multiple configuration options. Solving typical use cases!

Jakub 732 Jan 2, 2023
Advanced video player based on video_player and Chewie for flutter

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

Ahmed Mahmoud 1 Dec 22, 2021
This is a flutter package of video player. it's a very simple and easy to use.

This is a flutter package of video player. it's a very simple and easy to use.

初冬 184 Nov 18, 2022
Audio player app in Flutter. Created as a tutorial for learning Flutter.

Music Player: create a simple Flutter music player app This is a Flutter project used during a series of articles on I should go to sleep. License Cop

Michele Volpato 11 May 5, 2022
Flutter radio player mod flutter 2.5

A Flutter plugin to play streaming audio content with background support and lock screen controls.

Ayotunde abdulsalam 1 Mar 14, 2022
Flutter plugin for sound. Audio recorder and player.

Flutter Sound user: your documentation is there The CHANGELOG file is here Overview Flutter Sound is a Flutter package allowing you to play and record

null 764 Jan 2, 2023
BlackHole - A Music Player App made with Flutter

BlackHole - A Music Player App made with Flutter

Ankit Sangwan 4.2k Jan 2, 2023
ZY Player TV app, developed with Flutter

ZY-Player-TV ZY Player TV app, developed with Flutter 1. 设置Flutter环境 1.1 按着https://flutter.dev/docs/get-started/install/windows 页面的指导,先安装好Flutter和Andr

null 165 Dec 23, 2022