背景就不说了,直接上干货,首先参考文章得贴出来,感谢这篇文章作为地基支持WVP+ZLMediaKit流媒体搭建并实现摄像头GB28181推流播放https://www.cnblogs.com/uestc2007/p/17903275.html

FFMPEG的安装博主这边使用了libx264编码库的下面补上安装步骤

tar jxvf x264-snapshot-20160220-2245-stable.tar.bz2

./configure --prefix=/root/build_libs --enable-shared --enable-pic

make && make install

这里用的安装包见附件安装完成之后将/root/build_libs添加至/etc/ld.so.conf中再使用ldconfig命令加载一下动态库文件,--prefix安装目录可以看个人需要而定

WVP-pro最好使用最新版,博主这里是2.7.4,之前的2.6.9是真的难用,博主整了两天没整出来转的效果,2.7.4虽然说有BUG,用IDEA打开项目,有一个AblUrls还有一个大写的ABLUrls这个类,然后再Windows里面这个算是同名了,然后就会报有个类找不到,希望WVP开发组能改下这个命名。

下面直接上界面截图,按照以下步骤去走大致不会错

首先找到推流列表,不要问为啥不用拉流代理,这个版本的拉流代理我也不知道为什么它报错,不知道是我的ZLM没起对还是啥,先不管了,我这就直接使用推流列表来做了。

这里输入应用名,还有流ID,后续有用,这里感觉也有问题你输入完保存之后才能再到编辑中输入国标编码这些信息,也无大碍。

这个时候有一个这样的,然后进去自己填写自己的国标信息,注意设备状态一定要设置为在线状态。

编辑的信息设置完之后,出来会有一个“生成推流地址”。

点一下,填写刚才输入的应用名还有流地址,选择ZLM节点点击生成就行了。

生成推流地址之后就有这么几个推流地址,进入自己搭建FFMPEG的服务器里面用以下命令:

ffmpeg -rtbufsize 4M -i 流来源地址 \
       -c:v libx264 -preset ultrafast -tune zerolatency -x264-params keyint=30:min-keyint=30:scenecut=0 -g 30 \
       -c:a aac -b:a 128k -ar 44100 -ac 2 -strict -2 \
       -f flv 流推送目标地址

具体参数参考了这个博主,为啥要看这个博主,是因为技术经理让我优化一下海康的直播流的延迟呢,我真的。

FFmpeg+ZLMediaKit 超低延时推流_ffmpeg推流延迟-CSDN博客https://blog.csdn.net/ljn1046016768/article/details/139808110?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522436d705a2c1445f2bad6a1eafa642cba%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=436d705a2c1445f2bad6a1eafa642cba&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-24-139808110-null-null.142^v102^control&utm_term=ffmpeg%E6%8E%A8%E6%B5%81%E5%BB%B6%E8%BF%9F%E9%AB%98%E6%80%8E%E4%B9%88%E5%8A%9E&spm=1018.2226.3001.4187我这里是用了rtmp流,用rtsp的流的话-f flv要改为-f rtsp。

推流之后,推流状态会变为推流中。

点击播放试试有没有画面,有画面那就没问题了,没有画面看看ZLM的日志信息。

到国标级联里,添加信息,主要填写上级平台SIP服务器信息,还有认证密码,若上级平台规定给你了设备编码,你的设备编码要用上级平台规定的。

我这里用的LiveNVR进行验证,也可以再搭建一套WVP作为上级平台进行验证,我是两个平台都搭建了。

上级平台我就不截图了,主要用文字说明一下,级联之后上级平台会出现一个设备并且带有一个通道,这个通道不要管它,播放不了的。然后到本级平台,本级平台指的我们配置的这个平台。

点击通道共享,将推流的那个通道推送过去。

选择自己配置通道,点击添加即可,出来之后再点击一下推送通道,等待上级响应,然后再去上级平台看看有没有这个通道,有了就播放一下,有了就没问题。没有就按下面方案去排查:

  1. 首先排查流是否正常能够看到
  2. 排查ffmpeg是否正常进行转发,若没有进行转发使用上面命令进行转发
  3. 排查WVP服务是否正常启动,若没有启动则进行启动,若以启动则查看WVP中是否存在ZLM节点,若没有则启动ZLM。
  4. 若服务全部完整且正常推流,但平台中没有,查看WVP配置是否正常,配置完成,应看到“推流中”状态
  5. 若配置为推流中,且上级平台无发看到,则检查国标级联是否正确,应为下图所示,选择管道并推送,设备状态必须设置为在线。
  6. 排查防火墙是否未开启端口
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐