iOS上传相簿视频模糊

在上传相簿视频文件时,选择系统相簿里面的视频,系统会自动跳入下一页进行视频“压缩”。

实际上这个过程是将其他类型的视频,比如.MP4转码成了.MOV视频文件,顺便压缩了文件。

这时候会发现转后的视频没原视频清晰呢?如果没设置videoQuality和videoExportPreset属性的话。

  • videoQuality

@property(nonatomic) UIImagePickerControllerQualityType videoQuality NS_AVAILABLE_IOS(3_1); // default value is UIImagePickerControllerQualityTypeMedium. If the cameraDevice does not support the videoQuality, it will use the default value.

  • videoExportPreset

@property(nonatomic, copy) NSString *videoExportPreset;

Discussion The value of this key is one of the export presets supported by the AVAssetExportSession class. For a list of possible values, see the export preset constants in AVAssetExportSession.

AVAssetExportSession
AVAssetExportSession *exportSession= [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPreset960x540];
在这个类里搜索ExportPreset,可通过这些设置videoExportPreset属性。也可直接设置videoQuality来达到压缩时高分辨率的效果,使得上传的视频不模糊。

关于视频转码

下面试摘抄代码,出处见AVAssetExportSession 视频转码

// 视频转码
- (void) convertVideoWithModel:(NSString *) localVideoPath {TYWeakify(self, weakSelf);//转码配置NSURL *inputURL = [NSURL fileURLWithPath:localVideoPath];AVURLAsset *asset = [AVURLAsset URLAssetWithURL:inputURL options:nil];AVAssetExportSession *exportSession= [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPreset960x540];exportSession.shouldOptimizeForNetworkUse = YES;exportSession.outputURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@.mp4",localVideoPath]]; //转码后的视频保存目录self.liveShareView.localVideoURL = [NSString stringWithFormat:@"%@.mp4",localVideoPath];exportSession.outputFileType = AVFileTypeMPEG4;[exportSession exportAsynchronouslyWithCompletionHandler:^{int exportStatus = exportSession.status;switch (exportStatus) {case AVAssetExportSessionStatusFailed: {NSError *exportError = exportSession.error;NSLog (@"AVAssetExportSessionStatusFailed: %@", exportError);break;}case AVAssetExportSessionStatusCompleted: {NSLog(@"视频转码成功");[weakSelf uploadVideo];}}}];
}

如果要研究视频转码,需要研究研究ffmpeg。

iOS上传相簿视频模糊相关推荐

  1. iOS上传视频到服务器

    iOS上传视频到服务器 这里介绍用AFN上传本地拍摄的视频到服务端 //视频转换为MP4//转码操作..._hud.mode = MBProgressHUDModeIndeterminate;_hud ...

  2. 腾讯应用宝:首次上传演示视频需要去腾讯视频进行实名认证的操作

    前段时间打算把刚开发好的Android应用上架到腾讯的应用宝商店,但是由于业务的需要,需要上传App的操作演示视频,由于是首次在应用宝上面上架App,需要处理的东西太多,这里就不再一一介绍,本篇博文只 ...

  3. 微信小程序上传大视频到七牛云-附七牛优惠码

    最近接到一个微信小程序的项目,客户要求将小程序视频上传到七牛云,并且由我们进行维护,大概看了下客户的需求,视频文件应该不少,每个月的费用自然也不少,小编在充值的时候突然看到有个优惠码选项,便在网上一搜 ...

  4. PHP七牛云上传大视频文件异步存为m3u8格式(包括回调过程)

    问题引入 视频的第一帧加载缓慢. 简介 HTTP Live Streaming,缩写为HLS,是由苹果公司提出基于HTTP的流媒体网络传输协议.它的工作原理是把整个流分成一个个小的基于HTTP的文件来 ...

  5. IOS上传文件给java服务器,返回报错unacceptable context-type:text/plain

    IOS上传文件给java服务器,返回报错unacceptable context-type:text/plain response返回类型不对 @RequestMapping(value = &quo ...

  6. 搜狐视频如何上传原创视频

    很多人都使用搜狐视频,小编给大家分享一下搜狐视频如何上传原创视频相关内容.搜狐视频打造涵盖电影.电视剧.综艺.动漫在内的十余种类型的丰富的正版视频内容库,让搜狐视频进入真正意义上的全类别.高品质时代. ...

  7. 腾讯视频安卓版下载_腾讯课堂上传课程视频

    今天继续给大家分享腾讯视频方面的内容.腾讯视频手机版是一款装机必备的手机视频播放软件,用户可在线观看腾讯视频全部免费高清正版视频,海量内容,高清画质,自由点播,配合先进的P2P下载技术,一键高速缓存, ...

  8. ueditor上传大容量视频报http请求错误的解决方法

    故障现象: 当使用百度编辑器ueditor上传大容量视频或大容量图片的时候,编辑器报"http请求错误"的解决方法详解: 原因分析: 目前很多CMS整合了百度的ueditor编辑器 ...

  9. php利用ftp上传视频,PHP用FTP类上传文件视频等的简单实现方法

    文件1:ftp.php<?php /** * 仿写CodeIgniter的FTP类 * FTP基本操作: * 1) 登陆; connect * 2) 当前目录文件列表; filelist * 3 ...

最新文章

  1. 既使用maven编译,又使用lib下的Jar包
  2. RDKit:运用RDKit计算USRCAT(形状相似性)
  3. VLC 关键模块结构分析
  4. linux支持raid5阵列,linux下raid5阵列
  5. VC中使用全局变量的2种办法及防错措施
  6. 洛谷 P2704 [NOI2001]炮兵阵地
  7. IT餐馆—第四回 离职
  8. 计算机设置成一个网络,同一个路由器上的电脑怎么设置成局域网连网打 – 手机爱问...
  9. Office365—Exchange管理2—连接Exchange PowerShell
  10. Luogu P4161 [SCOI2009]游戏 数论+DP
  11. Eclipse RCP中Viewer交互的三种方式/Make your Eclipse applications richer with view linking
  12. 关于flashdevelop测试flex项目时trace不出的解决方法
  13. CEF加载PPAPI插件
  14. 数据结构与算法分析——Hash表
  15. html a标签 alt,A标签、IMG标签、ALT属性详解
  16. 机器学习初探:(十一)主成分分析
  17. 基于PCA算法生成平均脸
  18. Settings sync 配置与使用
  19. 如何在同一台服务器上绑定多个域名?
  20. 数据可视化应用到营销中的5个超酷案例

热门文章

  1. ORACLE分组排序后获取第一条和最后一条值
  2. Android多用户原理和实现
  3. 微信对话在线生成器html5源码
  4. 十六、行为型模式--观察者模式
  5. python 游戏大作_几款商业上流行的游戏开发引擎详细比较
  6. 关于angular路由跳转报:Uncaught (in promise): Error: Cannot match any routes.的问题
  7. adminLTE 教程 -6 多box
  8. 计算机博弈 蒙特卡洛模拟
  9. IntelliJ IDEA 快速生成注释模板设置教程(超级详细)
  10. c++实现文本单词查找