iOS开发 mov视频文件转换成其他视频文件格式
业务需求:移动端拍摄视频并上传。
问题:使用系统自带的拍摄组件UIImagePicker拍摄的视频为苹果公司特有的.mov格式文件,上传到服务器端后,使用安卓客户端播放视频的效果并不友好。
解决方法:视频统一转换为MPEG4格式后再上传
代码示例:
- (void)movFileTransformToMP4WithSourceUrl:(NSURL *)sourceUrl completion:(void(^)(NSString *Mp4FilePath))comepleteBlock
{/*** mov格式转mp4格式*/AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:sourceUrl options:nil];NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];NSLog(@"%@",compatiblePresets);if ([compatiblePresets containsObject:AVAssetExportPresetHighestQuality]) {AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:avAsset presetName:AVAssetExportPresetMediumQuality];NSDate *date = [NSDate date];NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat:@"yyyyMMddHHmmss"];NSString *uniqueName = [NSString stringWithFormat:@"%@.mp4",[formatter stringFromDate:date]];NSString * resultPath = [PATH_OF_DOCUMENT stringByAppendingPathComponent:uniqueName];//PATH_OF_DOCUMENT为documents路径NSLog(@"output File Path : %@",resultPath);exportSession.outputURL = [NSURL fileURLWithPath:resultPath];exportSession.outputFileType = AVFileTypeMPEG4;//可以配置多种输出文件格式exportSession.shouldOptimizeForNetworkUse = YES;[exportSession exportAsynchronouslyWithCompletionHandler:^(void){dispatch_async(dispatch_get_main_queue(), ^{[hud hideAnimated:YES];});switch (exportSession.status) {case AVAssetExportSessionStatusUnknown:// NSLog(@"AVAssetExportSessionStatusUnknown");CLOUDMESSAGETIPS(@"视频格式转换出错Unknown", 0.8); //自定义错误提示信息break;case AVAssetExportSessionStatusWaiting:// NSLog(@"AVAssetExportSessionStatusWaiting");CLOUDMESSAGETIPS(@"视频格式转换出错Waiting", 0.8);break;case AVAssetExportSessionStatusExporting:// NSLog(@"AVAssetExportSessionStatusExporting");CLOUDMESSAGETIPS(@"视频格式转换出错Exporting", 0.8);break;case AVAssetExportSessionStatusCompleted:{// NSLog(@"AVAssetExportSessionStatusCompleted");comepleteBlock(resultPath);NSLog(@"mp4 file size:%lf MB",[NSData dataWithContentsOfURL:exportSession.outputURL].length/1024.f/1024.f);}break;case AVAssetExportSessionStatusFailed:// NSLog(@"AVAssetExportSessionStatusFailed");CLOUDMESSAGETIPS(@"视频格式转换出错Unknown", 0.8);break;case AVAssetExportSessionStatusCancelled:// NSLog(@"AVAssetExportSessionStatusFailed");CLOUDMESSAGETIPS(@"视频格式转换出错Cancelled", 0.8);break;}}];}
}
iOS开发 mov视频文件转换成其他视频文件格式相关推荐
- qsv视频文件转换成吗mp4视频文件
qsv视频文件转换成mp4文件需要以下2步: 1.将qsv视频文件转换成flv视频文件,可以用qsv转换工具: 2.将flv文件转换成mp4文件,可以使用狸窝全能视频转换器. 注:以上两款软件网上都可 ...
- 怎么把avi文件转换成mp4视频格式,4个高能方法
怎么把avi文件转换成mp4视频格式? 当您下载到avi格式的视频文件时,您可能会选择将其转换为MP4格式的文件. avi是一种由微软开发的多媒体容器格式,尽管现在已经被认为是老旧的技术,但由于其简单 ...
- 使用ffmpeg进行视频文件转换成FLV整理
本系列文章导航 Windows下FFmpeg快速入门 ffmpeg参数解释 mencoder和ffmpeg参数详解(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进行视 ...
- 视频文件转换成音频的方法
文章来源:https://www.reneelab.com.cn/convert-video-to-audio.html 目录 一.视频文件转音频格式的多种方法介绍 1.都叫兽™视频编辑软件 2.VL ...
- 会声会影转换成html,ThunderSoft Video to HTML5 Converter 视频文件转换成HTML5
下面我们对ThunderSoft Video to HTML5 Converter 视频文件转换成HTML5v3.1.0.0官方版文件阐述相关使用资料和ThunderSoft Video to HTM ...
- 怎样将mpg格式的视频文件转换成mp4格式
在网络上下载一个MPG格式,想要转换成MP4格式,可用什么软件?mpg转mp4格式转换器是一款专门转换各种手机或移动设备的格式转换器,为什么转换MP4格式?因为MP4格式目前除了在网络的一些播放器上应 ...
- 如何将MP4视频文件转换成MP3音频格式
2018年11月9日,美国漫威影业公司的大作<毒液:致命守护者>开始在中国上映,作为漫威在2018年最后的压轴巨作自然是非常不错的.在影片中很多激斗的场景也有共生体和宿主之间的对话,但是电 ...
- 计算机怎么直接搜索视频文件格式,如何将视频文件转换成可以直接播放的格式?...
原标题:如何将视频文件转换成可以直接播放的格式? 有时候从网上下载的视频文件并不能够直接播放,而是要将其转换成视频播放器支持播放的格式,而这需要用到视频格式转换软件,比如迅捷视频转换器就很不错. 可视 ...
- bin文件怎么转换成文本文档_怎么把视频文件转换成MP3?这款工具六步帮你实现...
在我们的生活当中,如果我们在看视频的时候,碰到了一则带有背景音乐的视频,此时我们不需要视频上的画面内容,只想要保留视频里的音乐的话,那么我们就需要通过将视频转换成MP3音频格式文件,才能够获得视频当中 ...
最新文章
- 一文提升你对深度学习分布式训练的整体认知!
- 第三课 泛型+反射封装数据库访问层 2019-04-02
- js数组初始化——ES6 Array.prototype.fill()实践记录
- php 超链接新页面打开新页面,Typecho 超链接默认新窗口打开
- uva 1617——Laptop
- BZOJ 4810 [Ynoi2017]由乃的玉米田(莫队+bitset)
- [洛谷2357] 守墓人
- 2017.05.01
- python不同颜色散点图_Python+matplotlib绘制不同大小和颜色散点图实例
- 从JavaScript预编译看function的生存时间
- Stata 16(统计学软件) v16.0中文版安装教程
- 如何取消计算机中的0-9,告诉你如何关闭win10易升程序
- 能打开pdf格式的软件
- 《计算机网络》在物理层和数据链路层扩展以太网
- ie8加载js太慢_ie8加载不了javascript怎么办?
- (十三)ATP应用测试平台——springboot集成kafka案例实战
- 《Adobe After Effects CS6中文版经典教程》——2.9 渲染合成图像
- 项目经理修炼之道(1) -- 给软件开发建模 .
- html中怎么给地图添加标记,百度地图中怎么添加旗帜标记?
- 文本diff算法Patience Diff