[iOS]FFmpeg框架在iOS平台上的编译和使用
来源:互联网 发布:js实现自动登录 编辑:程序博客网 时间:2024/06/07 19:51
http://www.jianshu.com/p/17c9cc72e09c
使用环境 Mac OS Yosemite 10.10.5开发工具 Xcode 7.0 Terminal需要的文件链接 gas-preprocessor yasm FFmpeg-iOS-build-script ffmpeg-2.8 kxmovie编译适用于iOS平台的FFmpeg静态库 打开终端Terminal进入下载后的gas-preprocessor文件夹 将文件夹内的gas-preprocessor.pl文件拷贝到/usr/sbin/目录下 修改/usr/sbin/gas-preprocessor.pl的文件权限为可执行权限 chmod 777 /usr/sbin/gas-preprocessor.pl 执行FFmpeg-iOS-build-script-master文件夹内的build-ffmpeg.sh 编译所有的版本arm64、armv7、x86_64的静态库 ./build-ffmpeg.sh 编译支持arm64架构的静态库 ./build-ffmpeg.sh arm64 编译适用于armv7和x86_64(64-bit simulator)的静态库 ./build-ffmpeg.sh armv7 x86_64 编译合并的版本 ./build-ffmpeg.sh lipo编译静态库遇到的问题 yasm没有安装的情况 解决方案1 进入下载后的yasm文件夹,通过编译安装命令yasm ./configure && make -j 4 && sudo make install 解决方案2 使用Homebrew包管理器,进行安装 brew install yasm 测试是否安装成功 yasm --verision c test failed的情况 xcode环境安装过多,使用xcode-select选择默认的工具路径/Applications/Xcode-beta.app sudo xcode-select -s /Applications/Xcode-beta.app使用编译完成的FFmpeg静态库 编译成功后,即可将FFmpeg-iOS文件夹(包含include和lib)引入到Xcode内 加入依赖库libz.lib 加入依赖库libbz2.lib 加入依赖库libiconv.lib 如有编译错误,链接文件不存在 修改Build Setting Header Search Paths = $(SRCROOT)/LOFFmpegSample/FFmpeg-iOS/include使用框架kxmovie播放视频 NSString *path = @""; NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; // increase buffering for .wmv, it solves problem with delaying audio frames if ([path.pathExtension isEqualToString:@"wmv"]) parameters[KxMovieParameterMinBufferedDuration] = @(5.0); // disable deinterlacing for iPhone, because it's complex operation can cause stuttering if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) parameters[KxMovieParameterDisableDeinterlacing] = @(YES); KxMovieViewController *vc = [KxMovieViewController movieViewControllerWithContentPath:path parameters:parameters]; [self presentViewController:vc animated:YES completion:nil];实例工程:LOFFmpeg
- FFmpeg框架在iOS平台上的编译和使用
- FFmpeg框架在iOS平台上的编译和使用
- [iOS]FFmpeg框架在iOS平台上的编译和使用
- [iOS]FFmpeg框架在iOS平台上的编译和使用
- [iOS]FFmpeg框架在iOS平台上的编译和使用
- FFmpeg 在iOS平台上的配置
- FFmpeg在iOS上编译
- 在iOS上编译FFmpeg
- SDL,FFMPEG在iOS平台的使用
- iOS FFmpeg 在Mac OS下的编译和使用
- iOS FFMpeg的编译和使用
- 在ios上使用ffmpeg
- FFmpeg编译ios平台
- [iOS]在 iOS 平台上编译 DCMTK
- iOS中编译FFMpeg和使用FFMpeg的播放器
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- FFmpeg在iOS上完美编译
- vagrant 配置选择生成就是那么简单
- ImageNet Classification with Deep Convolutional Neural Networks 译文
- 注释驱动的 Spring cache 缓存介绍
- mysql 导入txt文件 详解
- hibernate应用开发步骤
- [iOS]FFmpeg框架在iOS平台上的编译和使用
- 安卓获取系统当前时间
- Android studio签名打包relase失败原因
- 【小米红米手机】红米note4\note4x\联发科\调节音量分级教程 教你调节最小/最大音量
- 使用Spring的jdbcTemplate进一步简化JDBC操作
- 单元测试之旅--预见优秀
- java+logstash
- 深入理解mysql SET NAMES和mysql(i)_set_charset的区别
- Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)