实现Chrome中嵌入播放RTSP流视频
场景
- 需求:在Chrome上直接播放RTSP流。
- 难点:第三方提供的流地址是经过转换的,并非标准RTSP格式流。webrtc-stream这样的
- 环境:海康,ChromeV97_X64,Linux
RTSP知识提要
-
老的取流格式 1.主码流取流: rtsp://admin:password@ip:port/h264/ch1/main/av_stream
2.子码流取流: rtsp://admin:password@ip:port/h264/ch1/sub/av_stream
3.h264是编码格式,ch1指通道1,main是主码流的意思,sub指子码流
PS:如果是NVR,ch33指通道1,ch34指通道2,以此类推 -
新的取流格式 1.rtsp://admin:password@ip:port/Streaming/Channels/101?transportmode=unicast
和老的url格式同理,101是指通道1的主码流,102是指通道1的子码流,201是指通道2的主码流,202是指通道2的子码流,以此类推 -
确认rtsp流以后我们可以用流媒体播放器对视频地址进行测试,这里推荐使用
VLC media player
正文
海康开放平台上无插件开发demo中提供的Nginx虽是Windows版本的,但是实测部署在Linux上的Nginx也可以,但是 nginx.conf 必须 用开发包内自带的。网盘&提取码: 3n3r
Demo试用
我司实际应用中只需要demo的实时播放,其他的更丰富的功能,如云台控制,回访等功能截图中未显示,开发包内有SDK文档,本文Demo解析中不做赘述。
1.输入nvr的设备ip地址、端口号、用户名和密码,然后点击登录按钮,可在右侧看到登录返回的状态
2.登录成功以后设备及RTSP端口以及通道等信息会自动获取
3.在通道列表中选择需要播放的通道,然后点击“开始预览”按钮,左上角会开始播放实时视频。
Demo解析
1.调用海康平台初始化插件
2.登录海康平台获取通道等信息
3.点击预览开始播放
至此就是本次需求的完整解决方案。至于嵌入以及样式美化就交给前端小姐姐去做吧~~