用SRS搭建WebRTC流媒體服務(wù)器實(shí)戰(zhàn)

本文首發(fā)地址-開源實(shí)踐網(wǎng):用SRS搭建WebRTC流媒體服務(wù)器實(shí)戰(zhàn)

WebRTC經(jīng)過這么多年的發(fā)展,目前已經(jīng)比較成熟的協(xié)議之一,播放也比較穩(wěn)定,協(xié)議也已經(jīng)成為了RFC,相應(yīng)的開源項(xiàng)目也越來越多,但是基于WebRTC協(xié)議的部署簡單,性能強(qiáng)悍,功能強(qiáng)大流媒體服務(wù)器的項(xiàng)目還比較稀少。之前了解到的服務(wù)器比如Mediasoup,Janus,Medooze ,要么就是設(shè)計(jì)復(fù)雜,接入成本要,要么就是性能較差,還就是多種語言結(jié)合,學(xué)習(xí)成本較高。 而SRS聚焦視頻相關(guān),功能專一,語言使用了高性能的c++,并且支持Rtmp轉(zhuǎn)Webrtc等其他強(qiáng)大的功能的媒體服務(wù)器。

安裝和配置SRS

1.源碼編譯安裝運(yùn)行SRS

git clone -b develop https://gitee.com/ossrs/srs.git &&
cd srs/trunk && ./configure && make && ./objs/srs -c conf/srs.conf
注:需要配置Candidate,官網(wǎng)鏈接https://github.com/ossrs/srs/wiki/v4_CN_WebRTC
官網(wǎng)提示

使用這個(gè)命令開啟RTC支持

env CANDIDATE="192.168.3.10" \
  ./objs/srs -c conf/rtc.conf

2.SRS常用命令

sudo ./etc/init.d/srs stop           // 停止srs
./objs/srs -c    conf/srs.conf      // 啟動(dòng)srs
./etc/init.d/srs  status                // 查看srs服務(wù)狀態(tài)
tail -n 30 -f ./objs/srs.log.          // 查看SRS的日志

3.配置nginx代理
若不需要瀏覽器推流,可以不用設(shè)置nginx代理,使用localhost訪問

   server {
       listen 443 ssl;
       ssl on;
       server_name   yourhost;  
       ssl_certificate     /etc/nginx/cert/your.pem;
       ssl_certificate_key /etc/nginx/cert/your.key;
       gzip            on;
       gzip_types      text/plain application/xml text/css application/javascript;
       gzip_min_length 1000;
        location / {
        proxy_redirect                      off;
        proxy_set_header Host               $host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto  $scheme;
        proxy_read_timeout          1m;
        proxy_connect_timeout       1m;
        proxy_pass                          http://127.0.0.1:8080;
         }
       location ~ ^/(console|players)/ {
          proxy_pass http://127.0.0.1:8080/$request_uri;
       }
       location ~ ^/.+/.*\.(flv|m3u8|ts|aac|mp3)$ {
           proxy_pass http://127.0.0.1:8080$request_uri;
        }
        location ~ ^/(api|rtc)/ {
           proxy_pass http://127.0.0.1:1985$request_uri;
        }
    }

注意:your 代表需要配置你自己的域名信息,由于使用瀏覽器推流必須使用https協(xié)議,所以我這邊配置了證書
4.訪問配置的域名
訪問nginx配置的網(wǎng)址 https://webrtc.yourhost.com/
出現(xiàn)如下內(nèi)容,則服務(wù)端架設(shè)成功

SRS首頁

5.使用webrtc協(xié)議推流
推流鏈接:https://webrtc.yourhost.com/players/rtc_publisher.html?vhost=d.ossrs.net&server=d.ossrs.net&api=443&autostart=true&schema=https&stream=show
也可以使用官網(wǎng)鏈接,url填入你服務(wù)器的url
rtc推流

6.使用webrtc協(xié)議拉流
拉流鏈接:https://webrtc.yourhost.com/players/rtc_player.html?vhost=d.ossrs.net&server=d.ossrs.net&api=443&autostart=true&schema=https&stream=show
也可以使用官網(wǎng)鏈接,url填入你服務(wù)器的url

rtc拉流

7.推拉流過程中服務(wù)端監(jiān)控
image.png

總結(jié)

雖然整片文章看起來不復(fù)雜,流程很簡單。但是官網(wǎng)的文檔中的知識點(diǎn)比較分散,所以大家要想快速的搭建的話就參考我這篇文章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容