Skip to content

liuchuancong/better_player_plus

 
 

Repository files navigation

Better Player Plus

Need anything Flutter related? Reach out on LinkedIn

Pub License Platform

Advanced video player for Flutter, based on video_player and inspired by Chewie and Better Player. It solves many common use cases out of the box and is easy to integrate.

Features

  • ✔️ Fixed common playback bugs
  • ✔️ Advanced configuration options
  • ✔️ Refactored, customizable player controls (Material & Cupertino)
  • ✔️ Playlists
  • ✔️ ListView/feeds autoplay support
  • ✔️ Subtitles: SRT, WebVTT (HTML tags), HLS subtitles, multiple tracks
  • ✔️ HTTP headers support
  • ✔️ BoxFit for video
  • ✔️ Playback speed control
  • ✔️ HLS (tracks, segmented subtitles, audio tracks)
  • ✔️ DASH (tracks, subtitles, audio tracks)
  • ✔️ Alternate resolutions
  • ✔️ Caching
  • ✔️ Notifications
  • ✔️ Picture-in-Picture
  • ✔️ DRM (token, Widevine, FairPlay via EZDRM)

Installation

Add the dependency in your pubspec.yaml:

dependencies:
  better_player_plus: ^1.1.2

Import the package:

import 'package:better_player_plus/better_player_plus.dart';

Quick start

Minimal example showing a network source:

final dataSource = BetterPlayerDataSource(
  BetterPlayerDataSourceType.network,
  'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
);

final controller = BetterPlayerController(
  const BetterPlayerConfiguration(),
  betterPlayerDataSource: dataSource,
);

// In your widget tree
BetterPlayer
(
controller
:
controller
);

Documentation

Important information

This package is actively evolving. Breaking changes may appear between versions. Contributions are welcome — please open issues or pull requests.

License

Apache 2.0 — see LICENSE.

Recent Updates (v1.1.2)

  • Code Quality Improvements: Fixed missing type annotations and improved static analysis compliance
  • Project Metadata: Updated iOS podspec with proper project information and version consistency
  • Dependency Management: Fixed example app dependency version constraints for better stability
  • Documentation: Enhanced project documentation and version consistency across all files

Previous Updates (v1.1.1)

  • iOS Migration: Complete migration from Objective-C to Swift for better maintainability and modern iOS development practices
  • Android Media3 1.8.0: Full migration to the latest Android Media3 player with enhanced performance and features
  • Deprecated API Fixes: Removed deprecated GLKit dependency and updated UIApplication.keyWindow usage
  • Improved Compatibility: Enhanced iOS 13+ support with proper backward compatibility

Credits

This work builds on the great foundations of Chewie and the original Better Player. Thanks to all contributors of those projects.

Special Thanks: This project benefited greatly from Cursor AI assistance during the iOS Objective-C to Swift migration process.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 73.7%
  • Kotlin 12.4%
  • Swift 10.7%
  • Shell 2.7%
  • Other 0.5%