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++開發,所有需要使用的小伙伴需要自己再進一步的開發才行。