// 导入头文件
#import <IJKMediaFramework/IJKMediaFramework.h>
// 首先定义两个property
@property (strong, nonatomic) IJKFFMoviePlayerController *playerVc;
@property (strong, nonatomic) IJKFFOptions *options;
// 设置一些参数
- (void)loadMediaOptions {
self.options = [IJKFFOptions optionsByDefault];
[self.options setFormatOptionIntValue:1000000 forKey:@"analyzeduration"]; // 设置分析时间
[self.options setPlayerOptionIntValue:0 forKey:@"max_cached_duration"]; // 最大缓存大小
[self.options setPlayerOptionIntValue:0 forKey:@"packet-buffering"]; // 关闭播放器缓冲
// 跳帧
// [self.options setPlayerOptionIntValue:1 forKey:@"framedrop"];
// 播放前的探测Size
[self.options setFormatOptionIntValue:1024 forKey:@"probesize"];
// 软解
// [self.options setPlayerOptionIntValue:0 forKey:@"videotoolbox"];
// 解码参数
// [self.options setCodecOptionIntValue:IJK_AVDISCARD_DEFAULT forKey:@"skip_loop_filter"];
// [self.options setCodecOptionIntValue:IJK_AVDISCARD_DEFAULT forKey:@"skip_frame"];
}
// 加载直播视频
- (void)loadMediaEngine {
NSURL *mediaUrl = [NSURL URLWithString:@"rtmp://live.hkstv.hk.lxdns.com/live/hks"];
// 创建IJKFFMoviePlayerController,传入拉流地址
self.playerVc = [[IJKFFMoviePlayerController alloc] initWithContentURL:mediaUrl withOptions:self.options];
// self.playerVc.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
self.playerVc.scalingMode = IJKMPMovieScalingModeFill;
[self.playerVc prepareToPlay];
self.playerVc.view.frame = self.view.bounds;
[self.view addSubview:self.playerVc.view];
}
// 关闭视频
[self.playerVc shutdown];
这样就已经简单实现了视频流的直播。