iOS直播技术iOS Developer

iOS开发直播app推流

2016-12-01  本文已影响232人  伍骁辛

基于RTMP协议主要有两种封装库来实现推流:

1、FFmpeg推流(Mac上搭建nginx+rtmp直播服务器)
http://www.jianshu.com/p/a0397c98d907

2、LFLiveKit推流:FFmpeg集成工程中比较麻烦,相对来说LFLiveKit在工程中集成则更方便一点,重要的是对于新手来说包含采集、美颜、推流封装模块,可以直接上手使用。

下面来介绍下LFLiveKit客户端推流

1、首先需要 pod 'LFLiveKit'引入第三方库,然后在采集后加入服务器推流地址url即可

-(void)startLiveButton:(id)sender
{
     UIButton *startButton = (UIButton *)sender;
     startButton.selected = !startButton.selected;

     if(startButton.selected){

      [_startLiveButton setTitle:@"结束直播" forState:UIControlStateNormal];
      LFLiveStreamInfo *stream = [LFLiveStreamInfo new];
      stream.url = @"rtmp://192.168.1.178:1935/rtmplive/room";
    
      [_liveSession startLive:stream];
} else {

     [_startLiveButton setTitle:@"开始直播" forState:UIControlStateNormal];
     [_liveSession stopLive];
}
}

2、手机上运行直播demo

3.然后打开 VLC 中 的 file -- Open Network, 直接输入代码中的 url:

VLC配置url.png

下面是效果图,会有些延迟:

效果图.png

ps:由于我们是本地搭建服务器,所以运行服务器的电脑和手机保证在同一WiFi下,另外在运行真机的demo中必须把地址换成你自己的电脑IP(192.168.1.178 ),不能再用local 本地代替了。

本地ip.png

ps:
1.直播已有一些 SDK ,如暴风云直播、七牛云直播、网易云信直播 SDK、腾讯直播 SDK 等,可选性比较多,第三方框架也比较多,当然也有通过自己封装的协议进行直播的。

2.相关第三方框架
GDLiveStreaming 是对开源框架 VideoCore 简单封装,提供视频录制、推送与存储,找到这个框架,但pod下来之后,编译过不去,不过可以研究下开源代码。

demo地址:
https://github.com/maying1992/LiveApp.git

参考资料:
http://blog.csdn.net/pilgrim1385/article/details/51681332
http://www.jianshu.com/p/c71bfda055fa

上一篇 下一篇

猜你喜欢

热点阅读