Better Player Plus

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.

Libraries

better_player_plus