使用webrtc RTSP 视频实时预览

一、首先将海康的摄像头 将视频编码设置成 h264编码 否则浏览器无法播放

二、 在github 发布页面根据需要的平台选择相应的包下载

            https://github.com/mpromonet/webrtc-streamer/releases

三、方式1

    

docker run -d --restart=always -p 8000:8000 -it mpromonet/webrtc-streamer -o -s  -w ../
但是此方式的弊端有两点:
1、前端在设置访问地址的时候 只能天localhost 或者 127.0.0.1 填本机ip会报错
2、还会阻塞接口

四、方式2

  直接下载对应包本地部署

    

这里下载6.0版本  最新7.0版本会报缺失GLIBC_包安装起来还是有点蛮烦的 而且最新的包一般不稳定  所以这里推荐使用6.0版本
下载地址
https://github.com/mpromonet/webrtc-streamer/releases/download/v0.6.0/webrtc-streamer-v0.6.0-Linux-x86_64-Release.tar.gz
下载以后解压缩
tar -zxvf webrtc-streamer-v0.6.0-Linux-x86_64-Release.tar.gz
mv webrtc-streamer-v0.6.0-Linux-x86_64-Release webrtc-streamer
启动
root@hicourt-System-Product-Name:/home/xuguangzong/Workspace/webrtc-streamer# ./webrtc-streamer -o -s  -w ../
由于这样无法做到开机自启和后台运行,所以接下来配置开机自启


################
ubuntu 开机自启
ubuntu-18.04不能像ubuntu16.04那样通过编辑rc.local来设置开机启动脚本,但是如果在18.04铁了心要通过rc.local来添加开机自启动脚本也不是不行,方法如下:
1、建立rc-local.service文件

  vim /etc/systemd/system/rc-local.service

2、将下列内容复制进rc-local.service文件
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

 

3、创建文件rc.local

  vim /etc/rc.local4、将下列内容复制进rc.local文件

4、将下列内容复制进rc.local文件

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution# bits.
#
# By default this script does nothing.
/Workspace/webrtc-streamer-v0.6.0-Linux-x86_64-Release/webrtc-streamer -o -s  -w ../ &

exit 0

5、给rc.local加上权限

chmod +x /etc/rc.local

6、启用服务和检查状态

systemctl enable rc-local

systemctl start rc-local.service
systemctl status rc-local.service

 

五、注意:如果过程中 报了如下类似的错误

./webrtc-streamer: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./webrtc-streamer)

那就需要安装GLIBC

 查看当前版本

strings /lib/x86_64-linux-gnu/libm.so.6 | grep GLIBC_

 

到该地址下载对应的包 http://ftp.gnu.org/gnu/libc/

wget http://ftp.gnu.org/gnu/libc/glibc-2.28.tar.gz
tar -zxvf glibc-2.28.tar.gz
cd glibc-2.28
mkdir build
cd build
../configure --prefix=/usr/local/glibc

make -j8
sudo make install

cd /lib/x86_64-linux-gnu
ln -s /usr/local/glibc/lib/libm-2.28.so libm.so.6
//会报错 ln: failed to create symbolic link ‘libm.so.6’: File exists
//此时需要强连
sudo ln -sf /usr/local/glibc/lib/libm-2.28.so libm.so.6

 

 

posted @ 2022-07-18 14:04  许光宗  阅读(1529)  评论(4编辑  收藏  举报