如何在Debian 10上搭建RTMP直播服務端

RTMP 是一種設計用來進行實時數據通信的網絡協議開放協議,由Adobe Systems公司開發,被用來作爲Flash播放器和服務器之間音頻、視頻和數據進行傳輸的協議。

如果你需要直播,如果你不是購買了例如阿里雲,騰訊雲的直播服務,你可以嘗試搭建自己的RTMP服務器。如何搭建,看下面我們一步一步進行講解。

這裏以安裝了 Debian10 系統的 VPS 服務器系統爲例。

安裝服務軟件

服務端使用nginx配合nginx-rtmp-module模塊提供RTMP服務。

1、nginx

2、nginx-rtmp-module

首先下載上面列出的軟件及模塊,Debian10 中可通過 wget 命令進行下載:

cd /tmp
wget http://nginx.org/download/nginx-1.19.10.tar.gz

下載完成後,通過以下命令解壓nginx-1.19.10.tar.gz:

tar xvf nginx-1.19.10.tar.gz

通過git從gitee克隆下載nginx-rtmp-module模塊到/opt/nginx目錄:

cd /opt/nginx
git clone https://gitee.com/mirrors/nginx-rtmp-module.git

如果沒有/opt/nginx目錄可以通過mkdir命令創建,並將創建的目錄權限修改爲當前賬號linux265:

sudo mkdir /opt/nginx
sudo chown -hR linux265: /opt/nginx

如果沒有安裝git命令,通過以下命令進行安裝:

sudo apt install git

/opt/nginx目錄和git命令創建和安裝完成後,通過以下命令從gitee克隆下載nginx-rtmp-module模塊:

git clone https://gitee.com/mirrors/nginx-rtmp-module.git

下載完成後,再次進入/tmp/nginx-1.19.10目錄,執行如下的命令配置安裝nginx:

sudo apt install gcc make openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev 

./configure --add-module=/opt/nginx/nginx-rtmp-module

sudo make && sudo make install

如果一切順利,nginx會默認安裝在/usr/local/nginx目錄中。

配置RTMP服務

進入/usr/local/nginx/conf目錄,使用vim或nano命令編輯nginx.conf文件。

cd /usr/local/nginx/conf
sudo vim nginx.conf

配置內容如下:

#user nobody;
worker_processes  1;

error_log  logs/error.log debug;

rtmp {
    server {
        listen 1935;

        application myapp {
            live on;
            drop_idle_publisher 10s;
        }
    }
}

# HTTP can be used for accessing RTMP stats
http {

    server {

        listen      8080;

        # This URL provides RTMP statistics in XML
        location /stat {
            rtmp_stat all;

            # Use this stylesheet to view XML as web page
            # in browser
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            # XML stylesheet to view RTMP stats.
            # Copy stat.xsl wherever you want
            # and put the full directory path here
            root /path/to/stat.xsl/;
        }

        location /hls {
            # Serve HLS fragments
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            root /tmp;
            add_header Cache-Control no-cache;
        }

        location /dash {
            # Serve DASH fragments
            root /tmp;
            add_header Cache-Control no-cache;
        }
    }
}

配置文件保存後,通過如下命令測試配置文件的正確性:

/usr/local/nginx/sbin/nginx -t

如果正確,執行如下命令,啓動nginx服務:

cd /usr/local/nginx/sbin/
sudo ./nginx

正常啓動後,在瀏覽器地址欄輸入你的服務器地址,你會看到類似如下界面:

直播推流

我們可以通過OBS來進行直播推流,首先你得下載安裝OBS(OBS Studio),然後設置推流,設置類似如下:

之後在OBS主界面,設置“來源”之後,點擊"開始推流"

之後,再次刷新網頁,你會看到如下圖所示:

觀看直播

拉流也就是所謂通過客戶端來訪問直播流,這時候我們可以通過VLC這個支持RTMP網絡視頻,配置播放源:

這樣就可以直接查看直播了。

以上講解了如何在Debian10上搭建RTMP直播服務器方法,如果你感興趣不妨嘗試一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章