视频裁剪合并ios ios 裁剪视频 矩阵

声明:此文我是根据
http://www.raywenderlich.com/13418/how-to-play-record-edit-videos-in-ios?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+RayWenderlich+(Ray+Wenderlich+|+iPhone+Developer+and+Gamer)
这个编写出来的。
原文是合并视频.而我的项目要求是裁剪视频,所以我跟他的代码实现了自己的需求而已。

目前这块代码应该是能给视频里面添加logo之类的东西。但是我目前没实现,网上的代码我也暂时没找到。

- (void) loadVideoByPath:(NSString*) v_strVideoPathandSavePath:(NSString*) v_strSavePath {
NSLog(@"nv_strVideoPath = %@nv_strSavePath = %@n ",v_strVideoPath,v_strSavePath);
AVAsset*avAsset = [AVAsset assetWithURL:[NSURLfileURLWithPath:v_strVideoPath]];
CMTimeassetTime = [avAsset duration];
Float64duration = CMTimeGetSeconds(assetTime);
NSLog(@"视频时长%fn",duration);

AVMutableComposition *avMutableComposition = [AVMutableCompositioncomposition];

AVMutableCompositionTrack *avMutableCompositionTrack =[avMutableComposition addMutableTrackWithMediaType:AVMediaTypeVideopreferredTrackID:kCMPersistentTrackID_Invalid];

AVAssetTrack*avAssetTrack = [[avAsset tracksWithMediaType:AVMediaTypeVideo]objectAtIndex:0];

NSError*error = nil;
//这块是裁剪,rangtime .前面的是开始时间,后面是裁剪多长 (我这裁剪的是从第二秒开始裁剪,裁剪2.55秒时长.)
[avMutableCompositionTrackinsertTimeRange:CMTimeRangeMake(CMTimeMakeWithSeconds(2.0f, 30),CMTimeMakeWithSeconds(2.55f, 30))
ofTrack:avAssetTrack
atTime:kCMTimeZero
error:&error];

AVMutableVideoComposition *avMutableVideoComposition =[[AVMutableVideoComposition videoComposition] retain];
//这个视频大小可以由你自己设置。比如源视频640*480.而你这320*480.最后出来的是320*480这么大的,640多出来的部分就没有了。并非是把图片压缩成那么大了。
avMutableVideoComposition.renderSize = CGSizeMake(320.0f,480.0f);
avMutableVideoComposition.frameDuration = CMTimeMake(1,30);
// 这句话暂时不用理会,我正在看是否能添加logo而已。
[selfaddDataToVideoByTool:avMutableVideoComposition.animationTool];

AVMutableVideoCompositionInstruction*avMutableVideoCompositionInstruction =[AVMutableVideoCompositionInstructionvideoCompositionInstruction];

[avMutableVideoCompositionInstructionsetTimeRange:CMTimeRangeMake(kCMTimeZero, [avMutableCompositionduration])];

AVMutableVideoCompositionLayerInstruction*avMutableVideoCompositionLayerInstruction =[AVMutableVideoCompositionLayerInstructionvideoCompositionLayerInstructionWithAssetTrack:avAssetTrack];
[avMutableVideoCompositionLayerInstructionsetTransform:avAssetTrack.preferredTransformatTime:kCMTimeZero];

avMutableVideoCompositionInstruction.layerInstructions = [NSArrayarrayWithObject:avMutableVideoCompositionLayerInstruction];


avMutableVideoComposition.instructions = [NSArrayarrayWithObject:avMutableVideoCompositionInstruction];


NSFileManager *fm = [[NSFileManager alloc] init];
if ([fmfileExistsAtPath:v_strSavePath]) {
NSLog(@"video is have. then delete that");
if ([fmremoveItemAtPath:v_strSavePath error:&error]){
NSLog(@"delete is ok");
}else{
NSLog(@"delete is no error = %@",error.description);
}
}
[fmrelease];

AVAssetExportSession *avAssetExportSession = [[AVAssetExportSessionalloc] initWithAsset:avMutableCompositionpresetName:AVAssetExportPreset640x480];
[avAssetExportSessionsetVideoComposition:avMutableVideoComposition];
[avAssetExportSession setOutputURL:[NSURLfileURLWithPath:v_strSavePath]];
[avAssetExportSessionsetOutputFileType:AVFileTypeQuickTimeMovie];
[avAssetExportSession setShouldOptimizeForNetworkUse:YES];
[avAssetExportSessionexportAsynchronouslyWithCompletionHandler:^(void){
switch(avAssetExportSession.status) {
caseAVAssetExportSessionStatusFailed:
NSLog(@"exporting failed %@",[avAssetExportSession error]);
break;
caseAVAssetExportSessionStatusCompleted:
NSLog(@"exporting completed");
//想做什么事情在这个做
[selfcutImageByVideoPath:v_strSavePath];
break;
caseAVAssetExportSessionStatusCancelled:
NSLog(@"export cancelled");
break;
}
}];
if(avAssetExportSession.status !=AVAssetExportSessionStatusCompleted){
NSLog(@"Retry export");
}
[avMutableVideoComposition release];
[avAssetExportSession release];
}
视频裁剪合并ios ios 裁剪视频 矩阵

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/101795.html

更多阅读

怎样裁剪视频 最简单小孩裤子裁剪图

对于某些视频,我们只需要获取其中的一段画面,而其他画面并不需要,这时我们需要进行裁剪视频,本教程利用工具,与大家分享一下视频的裁剪方法怎样裁剪视频——工具/原料格式转换工厂怎样裁剪视频——步骤/方法怎样裁剪视频 1、首先下载“

Hjsplit视频分割&合并软件简易教程 pdf合并分割软件

阿平写在教程前面的话:由于经常有人下载了RAR分卷压缩后,解压失败。所以这次试用HJ来进行视频的分割和合并。如果下面提供的地址所下载的版本无法使用,就请有自行百度、GOOGLE寻找别的版本。另外,每个人使用的电脑不同,安装的系统不同,电

音视频软件排行 音视频合并软件

mp3音量放大软件(北岳mp3音量批量放大器)V42.3M/中文/ 2.0usb摄像头监控录相软件(嫁衣者usb摄像头录相957KB/中文/ 2.0MP3音乐文件管理器1.1 中文绿色版764KB/中文/ 3.0迅雷看看加速器(视频加速软件)1.2.0.25 中文7.9M/中文/ 4.0fla

巧妙下载央视网视频 央视影音下载视频合并

笔者非常喜欢看记录片,央视网由于资源丰富,视频清晰,自然成了我的首选。然而,央视网站的节目只提供在线观看,不能下载,所以漫长的缓冲时间和无法收藏的遗憾一直困扰着我。在网上搜索一番,目前还没有能解析央视网节目地址的工具。难道我们就

声明:《视频裁剪合并ios ios 裁剪视频 矩阵》为网友趣途无百里分享!如侵犯到您的合法权益请联系我们删除