All Projects → Datt1994 → DPVideoMerger

Datt1994 / DPVideoMerger

Licence: Apache-2.0 license
Multiple videos merge in one video with manage scale & aspect ratio and also merge 4 videos to grid layou for Objective C.

Programming Languages

objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to DPVideoMerger

DPVideoMerger-Swift
Multiple videos merge in one video with manage scale & aspect ratio and also merge videos to grid matrix layout for Swift.
Stars: ✭ 49 (+308.33%)
Mutual labels:  videos, merger, merge-videos, video-merger
Pdfsam
PDFsam, a desktop application to extract pages, split, merge, mix and rotate PDF files
Stars: ✭ 1,829 (+15141.67%)
Mutual labels:  merge, merger
symfony-todo-backend
This is the result of all the videos that were created in the series that i published on the playlist. LINK BELOW
Stars: ✭ 172 (+1333.33%)
Mutual labels:  videos
Accomplisher
Motivational app to accomplish daily goals.
Stars: ✭ 16 (+33.33%)
Mutual labels:  videos
defaults-deep
Like `extend` but recursively copies only the missing properties/values to the target object.
Stars: ✭ 26 (+116.67%)
Mutual labels:  merge
MTTransitions
iOS Transitions ports from GL-Transitions.
Stars: ✭ 178 (+1383.33%)
Mutual labels:  merge-videos
deepmerge-ts
Deeply merge 2 or more objects respecting type information.
Stars: ✭ 102 (+750%)
Mutual labels:  merge
webgrabplus-siteinipack
Official user supported WebGrab+Plus Siteini.pack repo
Stars: ✭ 133 (+1008.33%)
Mutual labels:  merge
srtmerger
subtitle merger is a tool for merging two or more subtitles for videos.
Stars: ✭ 35 (+191.67%)
Mutual labels:  merge
exiftool-json-db
Maintain a JSON database of photos and videos with their metadata
Stars: ✭ 18 (+50%)
Mutual labels:  videos
deep learning tutorials
deep learning: theory + practice
Stars: ✭ 80 (+566.67%)
Mutual labels:  videos
cidr-merger
A simple command line tool to merge ip/ip cidr/ip range, supports IPv4/IPv6
Stars: ✭ 99 (+725%)
Mutual labels:  merge
android-doc-picker
A simple and easy to use documents Picker android library. Choose any documents like pdf, ppt, text, word or media files from your device
Stars: ✭ 37 (+208.33%)
Mutual labels:  videos
refer
Cross browser web clipper. Takes notes from videos, screenshots and extract texts or images from supported web browsers.
Stars: ✭ 21 (+75%)
Mutual labels:  videos
git-json-merge
A git merge driver that use xdiff to automatically resolve merge conflicts in json files. This project was inspired by git-po-merge.
Stars: ✭ 86 (+616.67%)
Mutual labels:  merge
TreeWalker
PHP JSON diff
Stars: ✭ 58 (+383.33%)
Mutual labels:  merge
geo-data-merger
🔁 A tool for merging data from CSV, JSON, Geo- and TopoJSON files
Stars: ✭ 63 (+425%)
Mutual labels:  merger
git-rebase-via-merge
Fix rebase conflicts with minimum pain.
Stars: ✭ 41 (+241.67%)
Mutual labels:  merge
youtube-trending-videos-scraper
A scraper for videos that are trending on YouTube (https://www.youtube.com/feed/trending)
Stars: ✭ 21 (+75%)
Mutual labels:  videos
mergedeep
A deep merge function for 🐍.
Stars: ✭ 73 (+508.33%)
Mutual labels:  merge

DPVideoMerger

For Swift and new features :- DPVideoMerger-Swift

Installation with CocoaPods

CocoaPods is a dependency manager for Objective-C. You can install it with the following command:

$ gem install cocoapods

Podfile

To integrate DPVideoMerger into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'TargetName' do
pod 'DPVideoMerger'
end

Then, run the following command:

$ pod install

Add Manually

Download Project and copy-paste DPVideoMerger.h & DPVideoMerger.m files into your project

Usage

    #import "DPVideoMerger.h"
    #import <AVKit/AVKit.h>
    #import <AVFoundation/AVFoundation.h>

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp4"];
    NSURL *fileURL = [NSURL fileURLWithPath:filePath];
    NSString *filePath1 = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"mp4"];
    NSURL *fileURL1 = [NSURL fileURLWithPath:filePath1];
    NSString *filePath2 = [[NSBundle mainBundle] pathForResource:@"3" ofType:@"MOV"];
    NSURL *fileURL2 = [NSURL fileURLWithPath:filePath2];
    NSString *filePath3 = [[NSBundle mainBundle] pathForResource:@"4" ofType:@"mp4"];
    NSURL *fileURL3 = [NSURL fileURLWithPath:filePath3];
    
    NSArray *fileURLs = @[fileURL, fileURL1,fileURL2,fileURL3];
    
    [DPVideoMerger mergeVideosWithFileURLs:fileURLs completion:^(NSURL *mergedVideoFile, NSError *error) {
        if (error) {
            NSString *errorMessage = [NSString stringWithFormat:@"Could not merge videos: %@", [error localizedDescription]];
            UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Error" message:errorMessage preferredStyle:UIAlertControllerStyleAlert];
            [self presentViewController:alert animated:YES completion:nil];
            return;
        }
        
        AVPlayerViewController *objAVPlayerVC = [[AVPlayerViewController alloc] init];
        objAVPlayerVC.player = [AVPlayer playerWithURL:mergedVideoFile];
        [self presentViewController:objAVPlayerVC animated:YES completion:^{
            [objAVPlayerVC.player play];
        }];
    }];
    
    [DPVideoMerger gridMergeVideosWithFileURLs:fileURLs andVideoResolution:CGSizeMake(2000, 2000) andRepeatVideo:true completion:^(NSURL *mergedVideoURL, NSError *error) {
        if (error) {
            NSString *errorMessage = [NSString stringWithFormat:@"Could not merge videos: %@", [error localizedDescription]];
            UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Error" message:errorMessage preferredStyle:UIAlertControllerStyleAlert];
            [alert addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {}]];
            [self presentViewController:alert animated:YES completion:nil];
            return;
        }
        
        AVPlayerViewController *objAVPlayerVC = [[AVPlayerViewController alloc] init];
        objAVPlayerVC.player = [AVPlayer playerWithURL:mergedVideoURL];
        [self presentViewController:objAVPlayerVC animated:YES completion:^{
            [objAVPlayerVC.player play];
        }];
    }];
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].