发现一个可以将摄像头的rtsp视频流地址转为m3u8格式并且可以提供对外接口的工具,分享给大家。https://github.com/LIRUILONGS/rtsp2hls-M3U8
我们拿到一个摄像头,知道账号密码,就知道了这个摄像头的rtsp视频流地址。rtsp://账号:密码@ip:554/h264/ch1/main/av_stream一般主流摄像头像海康、大华等都会有相关的rtsp地址。但是拿到这个地址后交给前端,前端却不能播放,一般的播放插件不支持rtsp播放。那怎么办呢?此时,我们就可以使用这个工具将rtsp地址转为前端可播放的hsl格式的视频流地址。
git clone https://github.com/LIRUILONGS/rtsp2hls-M3U8
cd rtsp2hls-M3U8
pip install -r requirement.txt
我这边是用conda管理python环境的,很好用,推荐大家使用。conda包后台回复“conda”即可拿到网盘下载地址。这两个我这边偷了个懒没有配置,直接放到代码目录下面用了,修改配置文件conf.yaml的时候直接配置对应的目录即可,如图源代码有两个main文件,一个是需要配置文件的,一个是将配置写到python文件中的,这两个使用哪个都可以,我这边使用的是修改配置文件的python文件。看名字就很容易理解
。conf.yaml上面两个修改成对应目录后,最下方需要修改摄像头账号密码,当然也可像ip一样写成动态的,若改成动态的化,需要简单修改main.py中的代码,将这两个当参数传进去。我这边修改了main.py的默认值,所有没有传参,正常时需要传ip、width、height这几个参数。如果你将前面的账号密码也做成动态的化,这边也需要将账号密码传过去。接着就可以拿着这个m3u8地址去vlc或者前端测试了。正常播放,但是我发现延时有点高
。来简单看一下请求过程,请求的时候创建了一个进程,使用ffmpeg开始对rtsp流进行切片转换,然后生成了一个m3u8地址的视频流。需要传参,ip、width、height,可修改该接口,将账号密码也动态传进来这就是简单使用的整个过程,如果摄像头不多也对实时要求不太高的话可以使用。
打赏

微信扫一扫,打赏作者吧~
本文链接:https://www.jingber.cn/post/3804.html 转载需授权!