패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소nikolaydymura/flutter_gpu_video_filters

flutter_gpu_video_filters

nikolaydymura/flutter_gpu_video_filters open-source repository details.

flutter_gpu_video_filters 프로젝트 이미지
스타
16
포크
5
최근 푸시(UTC)
2025. 6. 17.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

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

Nick Dymura GitHub avatar
GitHub 작성자

Nick Dymura ↗

언어DartGLSLKotlinJavaShell

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 9 개

  • flutter{"sdk":"flutter"}
  • plugin_platform_interface^2.1.8
  • flutter_gpu_filters_interface^0.0.18
  • collection^1.18.0
  • flutter_test개발 의존성{"sdk":"flutter"}
  • pigeon개발 의존성^25.3.0
  • flutter_lints개발 의존성^5.0.0
  • mockito개발 의존성^5.4.4
  • build_runner개발 의존성^2.4.8

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗