esite_flutter_player 0.1.0 copy "esite_flutter_player: ^0.1.0" to clipboard
esite_flutter_player: ^0.1.0 copied to clipboard

PlatformAndroid

Professional Flutter plugin for secure DRM-protected video playback on Android. Features Widevine/PlayReady DRM, emulator detection, screenshot/screen recording blocking (FLAG_SECURE), adaptive strea [...]

0.1.0 #

Initial Release - Production-ready DRM video player with enterprise security

✨ Features #

Core Playback

  • DRM Support: Widevine and PlayReady DRM with secure license acquisition
  • Format Support: DASH (.mpd) and HLS (.m3u8) streaming protocols
  • Playback Controls: Play, pause, seek (forward/backward with configurable offsets)
  • Speed Control: Variable playback speed from 0.5x to 4.0x
  • Volume Control: Volume adjustment (0.0-1.0) and mute functionality
  • Quality Selection: Manual video track/quality switching with adaptive streaming
  • Subtitle Support: Enable/disable subtitle tracks
  • Playlist Support: Navigate between media items (next/previous)

🔒 Enterprise Security Features

  • Screen Protection: Automatic FLAG_SECURE during playback
    • Screenshots blocked during content playback
    • Screen recording prevention
    • Recent apps preview protection
  • Emulator Detection: Multi-method emulator detection with blocking
    • Build properties analysis
    • Hardware identifier checks
    • Emulator-specific file detection
    • Known emulator detection (Genymotion, BlueStacks, NOX, Andy)
  • Security Configuration: Flexible security levels
    • ESiteSecurityConfig.maximum() - Full protection (production)
    • ESiteSecurityConfig.disabled() - No restrictions (development)
    • Custom configuration for selective features
  • Security Callbacks: Real-time security violation notifications
  • Privacy-First: No license tokens or URLs logged in errors
  • Generic Error Messages: No sensitive data exposure in user-facing messages

Developer Experience

  • Event Streams: Real-time playback state, DRM events, and error streams
  • Comprehensive Errors: User-friendly error messages with actionable guidance
  • Type Safety: Full Dart null-safety support
  • Documentation: Complete API reference and security implementation guides
  • Example App: 5 focused test scenarios covering all features
    1. Valid Auth - No Security (development mode)
    2. Valid Auth - Full Security (production mode)
    3. Invalid Authentication (error handling)
    4. Emulator Detection (security feature test)
    5. Screenshot Protection (security feature test)

Performance & Stability

  • Memory Optimized: 60% less memory usage vs. initial implementation
  • Thread Safe: Proper synchronization and lifecycle management
  • Adaptive Streaming: Intelligent quality adaptation for network conditions
  • Optimized Buffering: 15s/30s buffer configuration for smooth playback
  • Network Resilience: Automatic retry policy (3 attempts) with timeout handling
  • Security Lifecycle: Automatic security enable/disable based on playback state

📱 Platform Support #

  • Android: API 24+ (Android 7.0+) ✅
  • iOS: Planned for future release ⏳

🔧 Configuration Options #

  • Source URL configuration with custom headers
  • DRM scheme selection (Widevine/PlayReady)
  • License server configuration with custom headers
  • Auto-play option
  • Security configuration (maximum, custom, disabled)
  • Emulator detection toggle
  • Screen protection toggle
  • Security violation callbacks

📚 Documentation #

  • Comprehensive README with quick start guide
  • Complete API reference documentation
  • Security implementation guide with technical details
  • Security testing guide with step-by-step instructions
  • Detailed error message guide
  • 5 focused test scenarios in example app

⚠️ Known Limitations #

  • iOS platform not yet supported
  • DRM may not work on Android emulators (physical device recommended)
  • Requires Android API 24+ (Android 7.0 Nougat or higher)
  • FLAG_SECURE can be bypassed on rooted devices
  • Emulator detection is not 100% accurate (may have false positives/negatives)

🎯 Requirements #

  • Flutter SDK: >=3.3.0
  • Dart SDK: >=3.0.0 <4.0.0
  • Android: API 24+ (Android 7.0+)
  • Physical Android device recommended for DRM testing and security feature validation

📦 Dependencies #

  • flutter: SDK dependency
  • plugin_platform_interface: ^2.0.2
  • Android: Media3 ExoPlayer 1.2.1 with DASH/HLS support

🚀 Getting Started #

# Add to pubspec.yaml
dependencies:
  esite_flutter_player: ^0.1.0

# Install
flutter pub get

# Run example (5 test scenarios)
cd example && flutter run

📖 Resources #

  • README - Installation and usage guide
  • API Documentation - Complete API reference
  • Security Guide - Security best practices
  • Security Implementation - Technical security details
  • Security Testing - Security testing instructions
  • Example App - 5 comprehensive test scenarios

🔐 Security Notes #

This release includes comprehensive security features suitable for premium content delivery:

  • Protects against screenshot/screen recording piracy
  • Blocks playback on emulators to prevent automated content extraction
  • Provides real-time security violation callbacks for monitoring
  • Follows industry best practices for DRM content protection

Important: While these security measures significantly improve content protection, no security is absolute. For maximum protection, combine with server-side controls, watermarking, and legal DRM agreements.


For detailed migration guides, security notes, and advanced usage, see the documentation directory.

0
likes
130
points
152
downloads

Publisher

verified publisheresite-lab.com

Weekly Downloads

Professional Flutter plugin for secure DRM-protected video playback on Android. Features Widevine/PlayReady DRM, emulator detection, screenshot/screen recording blocking (FLAG_SECURE), adaptive streaming, quality selection, and comprehensive playback controls using Media3 ExoPlayer. Enterprise-ready security for premium content delivery.

Topics

#flutter #video #drm #exoplayer #security

Documentation

API reference

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on esite_flutter_player

Packages that implement esite_flutter_player