csongorkeller / flutter_vlc_player

Flutter VLC player inside widget

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VLC Player Plugin

Flutter plugin to view local videos and videos from the network. Work example:

Getting Started

iOS integration: For iOS you needed to add this two rows into Info.plist file (see example for details):

<key>io.flutter.embedded_views_preview</key>
<true/>

To start using the plugin, copy this code or follow the example:

import 'package:flutter/material.dart';
import 'package:flutter_vlc_player/vlc_player.dart';
import 'package:flutter_vlc_player/vlc_player_controller.dart';

class ExampleVideo extends StatefulWidget {
  @override
  _ExampleVideoState createState() => _ExampleVideoState();
}

class _ExampleVideoState extends State<ExampleVideo> {
  final String urlToStreamVideo = 'http://213.226.254.135:91/mjpg/video.mjpg';
  final VlcPlayerController controller = VlcPlayerController();
  final int playerWidth = 640;
  final int playerHeight = 360;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: VlcPlayer(
        defaultWidth: playerWidth,
        defaultHeight: playerHeight,
        url: urlToStreamVideo,
        controller: controller,
        placeholder: Center(child: CircularProgressIndicator()),
      ),
    );
  }
}

To take screenshot from video just follow next code:

Uint8List image = await controller.makeSnapshot();

for release build on andorid set

release {
            signingConfig signingConfigs.release
            minifyEnabled true
            useProguard true
            proguardFiles getDefaultProguardFile(
                    'proguard-android-optimize.txt'),
                    'proguard-rules.pro'
        }

and also the proguard rule:

-keep class org.videolan.libvlc.** { *; } 

Current issues

Current issues list is here.
Found a bug? Open the issue.

About

Flutter VLC player inside widget

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Java 67.5%Language:Dart 15.4%Language:Objective-C 10.5%Language:Ruby 5.3%Language:Shell 1.3%