1. 程式人生 > >CentOS SRS直播伺服器的搭建

CentOS SRS直播伺服器的搭建

目錄

1 linux 系統的安裝

1.1 準備工作

1.2 安裝CentOS

1.3 配置CentOS開發環境

1.4 配置CentOS 視覺化介面(可以安裝也可以不安裝  個人覺得安裝了好操作)

2 SRS 直播伺服器搭建

2.1 原始碼下載

2.2 編譯原始碼及安裝

2.3 配置檔案

2.4 啟動SRS直播伺服器命令

2.5 關於推流和拉流


1 CentOS 系統的安裝

1.1 準備工作

1、下載 VMware Workstation 15 Player 軟體,進行安裝,這個就跟安裝一個軟體一樣,如果不知道就找 度娘

(注意版本)下載地址為:https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html

2、下載 CentOS (這裡我下載的是CentOS7) 下載地址:http://mirrors.nju.edu.cn/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso

1.2 安裝CentOS

1、開啟VMware Workstation,點選新建虛擬機器,選擇“稍後安裝作業系統”選項,如下圖所示

      點選 下一步 繼續

2、系統選擇 Linux ,版本選擇CentOS 7 64 位  如下圖  點選下一步 

3、給虛擬機器的命名和安裝位置  點選下一步

 4、指定磁碟大小 選擇好了  點選下一步

5、在這裡要首先選擇點選 “自定義硬體” 如下圖紅圈選擇的部分

6、對一些硬體的選擇 下面是我的選擇 注意:

      a、新CD/DVD(IDE) 這個要選擇 :使用ISO映像檔案,並選擇其路徑(這個就是之前下載的CentOS 7檔案) 

      b、網路介面卡要選擇:橋接模式 直接連線物理網路

 

7、選擇完成之後點選關閉,然後點選完成按鈕之後選擇 虛擬機器 點選 播發虛擬機器 按鈕 出現如下圖

8、點選回車鍵  出現選擇語言介面,預設選擇的是English,點選Continue繼續

9、CentOS 安裝配置主介面 LOCALIZATION和SOFTWARE部分不需要進行任何設定,其中需要注意的是sofrware selection選項,這裡本次採用預設值(即最小化安裝,這種安裝的linux系統不包含圖形介面)安裝,至於其他元件,待後期使用通過yum安裝即可。system部分需要必須規劃配置的是圖中紅色部分選項,即磁碟分割槽規劃,另外可以在安裝過程中修改network & host name選項中修改主機名(預設主機名為localhost.localdomain)。具體配置過程如下:

        點選“INSTALLATION DESTINATION”,進入如下介面紅圈選擇的部分

選中20G硬碟,下來滾動條到最後,選中“i will configure partitioning”,即自定義磁碟分割槽,最後點選左上角done進行磁碟分割槽規劃  具體如下圖 步驟來選擇:

規劃後介面如下,點選done完成分割槽規劃,

之後出現如下圖所示 點選紅圈選擇的部分

點選下面的“Accept Changs”

10、完成磁碟規劃後,點選下圖紅框部分,修改作業系統主機名Host name,(如下圖2所示),然後點選done完成主機名配置,返回主配置介面:

 

11、在下圖中,其實從第10步配置開始我們就可以發現右下角“begin installtion”按鈕已經從原本的灰色變成藍色,這說明已經可以進行作業系統安裝工作了,點選“begin installtion”進行作業系統安裝過程

12、在下圖使用者設定中需要做的僅是修改root使用者密碼,點選“root password”,設定密碼,如果密碼安全度不高,比如我這裡的密碼為“oracle”,那麼可能需要點選2次確定才可以。當root密碼設定成功再次返回安裝介面時我們可以發現之前user setting介面紅色警告消失了,對比下面圖1和圖3

13、使用root 使用者登陸 密碼是你之前建立的密碼 出現如下圖登陸成功

修改IP地址命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33  但是最後一個“ens33”是要根據下圖中的紅框中顯示的來修改進入

之後按 ” i” 進入編輯模式,修改的內容如下紅圈選中的

修改好了按“esc”鍵後,再按 ” q”鍵 輸入“wq” 回車,完成配置檔案的編輯,然後再輸入:service network restart 命令重啟網絡卡,生效剛剛修改的IP地址,到此CentOS安裝完成。

1.3 配置CentOS開發環境

yum install vim  //強大的Vi編輯器,類似於Vi的文字編輯器,不過在Vi的基礎上增加了很多新的特性

yum install wget //從網路上自動下載檔案的工具,支援通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載

yum install gcc   //一套由GNU工程開發的支援多種程式語言的編譯器

yum install cpp   

yum install gcc-c++

yum install make  //makefile

yum install gdb  //除錯工具

yum install git     // 安裝GIT

執行完就差不多可以了

1.4 配置CentOS 視覺化介面(可以安裝也可以不安裝  個人覺得安裝了好操作)

1、首先安裝X(X Window System) 命令為:yum groupinstall “X Window System” 回車(注意有引號)由於這個軟體組比較大,安裝過程會比較緩慢,安裝完成會出現complete

2、檢查一下我們已經安裝的軟體以及可以安裝的軟體,用命令:yum grouplist 回車

3、然後安裝我們需要的圖形介面軟體:GNOME(GNOME Desktop)命令為:yum groupinstall “GNOME Desktop” (注意有引號) 同樣的這個軟體組比較大,安裝過程會很慢,請耐心等待,安裝完成會出現complete

4、安裝完成會我們可以通過命令  startx  進入圖形介面 可能需要重啟(命令為reboot)

2 SRS 直播伺服器搭建

2.1 原始碼下載

1、從github 上把原始碼下載下來 à Git clone https://git.oschina.net/winlinvip/srs.oschina.git  (或者 https://github.com/ossrs/srs.git 或者 https://gitlab.com/winlinvip/srs-gitlab.git )

2.2 編譯原始碼及安裝

1、進入trunk 目錄: cd srs/trunk

2、編譯原始碼: ./configure --prefix=/usr/local/srs --with-ssl --with-hls --with-hds --with-dvr --with-nginx --with-http-callback --with-http-server --with-stream-caster --with-http-api --with-ffmpeg --with-transcode --with-ingest --with-stat --with-librtmp --with-research --with-utest --with-gperf --with-gprof

2.3 配置檔案

1、配置檔案srs.conf

listen              1935;

max_connections     1000;

srs_log_tank        file;

srs_log_file        ./objs/srs.log;

http_api {

    enabled         on;

    listen          1985;

}

http_server {

    enabled         on;

    listen          8080;

    dir             ./objs/nginx/html;

}

stats {

    network         0;

    disk            sda sdb xvda xvdb;

}

vhost __defaultVhost__ {

 # hls直播(手機端)

    hls {

        enabled         on;

        hls_fragment    10;

        hls_window      60;

        hls_path        ./objs/nginx/html;

        hls_m3u8_file   [app]/[stream].m3u8;

        hls_ts_file     [app]/[stream]-[seq].ts;

    }

    # flv直播

    http_remux {

        enabled     on;

        mount       [vhost]/[app]/[stream].flv;

        hstrs       on;

    }

}

# vhost多租用

vhost dvr.com {

    hls {

        enabled off;

    }

    dvr {

        enabled      on;

        dvr_path     ./objs/nginx/html/[app]/[stream].[timestamp].flv;

        dvr_plan     session;

    }

}

2、配置檔案rtmp.conf

listen              1935;

max_connections     1000;

pid                 ./objs/srs.pid;

chunk_size          60000;

ff_log_dir          ./objs;

srs_log_level       trace;

srs_log_file        ./objs/srs.log;

utc_time            off;

daemon              on;

srs_log_tank        file;

vhost __defaultVhost__ {

}

3、配置檔案srs_kp.conf(這個檔案有就配置沒有就不用)

sten 1935;

 max_connections 1000;

daemon off;

srs_log_tank console;

 http_server {

enabled on;

listen 8080;

dir ./objs/nginx/html;

 }

vhost __defaultVhost__

{

dvr

 {

enabled on;

 #配置成時分秒

dvr_path ./objs/nginx/html/[app]/[stream]/[15][04][05].flv;

dvr_plan segment; dvr_duration 5;

 #切片長度,這個可以改 e.g. 1 or 3

dvr_wait_keyframe on;

 }

 gop_cache on;

}

2.4 啟動SRS直播伺服器命令

1、啟動命令 :./objs/srs -c ./conf/srs.conf

2.5 關於推流和拉流

推流的地址與拉流的地址

       推流地址:首先BASE_URL:基本是該伺服器的IP地址或者是其他能訪問伺服器的地址

              後面接的地址就是可以任意修改的,但是拉流的地址要與推流的地址相同

              如:rtmp://47.106.104.249:1935/live/livestream

                     rtmp://47.106.104.249:1935 地址不可修改                   

                     /live/livestream  可以根據需求進行修改

 

 拉流地址:就是根推流的地址相同就可以了