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

패키지 상세v0.0.20

flutter_gpu_video_filters

OpenGL 프래그먼트 샘플러 기반의 이미지 필터 및 유용한 비디오 미리보기 위젯

Android
30일 다운로드
154
좋아요
27
Pub 점수
140

패키지 설치

flutter pub add flutter_gpu_video_filters

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

OpenGL 프래그먼트 쉐이더를 사용하여 GPU 가속 비디오 필터링을 가능하게 하는 Flutter 패키지입니다. Android에서 실시간 비디오 처리를 위한 사전 구축된 이미지 필터 및 사용자 정의 가능한 미리보기 위젯을 제공합니다. 고성능 시각 효과가 필요한 비디오 애플리케이션 개발자를 위해 설계되었으며, 네이티브 OpenGL 렌더링을 활용하여 부드러운 성능을 보장합니다. 최소한의 지연 시간으로 동적 비디오 변환을 필요로 하는 앱에 이상적입니다.

사용 사례

  • 카메라 앱에서의 실시간 비디오 효과
  • 필터가 있는 라이브 비디오 스트리밍
  • GPU 가속 기능을 갖춘 비디오 편집 도구
  • 인터랙티브 미디어 애플리케이션
  • 크리에이티브 콘텐츠 생성 앱

주요 기능

  • OpenGL 기반의 프래그먼트 색상 처리기
  • 실시간 비디오 미리보기 위젯
  • 안드로이드 전용 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

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.