iOS视频压缩
2015-08-19 18:43
537 查看
// // ViewController.m // iOS视频测试 // // Created by apple on 15/8/19. // Copyright (c) 2015年 tqh. All rights reserved. // #import "ViewController.h" #import <AVFoundation/AVFoundation.h> @interface ViewController () @end @implementation ViewController //下载视频 - (void)viewDidLoad { [super viewDidLoad]; NSString *path = NSHomeDirectory();//主目录 NSLog(@"NSHomeDirectory:%@",path); //获取沙盒中的路径 NSArray *storeFilePath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *doucumentsDirectiory = [storeFilePath objectAtIndex:0]; NSString *plistPath =[doucumentsDirectiory stringByAppendingPathComponent:@"mp4Test.mp4"]; NSFileManager *file = [NSFileManager defaultManager]; if ([file fileExistsAtPath:plistPath]) { NSLog(@"沙盒中有视频"); } else //若沙盒中没有 { NSError *error; NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *bundle = [[NSBundle mainBundle] pathForResource:@"mp4Test" ofType:@"mp4"]; [fileManager copyItemAtPath:bundle toPath:plistPath error:&error]; NSLog(@"写入没有%d",[fileManager copyItemAtPath:bundle toPath:plistPath error:&error]); } NSString *newPlistPath =[doucumentsDirectiory stringByAppendingPathComponent:@"mp4Test5.mp4"]; [self lowQuailtyWithInputURL:[NSURL fileURLWithPath:plistPath] outputURL:[NSURL fileURLWithPath:newPlistPath] blockHandler:^(AVAssetExportSession *session) { if (session.status == AVAssetExportSessionStatusCompleted) { NSLog(@"压缩完成"); }else if (session.status == AVAssetExportSessionStatusFailed) { NSLog(@"压缩失败"); } }]; } #pragma mark - 视频压缩 - (void) lowQuailtyWithInputURL:(NSURL*)inputURL outputURL:(NSURL*)outputURL blockHandler:(void (^)(AVAssetExportSession*))handler { AVURLAsset *asset = [AVURLAsset URLAssetWithURL:inputURL options:nil]; AVAssetExportSession *session = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetLowQuality]; session.outputURL = outputURL; session.outputFileType = AVFileTypeQuickTimeMovie; [session exportAsynchronouslyWithCompletionHandler:^(void) { handler(session); }]; } @end
AVAssetExportPresetLowQuality:低质量压缩
AVF_EXPORT NSString *const AVAssetExportPresetLowQuality NS_AVAILABLE_IOS(4_0);
AVF_EXPORT NSString *const AVAssetExportPresetMediumQuality NS_AVAILABLE_IOS(4_0);
AVF_EXPORT NSString *const AVAssetExportPresetHighestQuality NS_AVAILABLE_IOS(4_0);
相关文章推荐
- iOS学习(3)
- 【读书笔记】iOS-查看一个软件ipa包的内容
- 【读书笔记】iOS-查看一个软件ipa包的内容
- 7.ios-分类 继承 extention
- iOS力学动画——DynamicAnimate
- iOS 刷新tableview方法
- iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?
- IOS端cordova项目 报错:permisson denied
- Masonry入门教程
- iOS项目开发实战——使用用户首选项数据进行启动提示
- iOS常用的函数和常数
- 【原】iOS:手把手教你发布代码到CocoaPods(Trunk方式)
- IOS-笔记8(手势)
- iOS开发日记5-推送(信鸽推送)
- 使用Fragment和RadioGroup实现类似ios的tabbar的效果
- 一文让你彻底了解iOS字体相关知识
- iOS动画——DynamicAnimate
- 桌面支持--HP bios开启硬件虚拟化
- ios8适配遇到的问题及解决方法
- iOS中级(一) 正则表达式