完整的iOS直播App——搭建直播伺服器

在看這篇之前,如果您還不了解直播原理,請查看這篇文章如何快速的開發一個完整的iOS直播app(原理篇):http://bbs.520it.com/forum.php?mod=viewthread&tid=2049

開發一款直播app,肯定需要流媒體伺服器,本篇主要講解直播中流媒體伺服器搭建,並且講解了如何利用FFMPEG編碼和推流,並且介紹了FFMPEG常見命令。

如果喜歡我的文章,可以關注我微博:袁崢Seemygo,也可以來小碼哥,了解下我們的iOS培訓課程。後續還會更新更多內容,有任何問題,歡迎簡書留言袁崢Seemygo。。。

效果

一、安裝Homebrew

Homebrew簡稱brew,是Mac OSX上的軟體包管理工具,能在Mac中方便的安裝軟體或者卸載軟體。

Advertisements

1、打開終端, 查看是否已經安裝了Homebrew, 直接終端輸入命令

2、 執行命令,安裝Homebrew

  • 執行命令后,需要按回車,並且需要輸入電腦密碼。

二、利用安裝nginx

Nginx:Nginx是一個非常出色的HTTP伺服器,其特點是佔有內存少,併發能力強,事實上nginx的併發能力確實在同類型的網頁伺服器中表現較好。

  1. 從github下載Nginx到本地,增加home-brew對nginx的擴展

2.安裝Nginx伺服器和rtmp模塊

3.查看是否安裝成功

在瀏覽器地址欄輸入:http://localhost:8080 (直接點擊)

如果出現下圖, 則表示安裝成功

Advertisements

三、配置rtmp

1.查看nginx配置文件安裝在哪


2.用xcode打開配置文件,滾動到最後面(最後一個}後面即可,不能在{}裡面),添加一下代碼,進行配置,最後記得保存

  • application:流媒體上應用名稱,可以隨意填

3.重新載入nginx的配置文件

四、安裝ffmepg進行推流

五、使用ffmepg推流測試

  • 需要跟配置的一一對應,埠,應用名稱,room可以隨便寫

  • 延時:發送流媒體的數據的時候需要延時。不然的話,FFmpeg處理數據速度很快,瞬間就能把所有的數據發送出去,流媒體伺服器是接受不了的。因此需要按照視頻實際的幀率發送數據

  • -re: 一定要加,代表按照幀率發送,否則ffmpeg會一股腦地按最高的效率發送數據

  • -i : 輸入文件

  • -vcodec copy: 強制使用codec編解碼方式,要加,否則ffmpeg會重新編碼輸入的H.264裸流

  • -f 強制轉換為什麼格式,後接格式

  • ffmpeg參數中文詳細解釋

六、使用VLC播放rtmp推流

1.下載VLC

2.打開VLC,輸入直播地址,cmd + N

七、用ffmpeg抓取桌面以及攝像頭推流進行直播

1.首先查看ffmpeg是否支持對應的設備,在OSX下面,Video和Audio設備使用的是avfoundation,所以可以使用avfoundation來查看

2.抓取桌面和攝像頭進行推流

原文鏈接:http://bbs.520it.com/forum.php?mod=viewthread&tid=2547&extra=

更多資訊更多交流,盡在bbs.520it.com

Advertisements

你可能會喜歡