iOS开发笔记之简单使用IJKMediaFramework实现视频直播

// 导入头文件
#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];

这样就已经简单实现了视频流的直播。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值