搭建雲流媒體存儲服務+直播+gb81818+智能攝像頭,海康威視,大華,華爲,國標推流,RTSP 拉流 srs

開源項目:https://github.com/ossrs/srs-docker#usagehtml

1.centos7安裝編譯git

Step1:拉git代碼,切換到開發分支

git clone https://gitee.com/winlinvip/srs.oschina.git srs &&

cd srs/trunk &&

git remote set-url origin https://github.com/ossrs/srs.git &&

git pull

Step2:切換到開發分支

git checkout develop &&

./configure --with-gb28181 &&

make clean && make

Step3:編輯push.gb28181.conf,好啓動服務  

./objs/srs -c conf/push.gb28181.conf

push.gb28181.conf 配置文件github

# push gb28181 stream to SRS.

listen                  1935;
max_connections         1000;
daemon                  off;
srs_log_tank            console;

http_api {
    enabled         on;
    listen          1985;
}   

stats {
    network         0;
}

stream_caster {
    enabled             on;
    caster              gb28181;

    # 轉發流到rtmp服務器地址與端口
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400875104
    # [stream] is VideoChannelCodecID(視頻通道編碼ID) for sip
    # 自動建立的道通[stream] 是‘chid[ssrc]’ [ssrc]是rtp的ssrc
    # [ssrc] rtp中的ssrc
    output              rtmp://127.0.0.1:1935/live/[stream];
    
    # 接收設備端rtp流的多路複用端口
    listen              9000;

    # rtp接收監聽端口範圍,最小值
    rtp_port_min        58200;
    # rtp接收監聽端口範圍,最大值
    rtp_port_max        58300;

    # 是否等待關鍵幀以後,再轉發,
    # off:不需等待,直接轉發
    # on:等第一個關鍵幀後,再轉發
    wait_keyframe       on;
    
    # rtp包空閒等待時間,若是指定時間沒有收到任何包
    # rtp監聽鏈接自動中止,發送BYE命令
    rtp_idle_timeout    30;

    # 是否轉發音頻流
    # 目前只支持aac格式,因此須要設備支持aac格式
    # on:轉發音頻
    # off:不轉發音頻,只有視頻
    # *注意*!!!:flv 只支持11025  22050  44100 三種
    # 若是設備端沒有三種中任何一個,轉發時爲自動選擇一種格式
    # 同時也會將adts的頭封裝在flv aac raw數據中
    # 這樣的話播放器爲自動經過adts頭自動選擇採樣頻率
    # 像ffplay, vlc均可以,可是flash是沒有聲音,
    # 由於flash,只支持11025 22050 44100
    audio_enable        off;

    # 是否開啓rtp緩衝
    # 開啓以後能有效解決rtp亂序等問題
    jitterbuffer_enable  on;

    # 服務器主機號,能夠域名或ip地址
    # 也就是設備端將媒體發送的地址,若是是服務器是內外網
    # 須要寫外網地址,
    # 調用api建立stream session時返回ip地址也是host
    # $CANDIDATE 是系統環境變量,從環境變量獲取地址,若是沒有配置,用*
    # *表明指定stats network 的網卡號地址,若是沒有配置network,默認則是第0號網卡地址
    # TODO: https://github.com/ossrs/srs/pull/1679/files#r400917594
    # host       $CANDIDATE;
    host       10.10.9.200;
    #根據收到ps rtp包自帶建立rtmp媒體通道,不須要api接口建立
    #rtmp地址參數[stream] 就是通道id  格式chid[ssrc]
    auto_create_channel   off;

    sip {
        # 是否啓用srs內部sip信令
        # 爲on信令走srs, off 只轉發ps流
        enabled on;
        
        # sip監聽udp端口
        listen              5060;
        
        # SIP server ID(SIP服務器ID).
        # 設備端配置編號須要與該值一致,不然沒法註冊
        serial              34020000002000000001;

        # SIP server domain(SIP服務器域)
        realm               3402000000;

        # 服務端發送ack後,接收回應的超時時間,單位爲秒
        # 若是指定時間沒有迴應,認爲失敗
        ack_timeout         30;

        # 設備心跳維持時間,若是指定時間內(秒)沒有接收一個心跳
        # 認爲設備離線
        keepalive_timeout   120;

        # 註冊以後是否自動給設備端發送invite
        # on: 是  off 不是,須要經過api控制
        auto_play           on;
        # 設備將流發送的端口,是否固定
        # on 發送流到多路複用端口 如9000
        # off 自動從rtp_mix_port - rtp_max_port 之間的值中
        # 選一個能夠用的端口
        invite_port_fixed     on;

        # 向設備或下級域查詢設備列表的間隔,單位(秒)
        # 默認60秒
        query_catalog_interval  60;
    }
}
vhost __defaultVhost__ {
}

2.檢測服務端口是 sip:5060  api:1985 直播推流端口:1935docker

3.配置攝像頭centos

4.檢查API地址與端口1985是否生效,攝像頭是否上線http://ossrs.net/players/srs_gb28181.htmlapi

相關文章
相關標籤/搜索