视频压缩

AVFoundation框架中提供了视频压缩的功能,有一些应用场景,对像素要求不高,但是需要看到视频的,可以对视频进行压缩,比如微信的小视频功能。

//压缩

- (void)compression{

NSLog(@"压缩前大小 %f MB",[self fileSize:_videoUrl]);

// 创建AVAsset对象

AVAsset* asset = [AVAsset assetWithURL:_videoUrl];

/*

创建AVAssetExportSession对象

压缩的质量

AVAssetExportPresetLowQuality 最low的画质最好不要选择实在是看不清楚

AVAssetExportPresetMediumQuality 使用到压缩的话都说用这个

AVAssetExportPresetHighestQuality 最清晰的画质

*/

AVAssetExportSession * session = [[AVAssetExportSession alloc]

initWithAsset:asset presetName:AVAssetExportPresetMediumQuality];

//优化网络

session.shouldOptimizeForNetworkUse = YES;

//转换后的格式

//拼接输出文件路径 为了防止同名 可以根据日期拼接名字 或者对名字进行MD5加密

NSString* path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]

stringByAppendingPathComponent:@"hello.mp4"];

//判断文件是否存在,如果已经存在删除

[[NSFileManager defaultManager]removeItemAtPath:path error:nil];

//设置输出路径

session.outputURL = [NSURL fileURLWithPath:path];

//设置输出类型 这里可以更改输出的类型 具体可以看文档描述

session.outputFileType = AVFileTypeMPEG4;

[session exportAsynchronouslyWithCompletionHandler:^{

NSLog(@"%@",[NSThread currentThread]);

//压缩完成

if(session.status==AVAssetExportSessionStatusCompleted) {

//在主线程中刷新UI界面,弹出控制器通知用户压缩完成 dispatch_async(dispatch_get_main_queue(), ^{

NSLog(@"导出完成");

CompressURL = session.outputURL;

NSLog(@"压缩完毕,压缩后大小 %f MB",[self fileSize:CompressURL]);

});

}

}];

}

android 仿微信视频压缩上传,iOS视频压缩(仿微信录像)相关推荐

  1. 微信开发上传视频到服务器,微信小程序中实现上传视频的开发代码

    微信小程序中实现上传视频的开发代码,视频,接口,上传,代码,服务器 微信小程序中实现上传视频的开发代码 易采站长站,站长之家为您整理了微信小程序中实现上传视频的开发代码的相关内容. 本篇文章给大家带来 ...

  2. 微信开发上传多张图片html,微信JSSDK一次性上传多张图片卡死解决方案

    应用场景描述 微信禁止了使用表单INPUT[TYPE="FILE"]上传图片,必须使用微信WEB JSSDK 图片上传,该插件是一张一张的上传的.过程是这样的 上传图片 --> ...

  3. Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传

    仿照微信,朋友圈分享图片功能 .可以进行图片的多张选择,拍照添加图片,以及进行图片的预览,预览时可以进行缩放,并且可以删除选中状态的图片 .很不错的源码,大家有需要可以下载看看 . 如果不知道如何上传 ...

  4. android点击加号,Android仿微信图片上传带加号且超过最大数隐藏功能

    1.仿照微信空间上传图片,显示图片数量以及超过最大,上传按钮隐藏功能 2.上效果图 3.上代码,主要是Adapter类 /** * Created by zhangyinlei on 2018/3/2 ...

  5. java 微信企业号上传文件_微信企业号上传下载多媒体文件接口详解演示-java

    讲完这篇博客,微信企业号的接口就说完了,下载了我源码的童鞋都知道,里面的备注很详细,但凡看过几遍就都会自己开发了,我说的这些接口至此我已经全部开发完了,剩下的就是你们自己写功能了,都是轻而易举的事情了 ...

  6. 使用微信js-sdk上传语音并将语音下载到服务器

    JSSDK使用步骤 步骤一:绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名". 备注:登录后可在&qu ...

  7. 上传IOS项目和版本更新流程图

    上传IOS项目和版本更新流程图 必备IDP证书和distribution证书(第一个证书是真机部署测试时用到的,后者证书是发布时需要用到的,缺一不可). 我就说说接下来应该做的流程.在你保证拥有以上两 ...

  8. App上传GooglePlay后,微信登录及Facebook登录异常

    App上传GooglePlay后,微信登录及Facebook登录异常 微信登录异常的处理 原因 因为App上传到Google Play后,会被重新签名(Play App Signing).所以保存在微 ...

  9. android+nutz后台如何上传和下载图片

    android+nutz后台如何上传和下载图片 发布于 588天前  作者 yummy222  428 次浏览  复制  上一个帖子  下一个帖子  标签: 无 最近在做一个基于android的app ...

最新文章

  1. freeswitch 按键采集_《FreeSWITCH 1.2》:支持页面呼叫控制
  2. setjump longjump
  3. 指针常量与常量指针精解【一次掌握】
  4. 数据中台交付专家告诉你,数据架构的分层怎样更加合理?
  5. 诗和远方:无题(五十二)- 写给认识的一个老姐的两只猫
  6. 王自如、罗永浩将一起出镜直播带货?罗永浩亲自回应
  7. Unity跨iOS、Android平台使用protobuf-net的方法
  8. 缓存/内存型数据库 Redis
  9. Java Web提交任务到Spark Spark通过Java Web提交任务
  10. 利润表模板excel_年薪60w财务总监:工作八年,这10个Excel必备财务系统,效率翻倍...
  11. 分站活动丨“香港科大商学院-黑瞳科技”2020【人工智能】百万奖金国际创业大赛--上海站+成都站宣讲会...
  12. python 正则表达式语法大全_Python正则表达式知识汇总
  13. 网络编程(三):网络中的端口号
  14. 无线电通信天线的种类
  15. 申请并部署阿里云SSL免费证书详细流程
  16. Cadence PSpice 补充1:脉冲信号源的详细介绍与使用方法图文演示
  17. 天蝎座2019年4月运势
  18. 【目标检测实验系列】使用yolov3 spp训练西工大遥感数据集NWPU VHR-10(包括如何将NWPU VHR-10转为VOC格式和yolov3 spp实验调试的详细步骤,且附上训练完的权重文件)
  19. Learn English with M / 学习英语的十句经典名言
  20. 想搭建一个专属于你的网站吗??新手向超详细攻略

热门文章

  1. STM32F4开发板硬件平台简介
  2. 利用Rustlings对Rust语言进行学习
  3. 2003版excel 删除某列数据相同的行只保留一行的方法
  4. 翻译:数据页面和数据行
  5. K8S YAML 详解
  6. 大话赛宁云 | 培训服务打造实战型网络安全人才
  7. JAVA计算机毕业设计智能停车场管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
  8. 沃尔沃推出纯电动汽车Polestar 2 续航里程和Model 3接近
  9. Oracle 数据块头部的Fuzzy标记
  10. (c#)小游戏 飞行棋