搜索插件、代码仓与 APP 分类

插件详情v0.0.20

flutter_gpu_video_filters

基于 OpenGL 片段着色器的图像滤镜,搭配有用的视频预览小部件

Android
近 30 天下载
154
喜欢数
27
Pub 分数
140

安装插件

flutter pub add flutter_gpu_video_filters

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个Flutter包,利用OpenGL片段着色器实现GPU加速的视频滤镜。它提供了一套预构建的图像滤镜和可自定义的预览组件,可在Android上实现实时视频处理。专为寻求视频应用中高性能视觉效果的开发者设计,该包利用原生OpenGL渲染以确保流畅性能。该包非常适合需要低延迟动态视频转换的应用。

适合场景

  • 相机应用中的实时视频效果
  • 带有滤镜的实时视频流
  • 具有GPU加速的视频编辑工具
  • 互动媒体应用
  • 创意内容创作应用

主要特点

  • 基于 OpenGL 的片段着色器
  • 实时视频预览小部件
  • 仅限 Android 的 GPU 优化
  • 预构建的过滤器预设
  • 自定义着色器集成支持

适合对象

  • 开发以视频为中心的 Flutter 应用的开发者
  • 需要低延迟视频处理的应用程序
  • 专注于视觉效果和滤镜的项目
  • Android优先的多媒体应用
  • 对性能敏感的视频渲染

使用建议

  • 仅限Android平台
  • 需要了解 OpenGL 着色器
  • 可能具有更高的内存使用量
  • 不适用于 iOS 或网页
  • 自定义着色器开发中的潜在复杂性

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Flutter

Pub codecov build Star on Github License: MIT

A flutter package for Android for applying OpenGL filters to video.

Usage

How to generate and use a bunch of filters
How to add custom filters
Export & save video
import 'package:flutter_gpu_video_filters/flutter_gpu_video_filters.dart';

final inputSource = AssetInputSource('demo.mp4');
final output = File('result.mp4');
final configuration = GPUGrayScaleConfiguration();
final processStream =  configuration.exportVideoFile(VideoExportConfig(AssetInputSource(asset), output));
await for (final progress in processStream) {
  debugPrint('Exporting file ${(progress * 100).toInt()}%');
}
GPUVideoNativePreview example
import 'package:flutter_gpu_video_filters/flutter_gpu_video_filters.dart';

class PreviewPage extends StatefulWidget {
  const PreviewPage({Key? key}) : super(key: key);

  @override
  State<PreviewPage> createState() => _PreviewPageState();
}

class _PreviewPageState extends State<PreviewPage> {
  late GPUVideoPreviewController configuration;
  late final GPUGrayScaleConfiguration controller;
  late final GPUVideoPreviewParams previewParams;
  bool paramsReady = false;

  @override
  void initState() {
    super.initState();
    _prepare().whenComplete(() {
      setState(() {});
    });
  }

  Future<void> _prepare() async {
    configuration = GPUGrayScaleConfiguration();
    previewParams = await GPUVideoPreviewParams.create(configuration);
    paramsReady = true;
  }

  @override
  void dispose() {
    controller.dispose();
    configuration.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return paramsReady
        ? GPUVideoNativePreview(
      params: previewParams,
      configuration: configuration,
      onViewCreated: (controller, outputSizeStream) async {
        this.controller = controller;
        await this.controller.setVideoAsset(_assetPath);
        await for (final size in outputSizeStream) {
          setState(() {});
        }
      },
    )
        : const Offstage();
  }
}

Additional information

Support status of GPUImage for Android shaders
Status Name Display Name
:white_check_mark: GPU3x3ConvolutionConfiguration 3x3 Convolution
:white_check_mark: GPUAddBlendConfiguration Add Blend
:white_check_mark: GPUAlphaBlendConfiguration Alpha Blend
:x: GPUBilateralConfiguration Bilateral
:x: GPUBoxBlurConfiguration Box Blur
:white_check_mark: GPUBrightnessConfiguration Brightness
:white_check_mark: GPUBulgeDistortionConfiguration Bulge Distortion Configuration
:white_check_mark: GPUCGAColorspaceConfiguration CGA Colorspace
:white_check_mark: GPUChromaKeyBlendConfiguration Chroma Key Blend
:white_check_mark: GPUColorBalanceConfiguration Color Balance
:white_check_mark: GPUColorBlendConfiguration Color Blend
:white_check_mark: GPUColorBurnBlendConfiguration Color Burn Blend
:white_check_mark: GPUColorDodgeBlendConfiguration Color Dodge Blend
:white_check_mark: GPUColorInvertConfiguration Color Invert
:white_check_mark: GPUColorMatrixConfiguration Color Matrix
:white_check_mark: GPUContrastConfiguration Contrast
:white_check_mark: GPUCrosshatchConfiguration Crosshatch
:white_check_mark: GPUDarkenBlendConfiguration Darken Blend
:white_check_mark: GPUDifferenceBlendConfiguration Difference Blend
:white_check_mark: GPUDirectionalSobelEdgeDetectionConfiguration Directional Sobel Edge Detection
:white_check_mark: GPUDissolveBlendConfiguration Dissolve Blend
:white_check_mark: GPUDivideBlendConfiguration Divide Blend
:white_check_mark: GPUEmbossConfiguration Emboss
:white_check_mark: GPUExposureConfiguration Exposure
:white_check_mark: GPUFalseColorConfiguration False Color
:white_check_mark: GPUGammaConfiguration Gamma
:x: GPUGaussianBlurConfiguration Gaussian Blur
:white_check_mark: GPUGlassSphereConfiguration Glass Sphere
:white_check_mark: GPUGrayScaleConfiguration Gray Scale
:white_check_mark: GPUHALDLookupTableConfiguration HALD Lookup Table
:white_check_mark: GPUHalftoneConfiguration Halftone
:white_check_mark: GPUHardLightBlendConfiguration Hard Light Blend
:white_check_mark: GPUHazeConfiguration Haze
:white_check_mark: GPUHighlightShadowConfiguration Highlight Shadow
:white_check_mark: GPUHueBlendConfiguration Hue Blend
:white_check_mark: GPUHueConfiguration Hue
:white_check_mark: GPUInvertConfiguration Invert
:white_check_mark: GPUKuwaharaConfiguration Kuwahara
:white_check_mark: GPULaplacianConfiguration Laplacian
:white_check_mark: GPULevelsConfiguration Levels
:white_check_mark: GPULightenBlendConfiguration Lighten Blend
:white_check_mark: GPULinearBurnBlendConfiguration Linear Burn Blend
:white_check_mark: GPULuminanceThresholdConfiguration Luminance Threshold
:white_check_mark: GPULuminanceConfiguration Luminance
:white_check_mark: GPULuminosityBlendConfiguration Luminosity Blend
:white_check_mark: GPUMonochromeConfiguration Monochrome
:white_check_mark: GPUMultiplyBlendConfiguration Multiply Blend
:white_check_mark: GPUNonMaximumSuppressionConfiguration Non Maximum Suppression
:white_check_mark: GPUNormalBlendConfiguration Normal Blend
:interrobang: GPUOpacityConfiguration Opacity
:white_check_mark: GPUOverlayBlendConfiguration Overlay Blend
:white_check_mark: GPUOverlayConfiguration Overlay
:white_check_mark: GPUPixelationConfiguration Pixelation
:white_check_mark: GPUPosterizeConfiguration Posterize
:white_check_mark: GPURGBConfiguration RGB
:white_check_mark: GPUSaturationBlendConfiguration Saturation Blend
:white_check_mark: GPUSaturationConfiguration Saturation
:white_check_mark: GPUScreenBlendConfiguration Screen Blend
:white_check_mark: GPUSepiaToneConfiguration Sepia Tone
:white_check_mark: GPUSepiaConfiguration Sepia
:white_check_mark: GPUSharpenConfiguration Sharpen
:white_check_mark: GPUSobelThresholdConfiguration Sobel Threshold
:white_check_mark: GPUSoftLightBlendConfiguration Soft Light Blend
:white_check_mark: GPUSolarizeConfiguration Solarize
:white_check_mark: GPUSourceOverBlendConfiguration Source Over Blend
:white_check_mark: GPUSphereRefractionConfiguration Sphere Refraction
:white_check_mark: GPUSquareLookupTableConfiguration Square Lookup Table
:white_check_mark: GPUSubtractBlendConfiguration Subtract Blend
:white_check_mark: GPUSwirlConfiguration Swirl
:white_check_mark: GPUToneCurveConfiguration Tone Curve
:white_check_mark: GPUToonConfiguration Toon
:white_check_mark: GPUVibranceConfiguration Vibrance
:white_check_mark: GPUVignetteConfiguration Vignette
:white_check_mark: GPUWatermarkConfiguration Watermark
:white_check_mark: GPUWeakPixelInclusionConfiguration Weak Pixel Inclusion
:white_check_mark: GPUWhiteBalanceConfiguration WhiteBalance
:white_check_mark: GPUZoomBlurConfiguration Zoom Blur

Examples

Maintainers

所属分类

依赖

依赖清单 3 项

  • collection^1.18.0
  • flutter_gpu_filters_interface^0.0.18
  • plugin_platform_interface^2.1.8

源码仓库

使用此插件的项目

暂无相关数据。