1f6a66c618
Signed-off-by: Makoto Sato <makoto.sato@atmark-techno.com>
video_player_elinux
The implementation of the Video Player plugin for flutter elinux. APIs are designed to be API compatible with the the official video_player.
Required libraries
This plugin uses GStreamer internally.
$ sudo apt install libglib2.0-dev
$ sudo apt install libgstreamer1.0-dev
# Install as needed.
$ sudo apt install libgstreamer-plugins-base1.0-dev \
gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav
Usage
pubspec.yaml
dependencies:
video_player: ^2.4.7
video_player_elinux:
git:
url: https://github.com/sony/flutter-elinux-plugins.git
path: packages/video_player
ref: main
Source code
Import video_player in your Dart code:
import 'package:video_player/video_player.dart';
Customize for your target devices
If you this plugin on your target devices, you will need to customize the pipeline in the source file.So, replace the videoconvert element with a H/W accelerated element of your target device to perform well.
default:
playbin uri= video-sink="videoconvert ! video/x-raw,format=RGBA ! fakesink"
e.g. customization for i.MX 8M platforms:
playbin uri= video-sink="imxvideoconvert_g2d ! video/x-raw,format=RGBA ! fakesink"
Enable GstEGLImage
If GstEGLImage is enabled on your target device, adding the following code to <user's project>/elinux/CMakeLists.txt may improve playback performance.
add_definitions(-DUSE_EGL_IMAGE_DMABUF)
set(USE_EGL_IMAGE_DMABUF "on")
