完整的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的併發能力確實在同類型的網頁伺服器中表現較好。
從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