FFmpeg框架在iOS平台上的编译和使用
2016-12-05 17:18
519 查看
编译适用于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];
相关文章推荐
- [iOS]FFmpeg框架在iOS平台上的编译和使用
- [iOS]FFmpeg框架在iOS平台上的编译和使用
- [iOS]FFmpeg框架在iOS平台上的编译和使用
- FFmpeg框架在iOS平台上的编译和使用
- 实战FFmpeg--编译iOS平台使用的FFmpeg库(支持arm64的FFmpeg2.6.2)
- IOS 编译ffmpeg For SDK6.1,模拟器、armv7、armv7s均可使用
- iOS: FFmpeg编译和使用问题总结
- iOS开发 FFmpeg 编译及使用
- 关于iOS上使用ffmpeg的编译配置
- windows平台下FFMPEG的编译与使用
- iOS: FFmpeg编译和使用问题总结
- iOS: FFmpeg编译和使用问题总结
- 本附录介绍iOS系统包含的框架,它们为编写iOS平台的软件提供必要的接口。下面的表格尽可能地列出框架中的类、方法、函数、类型以及常量使用的关键前缀,请避免在您的符号名称中使用这些前缀。
- iOS: FFmpeg编译和使用问题总结
- iOS平台软件开发工具(一)-新建的工程使用CocoaPods工具集成第三方框架
- iOS: FFmpeg编译和使用问题总结
- IOS 编译ffmpeg For SDK6.1,模拟器、armv7、armv7s均可使用
- iOS平台在ffmpeg中使用librtmp
- iOS: FFMpeg编译和使用问题总结
- iOS: FFmpeg编译和使用问题总结