引言
最近经常有人咨询RTVS能否播摄像头的rtsp的流,RTVS暂只支持接入JT/T 1078协议,并不支持rtsp等格式。
但可以借助RTVSDev模拟器将rtsp、rtmp、hls或本地文件等视频流转换为JT/T 1078协议格式,用此工具配合RTVS即可实现HTML5无插件播放rtsp。
以下为具体步骤。
部署RTVS
首先部署一个RTVS,如何部署可以参考下面的地址,这里我不再描述。
https://blog.csdn.net/vanjoge/article/details/108319078
我这里在我内网的192.168.10.3
服务器已经部署好了一份
启动RTVSDev
按照下面命令启动RTVSDev
docker run --restart always -p 5288:80 -d vanjoge/rtvsdevice
然后访问URL http://IP:5288即可打开RTVSDev配置页面。
配置RTVSDev
因为JT1078信令部分是基于808的,RTVSDev需要完整模拟808的注册、鉴权等逻辑,所以需要填写手机号、制造商、终端编号、车牌、车牌颜色等信息。
点击新增按钮,打开配置界面
由于我本地没有摄像头,找了个公开的rtsp地址演示,此地址清晰度不高,且卡顿比较厉害,建议自己拿本地的摄像头来试
rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
填写完毕后点击保存
模拟设备即开始模拟上线。
刷新页面可以看到模拟设备的在线状态,当变为在线后即可查看视频。
也可在RTVS自带的模拟网关上也可以看到模拟的设备上线了,模拟网关web页面地址 http://你部署的服务器IP:9080/
播放
打开RTVS的测试页http://lib.cvtsp.com/video/CVNetVideoJs/test/tstrtvs.html,填写上部署的服务地址和端口,我这里是192.168.10.3
和 17000
,手机号改为RTVSDev中填写的手机号111111111112
点击实时视频(0x9101)
按钮,稍做等待即可看到播放画面。
注:卡顿多是由于rtsp造成,建议拉内网摄像头的rtsp流做测试,或本地用vlc、ffmpeg等播放同一个rtsp对比。
RTVSDev其他支持
RTVSDev除了支持RTSP外,还支持RTMP、HLS、文件等可常见播放格式,如下这个苹果HLS测试地址
http://devimages.apple.com/iphone/samples/bipbop/gear3/prog_index.m3u8
同时RTVSDev也支持808压力测试,Log页面可显示开关视频、上下线失败原因等。
浏览器为什么不能直接播rtsp
浏览器(IE加载ocx除外)是无法直接拉取rtsp流的,因为浏览器只能获取基于http协议的流,rtsp与http没什么关系,所以浏览器想要播放rtsp,后台必须将rtsp的音视频流转为http协议浏览器才可获取到。
获取流也只是第一步,rtsp的封装浏览器也是无法直接播放的,还需要做相应转换。
RTVS是什么
RTVS是一个低延迟、跨平台、无插件、高性能的完整商业级1078视频平台。
执行标准
JT/T 1077-2016 道路运输车辆卫星定位系统 视频平台技术要求
JT/T 1078-2016 道路运输车辆卫星定位系统 视频通讯协议
JT/T 1078-2014 道路运输车辆卫星定位系统视频通迅协议标准报批稿(仅视频)
T/GDRTA 002—2020 粤标(20位SIM卡号)
支持音频格式
G711A
G711U
G726 40K,32k,24k,16k (支持自动预测)
ADPCMA
AAC
AMR_NB(仅解码)
输出流格式支持
Fmp4
Webrtc
Hls
Rtmp
项目地址
https://github.com/vanjoge/RTVS
https://gitee.com/vanjoge/RTVS
QQ交流群:614308923