绝对首创---关于直播(推流-拉流-服务器搭建)

1.公司有风声要作直播,赶好这段有时间,本身研究了一下.其实走过的弯路比较多,后来在拉流/推流/服务器搭建都完成以后,思路变得很清晰.linux

2.首先从服务器搭建提及,关于三种主流的HLS/RTMP/FLV,这里我使用的是RTMP,关于其中的切换,咱们须要看一下ngnix的配置文件的相关参数文档.
nginx

   我使用的是ngnix+rtmp,也就是本地搭建ngnix服务器,另外在ngnix服务器上添加了rtmp的模块.闭门造车容易猝死,我参考的是简书上的,请移步:http://www.jianshu.com/p/5ee84e403ea8
服务器

   参照上边连接中几个注意点:
框架

        1):当你对于linux的命令行熟练运用的时候,homebrew确实好用.ide

        2):编码

         

            这一步骤有可能会一直提示失败,可是多尝试几回,就会成功.spa

        3):命令行

          

            注意本身安装的ngnix版本,进行查看视频

       4):当你完成了nginx配置rtmp以后,上边连接后续的部分能够忽略.
homebrew

3.推流,推流我使用的是LFLiveKit开源框架,使用极其简单,而且功能比较完善

    截取最主要的代码:

   

    1):LFLiveSession是核心类,能够重点研究其属性与方法,使用方式简单.

    2):整个的推流过程为:(分析源代码得到)

      创建RTMPConnection(LFStreamRTMPSocket),

      将采集到的视频数据进行H.264编码,音频数据进行ACC编码,

      封包上推到服务器.

      其中编码能够经过ffmpeg或者videocore实现,上推的过程能够经过ffmpeg或者rtmplib实现.(LFLiveKit是经过videocore进行编码,rtmplib进行上推)

4.拉流,拉流我使用的是IJKMediaFramework,使用及其简单,而且功能完善

   截取最主要的代码:

   

   1):IJKFFMoviePlayerController是核心类,使用简单.

5.程序截图

  1.推流端:

  

  2.拉流端:

  

6.感谢

   感谢简书做者 满山李子 的mac上搭建直播服务器nginx这么好的文章

   感谢LFLivePlayer以及IJKMediaFramework的做者,以及对开源社区作出贡献的IT码农.

7.附言

   Demo请email     sunny_1v@163.com

相关文章
相关标签/搜索