SunnatilloShavkatov/better_player_plus
Flutter용 개선된 비디오 플레이어로 다양한 구성 옵션을 제공합니다. 일반적인 사용 사례를 해결합니다!
- Stars
- 72
- Forks
- 159
- 최근 푸시(UTC)
- 2026. 9. 4.
- 프로젝트 상태
- 활성
사용 중인 의존성
의존성 목록 8 개
- flutter
{"sdk":"flutter"} - flutter_localizations
{"sdk":"flutter"} - collection
^1.19.1 - path_provider
^2.1.6 - wakelock_plus
^1.7.0 - flutter_widget_from_html_core
^0.17.3 - flutter_test개발 의존성
{"sdk":"flutter"} - analysis_lints개발 의존성
^1.0.9
원본 README
아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
README 펼치기 / 접기
Better Player Plus
Need anything Flutter related? Reach out on LinkedIn
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.
| https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/1.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/2.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/3.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/4.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/5.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/6.png |
| https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/7.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/8.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/9.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/10.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/11.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/12.png |
| https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/13.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/14.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/15.png | https://raw.githubusercontent.com/jhomlala/betterplayer/master/media/16.png |
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.3.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
- Installation notes:
doc/install.md - Example application:
example/
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.2.0)
- SDK Update: Dart SDK
>=3.11.0, Flutter SDK>=3.41.0, Android Media31.10.0 - iOS Fixes: Preserved playback speed across seek/pause/resume; fixed AVPlayer aspect ratio issues; added wakelock (disable auto-sleep) support
- Audio: Fixed audio track override not being cleared before applying a new one; improved HLS default audio source selection
- Controls: Fixed
controlsVisibilityStreamfeedback loop and auto-hide emit behaviour - Code Quality: Zero
dart analyzeissues — all errors, warnings and info resolved
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.