紀錄一下rtmp server架設方式(使用Windows系統)
如果你有Linux主機, 建議改用srs會比較好.
2020-05-09 更新, 改用VLC Video Source
小宗宗發現最近因為疫情的關係網路直播正熱門. 如果VJ/DJ需要遠端合作的話就會需要用到rtmp server.
原理是這樣的, DJ(發送端)把影音訊號送去VJ(接收端)那邊, 然後再從VJ(接收端)那邊整合畫面後再用OBS送去Twitch.
其中VJ(接收端)的電腦需要安裝rtmp server去收遠端DJ(發送端)用OBS送來的rtmp訊號.
再從VJ(接收端)同一台電腦上的OBS做影像疊加後再送去Twitch之類的實況網站.
後面原理就不提了, 分三個階段來設定
1. rtmp server架設
2. NAT 開啟Port forwarding
3. OBS設定
1. rtmp server架設
一聽要架設什麼server感覺就很難, 其實不會的.
rtmp server只要下載nginx程式解壓縮, 設定config檔, 執行.
完成!
https://github.com/illuspas/nginx-rtmp-win32
這裡下載檔案
選右邊綠色的Clone or download再選Download ZIP就可以下載了.
然後解壓縮到一個你喜歡的資料夾下, 找底下conf\nginx.conf這個檔案, 把裡面改成這樣.
worker_processes auto;
error_log logs/error.log info;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
application live1 {
live on;
}
}
}
http {
server {
listen 8080;
location / {
root html;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root html;
}
location /hls {
#server hls fragments
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
alias temp/hls;
expires -1;
}
}
}
然後執行nginx.exe這時rtmp server就啟動了
如果要停止server請執行stop.bat
第一次執行Windows會問你是否允許nginx連網, 兩個都打勾選允許就可以了.
server有附一個rtmp監控網頁可以即時監控rtmp狀態, 請在執行nginx的主機上用瀏覽器進入下面的網址.
http://127.0.0.1:8080/stat
2. NAT 開啟Port forwarding
如果家裡有裝Router的話, 要進去你的Router裡面開啟Port forwarding. 因為每家Router操作不同, 所以詳細請參考你的Router說明書
要把port 1935轉到你這台server的IP. 照片裡的192.168.0.88只是範例, 請改成你nginx主機的正確IP位置.
你可能需要在你Router上的DHCP伺服器把你的這台nginx電腦設定成固定IP會比較方便, 不然一段時間IP就會不同. Port forwarding設定會失效.
3. OBS設定
最後這個最簡單. DJ發送端的OBS去設定裡的Stream
把OBS Service設定成Custom…
Server設定成rtmp://VJ(接收端)電腦的對外IP address/live1
(照片裡的192.168.0.88跟stream key是範例, 請改成接收端提供的資訊)
Stream Key可以隨意設定, 但記得兩邊要講好設成一樣的.
因為接收端需要給發送端自己的對外IP, 如果不知道可以去下面這些網頁找到.
https://www.whatismyip.com.tw
http://www.myipaddress.com/show-my-ip-address/
然後在VJ(接收端)的OBS加一個VLC Video Source後, Input設定成rtmp://127.0.0.1/live1/發送端的Stream Key
就會看到畫面了
如果OBS找不到VLC Video Source的話, 應該是沒安裝VLC的關係
https://www.videolan.org/vlc/index.html
Media Source之前實測發現不太穩定, 不建議使用.
補充:
1. 營運級的通常會用效率更高的simple rtmp server (SRS), 但目前SRS不支援Windows作業系統, 需另外準備一台Linux主機.
2. 如果rtmp server沒有要使用時建議把NAT的Port forwarding關掉增加安全性
Leave a Comment