iOS 视频压缩

作者: 英秋Rachel | 来源:发表于2016-06-15 14:54 被阅读1053次

iPhone默认录制视频为高质量视频,视频体积很大,对流量,网速都是很大的考验。
测试发现从高质量( AVAssetExportPresetHighestQuality) 转到低质量(AVAssetExportPresetMediumQuality) 画面质量肉眼看影响不大。 体积可从80M降到15M. 但是使用AVAssetExportPresetLowQuality 并不会再降低多少体积😒

以下代码提供了视频从高质量到低质量的转换:


-(void)videoCompressionWithUrl:(NSURL *)url{

   
    NSString *docuPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
    
    NSString *destFilePath = [docuPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.MOV",[[[NSUUID UUID]UUIDString]substringToIndex:8]]];
    NSURL *destUrl = [NSURL fileURLWithPath:destFilePath];
    
    //将视频文件copy到沙盒目录中
    NSFileManager *manager = [NSFileManager defaultManager];
    NSError *error = nil;
    [manager copyItemAtURL:url toURL:destUrl error:&error];
    
    //加载视频资源
    AVAsset *asset = [AVAsset assetWithURL:destUrl];
    //创建视频资源导出会话
    AVAssetExportSession *session = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetMediumQuality];
    //创建导出视频的URL
    NSString *resultPath = [docuPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.MOV",[[[NSUUID UUID]UUIDString]substringToIndex:8]]];
    session.outputURL = [NSURL fileURLWithPath:resultPath];
    //必须配置输出属性
    session.outputFileType = @"com.apple.quicktime-movie";
    //导出视频
    [session exportAsynchronouslyWithCompletionHandler:^{
       
         NSLog(@"压缩后的视频地址为 %@",resultPath);
         //删除沙盒中的高质量视频文件     
        [manager removeItemAtPath:destFilePath error:nil];
        
        
    }];
    
    
}



相关文章

  • iOS 视频压缩

    iPhone默认录制视频为高质量视频,视频体积很大,对流量,网速都是很大的考验。测试发现从高质量( AVAsset...

  • iOS视频压缩

    JJVideoManagerKit https://github.com/ljj756640646/JJVideo...

  • iOS 视频压缩

    1.获取本地视频,fromUrl为本地视频链接 AVAsset*asset = [AVAsset assetWit...

  • iOS视频压缩

    项目中涉及视频上传需求的, 为了上传和拉取速度体验, 节省存储费用, 都会在上传前进行视频压缩. 下面提供两种视频...

  • iOS视频压缩AVAssetExportSession

    AVAssetExportSession是系统自带的压缩

  • iOS的视频压缩

    之前公司在做一个聊天的项目,里面用到了发送视频的功能,由于一些视频是从苹果的相册里读取的,所以拿到的文件比较大,服...

  • 【iOS】 视频压缩上传

    之前写过图片上传PHP服务器,今天把接口稍微改了一下,把视频上传的代码贴出来,目前上传功能已经调通,视频的压缩代码...

  • iOS 视频压缩处理

    1.生成保存文件路径 2.对视频进行压缩

  • iOS视频压缩AVAssetExportSession

    AVAssetExportSession是系统自带的压缩首先导入头文件 设置代理 申请打开视频库权限 打开视频库 ...

  • iOS视频压缩笔记

    1.需求来源。 最近有一个用户反馈,发出去的视频有点不清楚。由于视频压缩模块是在几年前写的,当时的已经满足不了现在...

网友评论

  • 谈Xx:写的频率很高啊 我下午刚看一遍,又有新的
    英秋Rachel:@谈Xx 我本意也是留着备用的,很多东西容易忘
    谈Xx:@英秋Rachel 虽然每次都是一个方法,但我还是留着备用了:joy:
    英秋Rachel:@谈Xx 懒着呢,三个月没写了:joy:

本文标题:iOS 视频压缩

本文链接:https://www.haomeiwen.com/subject/pjcpdttx.html