基于WebRtc的rtsp流播放

WebRtc一般被用作多人視頻,按照這種原理來說播放rtsp流也是可以的,這里推薦一個項目:kurento-media-server,項目介紹我就不多說了,大家可以去他的官網看一下介紹。

先看一下效果:

使用h5的video標簽,可正常全屏聲音播放等。

下面說一下部署方式,部署方式有兩種,第一種源碼編譯(需要科學上網),第二種docker安裝,兩種方式我都說一下

因為docker安裝比較簡單,先說第一種

Dokcer部署

Dokcer安裝自行百度,安裝好之后執行如下命令:

docker run \

??? -p 8888:8888/tcp \

??? -p 5000-5050:5000-5050/udp \

??? -e KMS_MIN_PORT=5000\

??? -e KMS_MAX_PORT=5050\

??? kurento/kurento-media-server:latest

如下圖

安裝好之后從日志上面可以看到websocket監聽在8888端口上,上面的-p 8888:8888說明映射宿主機的8888端口,這樣服務端就啟動好了。接下來安裝客戶端,客戶端直接安裝在宿主機上面,從這個地址下載代碼:https://github.com/lulop-k/kurento-rtsp2webrtc。下載之后按照他的說明依次執行,(如果是windwos就是用管理員身份運行cmd,mac或者ubuntu使用sudo)

npm install -g bower

cd kurento-rtsp2webrtc

bower install

npm install -g http-server

http-server

第五條命令執行之后

這個時候訪問:http://127.0.0.1:8080就可以看到第一張圖的效果了,然后輸入rtsp地址,點擊start按鈕就可以播放了

源碼編譯

源碼編譯對環境要求比較苛刻,按照官網的說明只能使用ubuntu16.04或者ubuntu18.04,這里我的環境使用18.04

確認可以科學上網

安裝環境編譯工具

sudo apt-get update && sudo apt-get install --no-install-recommends --yes \

??? build-essential \

??? ca-certificates \

??? cmake \

??? git \

??? gnupg

添加key

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5AFA7A83

設置環境變量

export DISTRO="bionic"

sudo tee "/etc/apt/sources.list.d/kurento.list" >/dev/null <<EOF

deb [arch=amd64] http://ubuntu.openvidu.io/dev $DISTRO kms6

EOF

說明:16.04設置為:DISTRO=“xenial”

更新倉庫

sudo apt-get update && sudo apt-get install --no-install-recommends --yes kurento-media-server-dev

下載源碼編譯

git clone https://github.com/Kurento/kms-omni-build.git

cd kms-omni-build

git submodule update --init --recursive

git submodule update --remote

export MAKEFLAGS="-j$(nproc)"

sudo ./bin/kms-build-run.sh

如下圖

可以看到啟動之后同樣綁定在了8888端口,客戶端啟動跟上面一致,基本上通過上面的配置可以進行視頻播放了,很顯然這個是需要自己進行二次開發才能滿足現場環境的需求,底層采用c++開發,所有需要使用的小伙伴需要自己再進一步的開發才行。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容