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.
To use Video Player Media Kit in your application, follow the steps below:
- Setup
Everything ready.
System shared libraries from distribution specific user-installed packages are used by-default. You can install these as follows.
sudo apt install libmpv-dev mpv
There are other ways to bundle these within your app package e.g. within Snap or Flatpak. Few examples:
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
^
- 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.4 # iOS package for video native libraries.
- Just add this package in case you set androidUseMediaKit to true in initVideoPlayerMediaKitIfNeeded
dependencies:
...
media_kit_libs_android_video: ^1.0.4 # 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.11
- 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.