原文鏈接:https://blog.csdn.net/sz76211822/article/details/79225716
按照博主原文在騰訊雲服務器順利搭建推流服務器,爲防後期再次使用,特轉到此處記錄,對原作者表示感謝。
一. gcc 安裝
安裝 nginx 需要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc 環境,則需要安裝:
yum -y install gcc gcc-c++
二. PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫。命令:
yum install -y pcre pcre-devel
三. zlib 安裝
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。
yum install -y zlib zlib-devel
四. OpenSSL 安裝
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。nginx 不僅支持 http 協議,還支持 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。
yum install -y openssl openssl-devel
五、安裝nginx 跟rtmp模塊
1.官網下載直接下載.tar.gz安裝包,地址:https://nginx.org/en/download.html
2.解壓
tar -zxvf nginx-1.13.8.tar.gz
3. 下載rtmp 模塊, nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module
4. 安裝nginx跟rtmp模塊
./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
make & make install
6.修改配置文件。進入 /usr/local/nginx/conf 文件夾。增添rtmp部分
rtmp {
server {
listen 1935; #監聽的端口
chunk_size 4000;
application hls { #rtmp推流請求路徑
live on;
}
}
}
7.重啓電腦。進入 /usr/local/nginx/sbin文件夾,執行./nginx啓動nginx
第6步 添加rtmp配置部分,要選擇正確的位置。原配置文件中{ 和 }都是成對配置。如果位置不正確,破壞了原有的語法結構啓動nginx時會報 nginx: [emerg] "rtmp" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:81 錯誤。
nginx默認http監聽80端口。因爲雲服務器是公用的。已被同事安裝了NPS軟件佔用了80端口,所以啓動nginx時會報端口占用告警,在配置文件中把http監聽部分的配置端口改成未佔用的端口即可解決問題。
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
六、OBS推流
1.設置推流地址
rtmp://192.168.1.39:1935/hls 192.168.1.39爲服務器IP地址。此處爲舉例,應用時改成實際地址。
流名稱:test
這裏說明下,rtmp的URL基礎格式 rtmp://nginx_host[:nginx_port]/application_name/stream_name
2.推流
媒體源添加攝像機地址。然後點擊推流。
3.vlc串流地址輸入rtmp://192.168.1.39:1935/hls/test
我自己是用POTPLAYER打開推流地址觀看視頻。原文中的地址提示無法打開,改成rtmp://192.168.1.39:1935/hls可以正常觀看。