All Projects → szt243660543 → NVRecoder

szt243660543 / NVRecoder

Licence: other
It is a lite library to render multiple videos\camera and recoder a new video and each video can change filter.

Programming Languages

objective c
16641 projects - #2 most used programming language
GLSL
2045 projects
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to NVRecoder

Yasea
RTMP live streaming client for Android
Stars: ✭ 4,557 (+25216.67%)
Mutual labels:  shader, opengles
Mp4composer Android
This library generate an Mp4 movie using Android MediaCodec API and apply filter, scale, trim, transcode, crop, timeScale, mute and rotate Mp4.
Stars: ✭ 674 (+3644.44%)
Mutual labels:  shader, opengles
AndroidGLKit
AndroidGLKit provides OpenGL ES 2.0 boilerplate codes for Android.
Stars: ✭ 22 (+22.22%)
Mutual labels:  shader, opengles
LFLiveKit-ReplayKit
A ReplayKit Version
Stars: ✭ 46 (+155.56%)
Mutual labels:  recoder
BBearEditor-2.0
My own 3D engine & editor in order to learn graphics algorithms and game engine architecture.
Stars: ✭ 32 (+77.78%)
Mutual labels:  shader
rvc
A 32-bit RISC-V emulator in a shader (and C)
Stars: ✭ 491 (+2627.78%)
Mutual labels:  shader
reverse-enginnering
open source repository
Stars: ✭ 29 (+61.11%)
Mutual labels:  recoder
dxbc reader
easy to read hlsl asm shader code. parse dxbc text and export hlsl like for read
Stars: ✭ 194 (+977.78%)
Mutual labels:  shader
objmc
python script to convert .OBJ files into Minecraft, rendering them in game with a core shader.
Stars: ✭ 59 (+227.78%)
Mutual labels:  shader
HatchingShader
Hatching shader implementation for Unity
Stars: ✭ 80 (+344.44%)
Mutual labels:  shader
Open4Es-Shader-Android
This is a shader can running on Minecraft Java Edition For Phone project which uses GL4ES
Stars: ✭ 149 (+727.78%)
Mutual labels:  shader
ProcessingStuff
Various pretty-ish Processing sketches by Odditica. About 50% shaders.
Stars: ✭ 164 (+811.11%)
Mutual labels:  shader
ElectricSheep WebGL
WebGL Electric Sheep Renderer
Stars: ✭ 14 (-22.22%)
Mutual labels:  shader
image-editor-effects
💎 A WebGL example of image adjustment / effects shaders found in Photoshop, other image editors and game engines.
Stars: ✭ 68 (+277.78%)
Mutual labels:  shader
black hole shader
This project provides a WebGL2 shader to render a non-rotating black hole with an accretion disc and background stars.
Stars: ✭ 69 (+283.33%)
Mutual labels:  shader
Divinity-Origin-Sin-2
Implement the famous game shaders
Stars: ✭ 43 (+138.89%)
Mutual labels:  shader
URP Water
Water shader in unity urp.
Stars: ✭ 19 (+5.56%)
Mutual labels:  shader
2dset-jelly-sprite
#NVJOB 2D Set Jelly Sprite. Unity Asset.
Stars: ✭ 17 (-5.56%)
Mutual labels:  shader
UnityOverDrawKun
overdraw check tool.
Stars: ✭ 39 (+116.67%)
Mutual labels:  shader
reshade-vrtoolkit
Modular shader to enhance you HMD clarity & sharpness with minimal performance impact.
Stars: ✭ 40 (+122.22%)
Mutual labels:  shader

NVRecoder

It is a lite library to render multiple videos and recoder a new video.

Preview

// videos play
ScreenShot

// camera and videos play together
ScreenShot

USAGE

first step

Make sure in you own controller which you need to use the function is integrated NVViewController.h

second step

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // create video url
    NSString *itemPath = [[NSBundle mainBundle] pathForResource:@"videoinfo0" ofType:@".mp4"];
    NSURL *url = [NSURL fileURLWithPath:itemPath];
 
    // create video object
    NVVideo *video = [[NVVideo alloc] initAVPlayerVideoWithURL:url];
    video.frame = CGRectMake(0.0, 0.0, 375.0, 667.0);
    video.contentMode = NVModeScaleAspectFill;
    // set filter
    [video changeFilter:SZTVR_PIXELATE];
    // add to render scene
    [self addRenderTarget:video];
    
    
    // create camera object
    NVCamera *camera = [[NVCamera alloc] initWithDevicePosition:CAMERA_BACK];
    camera.frame = CGRectMake(0.0, 0.0, 375.0, 667.0);
    camera.contentMode = NVModeScaleAspectFill;
    [camera changeFilter:SZTVR_NORMAL];
    [self addRenderTarget:camera];
}

recoder video

 - (void)initRecodeUtil
 {
     // create recode handle
     self.recodeUtil = [[NVRecord alloc] initWithRecodeName:[NSString stringWithFormat:@"recode_demo"]];
     self.recodeUtil.renderTarget = [self getSurfaceBuffer];
     self.recodeUtil.delegate = self;
 }
 
     // method
     [self.recodeUtil startRecording];
     
     [self.recodeUtil endRecording];
 

Supported Configuration

typedef NS_ENUM(NSInteger, SZTFilterMode) {
    SZTVR_NORMAL,           // 普通
    SZTVR_LUMINANCE,        // 像素色值亮度平均,图像黑白 (黑白效果)
    SZTVR_PIXELATE,         // 马赛克
    SZTVR_EXPOSURE,         // 曝光 (美白)
    SZTVR_DISCRETIZE,       // 离散
    SZTVR_BLUR,             // 模糊
    SZTVR_BILATERAL,        // 双边模糊
    SZTVR_HUE,              // 饱和度
    SZTVR_POLKADOT,         // 像素圆点花样
    SZTVR_GAMMA,            // 伽马线
    SZTVR_GLASSSPHERE,      // 水晶球效果
    SZTVR_CROSSHATCH,       // 法线交叉线
    //------------特效-------------//
    BEAUTY_FILTER,          // 美颜 (美白,润色,磨皮)
    BULGE,                  // 哈哈镜 (凸)
    STRETCH,                // 拉伸
    FAKE3D,                 // 抖音抖动
    SOUL_SCALE,             // 灵魂出窍
    HALLUCINATION,          // 幻觉
    MULTICOLOURED,          // 五光十色
    OLD_VIDEO,              // 老旧视频
    X_INVERT,               // X光
    EDGE_SHINE,             // 边缘发光
    TONE_CURVE,             // 色调曲线滤镜
};

typedef NS_ENUM(NSInteger, CIFilterMode) {
    CIPhotoEffectInstant,   // 怀旧
    CIPhotoEffectMono,      // 单色
    CIPhotoEffectNoir,      // 黑白
    CIPhotoEffectFade,      // 褪色
    CIPhotoEffectTonal,     // 色调
    CIPhotoEffectProcess,   // 冲印
    CIPhotoEffectTransfer,  // 岁月
    CIPhotoEffectChrome,    // 铬黄
    CIVibrance,             // 鲜艳       // inputAmount
};

typedef NS_ENUM(NSInteger, NVContentMode) {
    NVModeScaleToFill,       // 填充
    NVModeScaleAspectFill,   // 从中间自适应填充
};

See MainViewController.m

Reference

Found an Issue?

Please file it in the git issue tracker.

Communication

Email : [email protected]

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].