video_player_media_kit 0.0.20 video_player_media_kit: ^0.0.20 copied to clipboard
this package allows video_player to work across platforms by using media_kit
Video Player Media Kit #
Video Player Media Kit is a platform interface for video player using media_kit to work on Windows and Linux and macos. This interface allows you to play videos seamlessly in your flutter application.
Note: this package allows video_player to work across platforms
- video_player for Android, iOS, and web.
- media_kit for desktop platforms.
How to use #
To use Video Player Media Kit in your application, follow the steps below:
- Setup
Windows #
Everything ready.
Linux #
System shared libraries from distribution specific user-installed packages are used by-default. You can install these as follows.
Ubuntu / Debian
sudo apt install libmpv-dev mpv
Packaging
There are other ways to bundle these within your app package e.g. within Snap or Flatpak. Few examples:
Note: macos is not tested (if you have any problems open an issue) #
macOS #
Everything ready.
The minimum supported macOS version is 11.0,set MACOSX_DEPLOYMENT_TARGET = 11.0 macos\Runner.xcodeproj\project.pbxproj
Also, during the build phase, the following warnings are not critical and cannot be silenced:
#import "Headers/media_kit_video-Swift.h"
^
/path/to/media_kit/media_kit_test/build/macos/Build/Products/Debug/media_kit_video/media_kit_video.framework/Headers/media_kit_video-Swift.h:270:31: warning: 'objc_ownership' only applies to Objective-C object or block pointer types; type here is 'CVPixelBufferRef' (aka 'struct __CVBuffer *')
- (CVPixelBufferRef _Nullable __unsafe_unretained)copyPixelBuffer SWIFT_WARN_UNUSED_RESULT;
# 1 "<command line>" 1
^
<command line>:20:9: warning: 'POD_CONFIGURATION_DEBUG' macro redefined
#define POD_CONFIGURATION_DEBUG 1 DEBUG=1
^
#define POD_CONFIGURATION_DEBUG 1
^
iOS (replace original video_player with media_kit one) #
- The minimum supported iOS version is 13.0,set IPHONEOS_DEPLOYMENT_TARGET to 13.0 in
ios\Runner.xcodeproj\project.pbxproj
- Just add this package in case you set iosUseMediaKit to true in initVideoPlayerMediaKitIfNeeded
dependencies:
...
media_kit_libs_ios_video: ^1.0.5 # iOS package for video native libraries.
Android (replace original video_player with media_kit one) #
- Just add this package in case you set androidUseMediaKit to true in initVideoPlayerMediaKitIfNeeded
dependencies:
...
media_kit_libs_android_video: ^1.2.0 # Android package for video native libraries.
- Add the Video Player Media Kit dependency in your
pubspec.yaml
file:
dependencies:
video_player_media_kit: ^0.0.20
- Import the package in your Dart code
import 'package:video_player_dart_vlc/video_player_media_kit.dart';
- Initialize the Video Player Media Kit interface in the main function of your app
void main() {
initVideoPlayerMediaKitIfNeeded(); //parameter iosUseMediaKit can be used to make ios use media_kit instead of video_player
runApp(MyApp());
}
now video_player will work on any platform.