// 导入头文件 #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];
这样就已经简单实现了视频流的直播。