实现无插件Web播放RTSP流视频

2,284 阅读2分钟

实现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

image.png

正文

海康开放平台上无插件开发demo中提供的Nginx虽是Windows版本的,但是实测部署在Linux上的Nginx也可以,但是 nginx.conf 必须 用开发包内自带的。网盘&提取码: 3n3r

image.png

Demo试用

我司实际应用中只需要demo的实时播放,其他的更丰富的功能,如云台控制,回访等功能截图中未显示,开发包内有SDK文档,本文Demo解析中不做赘述。

1.输入nvr的设备ip地址、端口号、用户名和密码,然后点击登录按钮,可在右侧看到登录返回的状态

image.png

2.登录成功以后设备及RTSP端口以及通道等信息会自动获取

image.png

3.在通道列表中选择需要播放的通道,然后点击“开始预览”按钮,左上角会开始播放实时视频。

 

Demo解析

1.调用海康平台初始化插件

image.png

2.登录海康平台获取通道等信息

image.png

image.png

3.点击预览开始播放

image.png

至此就是本次需求的完整解决方案。至于嵌入以及样式美化就交给前端小姐姐去做吧~~