All Projects → Windsander → Android Ultimategpuimage

Windsander / Android Ultimategpuimage

provide video record method with filter and other cool staff. Yes, It's a full functional video recorder

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Android Ultimategpuimage

Gpuvideo Android
This library apply video filter on generate an Mp4 and on ExoPlayer video and Video Recording with Camera2.
Stars: ✭ 403 (+114.36%)
Mutual labels:  gpuimage, video-recording, filter
Ios tips
iOS的一些示例,持续更新中:1、AVFoundation 高仿微信相机拍摄和编辑 2、AVFoundation 人脸检测、实时滤镜、音视频编解码、GPUImage框架的使用等音视频相关内容 3、OpenGLES 4、LeetCode算法练习 5、iOS Crash防护和APM监控 6、WKWebView相关的内容 等........
Stars: ✭ 896 (+376.6%)
Mutual labels:  gpuimage, video-recording, filter
Ios Gpuimage Plus
GPU accelerated image filters for iOS, based on OpenGL.
Stars: ✭ 217 (+15.43%)
Mutual labels:  gpuimage, filter
Ios Nbuimagepicker
Modular image picker with Simulator-compatible AVFondation camera, assets library, filters and more.
Stars: ✭ 196 (+4.26%)
Mutual labels:  gpuimage, filter
Android Instagram Filter
a android image filter like instagram
Stars: ✭ 360 (+91.49%)
Mutual labels:  gpuimage, filter
React Native Gpuimage
GPUImage Component in React Native
Stars: ✭ 45 (-76.06%)
Mutual labels:  gpuimage, filter
RecordVideo
视频录制 以前在github上找的项目 稍微改了下 可以直接使用 demo是以module的形式引入比较方便
Stars: ✭ 43 (-77.13%)
Mutual labels:  video-recording, record
Ltvideorecorder
A demo project demonstrating how to add filter, drawing, and text to a video
Stars: ✭ 16 (-91.49%)
Mutual labels:  video-recording, filter
Bbmetalimage
A high performance Swift library for GPU-accelerated image/video processing based on Metal.
Stars: ✭ 677 (+260.11%)
Mutual labels:  gpuimage, filter
Librestreaming
Android real-time effect filter rtmp streaming library.using Mediacodec HWencoding&librtmp stream.
Stars: ✭ 856 (+355.32%)
Mutual labels:  gpuimage, filter
Gpuimage X
A Cross-platform (for both Android & iOS) Framework for GPU-based Filters, Video and Image Processing.
Stars: ✭ 154 (-18.09%)
Mutual labels:  gpuimage, filter
Shuffle
Categorize, sort, and filter a responsive grid of items
Stars: ✭ 2,170 (+1054.26%)
Mutual labels:  filter
Pegparser
💡 Build your own programming language! A C++17 PEG parser generator supporting parser combination, memoization, left-recursion and context-dependent grammars.
Stars: ✭ 164 (-12.77%)
Mutual labels:  filter
Muuri React
The layout engine for React
Stars: ✭ 163 (-13.3%)
Mutual labels:  filter
Mobile Toolkit
📱 Shell scripts for Android and iOS device management
Stars: ✭ 161 (-14.36%)
Mutual labels:  record
Rdvideoeditsdk For Ios
iOS Video Edit SDK; iOS Video Edit SDK: Video Cut, Video Join, Video Watermark, Video Subtitle, Video Rotate...
Stars: ✭ 182 (-3.19%)
Mutual labels:  video-recording
View Effects
Apply custom effects on view backgrounds
Stars: ✭ 176 (-6.38%)
Mutual labels:  filter
Logcool
A high performance and near real time log collector.
Stars: ✭ 161 (-14.36%)
Mutual labels:  filter
Kalman Filter
Kalman Filter implementation in Python using Numpy only in 30 lines.
Stars: ✭ 161 (-14.36%)
Mutual labels:  filter
Coveragechecker
Allows old code to use new standards
Stars: ✭ 159 (-15.43%)
Mutual labels:  filter

Android-UltimateGPUImage

README: 中文版

License Download

provide video record function with filter and other cool staff.

Idea from: android-gpuimage,which is aim to be iOS GPUImage framework in Android device.

The Elder said:

Goal is to have something as similar to GPUImage as possible. Vertex and fragment shaders are exactly the same. That way it makes it easier to port filters from GPUImage iOS to Android.

Because android-gpuimage is deprecated so long, that cause the original project is not adjust today's quest. This project deal some bug and make more effective than the elder one. Add additional powerful recorder module, which is based on design idea of Module Partition. So, may the GPUImage be with us =p.

Filter Index

Want to see what filter the library already provide?

You should take a look at filter index with:

Requirements

  • Android 4.3.1 or higher (OpenGL ES 3.0)

Usage

Gradle

Make sure that you run the clean target when using maven.

gradle clean assemble

Gradle dependency

repositories {
    jcenter()
}

dependencies {
    compile 'cn.co.willow.android.ultimate.gpuimage:library:1.0.3'
}

Sample Code

how to use recorder module, in a simple way.

if you want to use this lib to record or take picture:

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);

    // prepare camera preview, and bind to recorder manager.
    mRecorderViews = (FilterRecoderView) findViewById(R.id.vp_video_recorder_gl);
    mRecordManager = new VideoRecordManager(context, mRecorderViews);

    // u can use this method to set ur own config rather than default one.(this is not necessary)
    mRecordManager.setAVConfig(videoConfig, audioConfig);

    // and now, we can start the camera
    mRecordManager.openCamera();

    // if u want use filter, this method can be called in any place
    mRecordManager.setFilter(/*filter*/);

    // when record start
    mRecordManager.startRecord(/*videoSaveFile*/);

    // when record finish
    mRecordManager.stopRecord();

    // if u don't want to use camera anymore.
    mRecordManager.releaseCamera();
}

if you just want to operate an image, you can do like this:

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);

    // prepare surface.
    mRecorderViews = (FilterRecoderView) findViewById(R.id.vp_video_recorder_gl);

    // prepare the filter you want to use
    final GPUImageContrastFilter contrastFilter = new GPUImageContrastFilter(1.0f);
    contrastFilter.setContrast(contrastValue);

    // bind to PureImageManager and render
    PureImageManager.init(context)
                    .setGLSurfaceView(mRecorderViews)
                    .setScaleType(GPUImage.ScaleType.CENTER_INSIDE)
                    .setImage(mUri)
                    .setFilter(contrastFilter)
                    .requestRender();
}

License

Copyright 2017-2020 Willow.li

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].