轉載自http://www.cnblogs.com/jys509/p/5649066.html
簡介
nginx是非常優秀的開源服務器,用它來做hls或者rtmp流媒體服務器是非常不錯的選擇,本人在網上整理了安裝流程,分享給大家並且作備忘。
步驟安裝
1、安裝Homebrow
Homebrew簡稱brew,是Mac OSX上的軟件包管理工具,能在Mac中方便的安裝軟件或者卸載軟件,可以說Homebrew就是mac下的apt-get、yum神器
/usr/bin/ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果已經安裝過,而想要卸載:
/usr/bin/ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
2、安裝Nginx服務器
增加對nginx的擴展;也就是從github上下載,home-brew對ngixnx的擴展
brew tap homebrew/nginx
3、安裝Nginx服務器和rtmp模塊
brew install nginx-full --with-rtmp-module
這個安裝,耗時相對來說比較長。通過操作以上步驟nginx和rtmp模塊就安裝好了,下面開始來配置nginx的rtmp模塊。
首先來看看我們的nginx安裝在哪里
brew info nginx-full
執行上面的命令后我們可以看到信息

nginx安裝所在位置/usr/local/Cellar/nginx-full/1.10.1/bin/nginx
nginx配置文件所在位置/usr/local/etc/nginx/nginx.conf
nginx服務器根目錄所在位置/usr/local/var/www
執行命令 ,測試下是否能成功啟動nginx服務
nginx
命令行如下圖所示

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

出現Welcome to nginx ,代表nginx安裝成功了。
4、配置rtmp
用Xcode打開nginx.conf, 找到/usr/local/etc/nginx/nginx.conf文件,拖入到Dock中的Xcode,就可以打開.
或者打開Finder Shift + command + G前往,用記事本工具打開nginx.conf.

說明:
rtmp是協議名稱
server 說明內部中是服務器相關配置
listen 監聽的端口號, rtmp協議的默認端口號是1935
application 訪問的應用路徑是 zbcs
live on; 開啟實時
record off; 不記錄數據
5. 保存文件后,重新加載nginx的配置文件(這一步很重要)
nginx -s reload
6. 安裝ffmepg工具
brew install ffmpeg
安裝這個需要等一段時間, 這時你可以准備一個視頻文件作為來推流,然后安裝一個支持rtmp協議的視頻播放器.Mac下可以用VLC(下載)
7、通過ffmepg命令進行推流
ffmpeg -re -i 你的視頻文件的絕對路徑(如/Users/lideshan/Downloads/Demo.mp4) -vcodec copy -f flv rtmp://localhost:1935/zbcs/room
// 如:ffmpeg -re -i /Users/jiangys/Documents/Document/demo.mp4 -vcodec copy -f flv rtmp://localhost:1935/zbcs/room
這里zbcs是上面的配置文件中,配置的應用的路徑名稱;后面的room可以隨便寫。
推流界面:

8. 驗證視頻
然后電腦上打開vlc這個播放器軟件 點擊File---->Open Network 在彈出來的框中選擇Network然后輸入URL:
rtmp://localhost:1935/zbcs/room

雙擊播放

播放界面

報錯處理
1.ffmepg命令推流的時候,提示連接失敗。[tcp @ 0x7ff162504b60] Connection to tcp://localhost:1935 failed (Connection refused), trying next address
出現這個錯,是因為配置了nginx.conf后,需要重啟nginx。輸入命令重啟后就沒有問題了
nginx -s reload

2.安裝完nginx后,在瀏覽器地址欄輸入:http://localhost:8080顯示打不開網頁
解決方式:由於安裝后nginx服務器,有時需要等上幾分鍾才生效。如果還不生效,測試下是否能成功啟動nginx服務,命令
nginx
具體請參考“步驟安裝”第三點。
以上是把本地的視頻文件推流到服務器然后利用VLC進行播放,下面是利用LFLiveKit
進行真機推流:
1.首先先倒入LFLiveKit,可以用pod:pod'LFLiveKit'

獲取自己電腦地址:

_session= [[LFLiveSessionalloc]initWithAudioConfiguration:[LFLiveAudioConfigurationdefaultConfiguration]videoConfiguration:[LFLiveVideoConfigurationdefaultConfigurationForQuality:LFLiveVideoQuality_Medium2]];
//設置代理
_session.delegate=self;
_session.running=YES;
_session.preView=self.view;
//開啟后置攝像頭,
self.session.captureDevicePosition=AVCaptureDevicePositionBack;
LFLiveStreamInfo*stream = [LFLiveStreamInfonew];
//如果是跟我blog教程搭建的本地服務器,記得填寫你電腦的IP地址
stream.url=@"rtmp://71.0.0.174:1935/rtmplive/room";
[self.sessionstartLive:stream];
打開手機直播后,然后在電腦上打開VLC(同上),就能實現手機推流,在電腦上拉流播放了!!(注:手機需要和電腦連接同一網絡!)
作者:京哥
鏈接:https://www.jianshu.com/p/ef3e41d15c2e
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。