参考文章 :www.jianshu.com/p/cd33f4ac1…
所需文件
gas-preprocessor
通过上述超链接去 GitHub 下载,执行以下命令。
- cd 下载目录 如:cd /Users/你的用户名/Downloads/gas-preprocessor-master
- sudo cp gas-preprocessor.pl /usr/local/bin
- chmod 777 /usr/local/bin/gas-preprocessor.pl
如果第三步失败,可以试试chmod +x gas-preprocessor.pl
yasm
无需下载,直接执行以下命令
- brew install yasm
- yasm --version
FFmpeg-iOS-build-script
执行一下命令
- cd 下载目录 如:cd /Users/你的用户名/Downloads/FFmpeg-iOS-build-script-master
- ./build-ffmpeg.sh 执行脚本
- 等待编译结束 编译结束后,会下载一个最新的
FFmpeg
如下图
新建工程
- 新建工程
- 将下载的
kxmovie
以及FFmpeg-iOS
拖入工程
3. 添加如下依赖库:
- libz.tbd
- libbz2.tbd
- libiconv.tbd
- VideoToolBox.framework
4.添加运行代码
#import "ViewController.h"
#import "KxMovieViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSString *urlStr = @"https://vd3.bdstatic.com/mda-ja0k1pw5mvhn0rzh/mda-ja0k1pw5mvhn0rzh.mp4";
NSMutableDictionary *param = [NSMutableDictionary dictionary];
if ([urlStr.pathExtension isEqualToString:@""]) {
param[KxMovieParameterMinBufferedDuration] = @(5.0);
}
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
param[KxMovieParameterDisableDeinterlacing] = @(YES);
}
KxMovieViewController *vc = [KxMovieViewController movieViewControllerWithContentPath:urlStr parameters:param];
vc.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:vc animated:YES completion:nil];
}
@end
编译报错解决方案
1.KxMovieDecoder 找不到UIImage
需要我们自己#import <UIKit/UIKit.h>
2.出现大量报错信息,原因是没有引入VideoToolBox
3.报错找不到 libavformat/avformat.h 解决方法
Target -> 工程 -> Build Settings -> Library Search Path 复制出如下内容
- 将后缀的
lib
改为include
$(PROJECT_DIR)/HBFFmpeg/FFmpeg-iOS/include
- 然后添加到Header Search Path 中
★文末名片可以免费领取音视频开发学习资料,内容包括(FFmpeg ,webRTC ,rtmp ,hls ,rtsp ,ffplay ,srs)以及音视频学习路线图等等。
见下方!↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓