前言
前端vue2 项目需要播放海康的视频流,本地启动起来了,现在需要的服务器上部署,服务器是Ubuntu 20.04,下面是部署时遇到的问题及解决方法,总耗时2天。
不知道怎么在Ubuntu中部署前端项目的可以去看我之前几篇文章。
【vue2】前端如何播放rtsp 视频流,拿到rtsp视频流地址如何处理,海康视频rtsp h264 如何播放
Ubuntu 常用命令、docker 常用命令、unzip常用命令、tar常用命令
windows 11安装VMware 17 ,VMware安装Ubuntu 20.4
【ubuntu】docker中如何ping其他ip或外网
Ubuntu 20.4中使用webrtc-streamer报错
环境:ubuntu 20.04
webrtc-streamer版本:webrtc-streamer-v0.7.0-Linux-x86_64-Debug.tar.gz
报错截图
在Ubuntu中启动后没一会就自动退出了,大概报错是
Increasing reorder buffer to 1
avcodec_receive_frame error : -11
VideoDecoder::DecoderThread failure:-1
截图如下:
我怀疑是webrtc-streamer 版本太低了,于是乎采用webrtc-streamer-v0.8.5-Linux-x86_64-Debug.tar.gz
换完版本后好家伙直接启动不起来了,截图如下:
一开始看到这个报错也不懂,但肯定和提示的GLIBC
有关,搜了一下。大概意思是,glibc版本太低了,支持webrtc的是2.32-2.35
。
那就只有升级glibc了,注意
升级glibc是一个敏感
操作,稍有不慎可能就把系统搞崩
了。好在这里我用的是虚拟机,但即使是这样咱也不敢贸然升级。于是重新
装了一个Ubuntu 系统版本是22.04
,装完系统后打开控制台输入命令
ldd --version
看到2.35
,ok这下glibc版本是够用了。启动wertc,还是不行,但这次报错是不是图二,而是图一。
脑袋都大了,冷静一下继续分析问题,webrtc应该是目前最高版本了,glibc也是满足webrtc了,为什么还会报错?难道wertc版本下载错了?这时候我注意到下载的版本中有debug字样,搜了一下才知道,debug版
本身就有问题,要有release版
。于是重新下载启动,这次下载启动没问题了。rtsp视频也能播放了。
有时候大家只想看结果,不关心过程,为了方便解决大家问题,在下面重新总结到底怎么解决报错,需要的环境又是什么。
总结
webrtc-streamer 最终启动起来,rtsp视频流能够播放环境如下:
Ubuntu 22.04
GLiBC版本:2.35
webrtc版本:webrtc-streamer-v0.8.5-Linux-x86_64-Release.tar.gz
webrtc下载地址:webrtc-streamer
webrtc启动命令(进入webrtc文件夹后执行):./webrtc-streamer
注意
:启动起来之后这个命令窗口就不能关了
后续发现ubuntu 20.04 中webrtc适用的版本为:webrtc-streamer-v0.7.0-Linux-x86_64-Release.tar.gz
(webrtc版本不能再高了,再高会报glibc版本太低的错误)
下班~