小编use*_*998的帖子

OpenCV 中的 RTSP 视频流捕获

目标是从磁盘获取视频文件,将其转换为 RTSP 流,通过 LAN 将其提供给另一台 PC,并将该视频流捕获到 OpenCV 中。我的电脑是192.168.1.100。

我运行 VLC 的语法如下。

vlc --vlm-conf=vlm.conf -I telnet --telnet-password mypassword
Run Code Online (Sandbox Code Playgroud)

我有一个 vlm.conf 文件,如下所示:

new video1 broadcast enabled loop
setup video1 input video1.mkv
setup video1 output #rtp{mux=ts,sdp=rtsp://192.168.1.100:8554/video1.sdp}
setup video1 option sout-keep
control video1 play
Run Code Online (Sandbox Code Playgroud)

video1.mkv是本地磁盘上的视频文件。

OpenCV 版本:

>>> cv2.__version__
'3.4.0-dev'
Run Code Online (Sandbox Code Playgroud)

我们可以尝试在 LAN 上的另一台 PC 上用 Python 打开该流,但失败了。

>>> cap = cv2.VideoCapture("rtsp://192.168.1.100:8554/video1.sdp")
[rtsp @ 0xabddc0] method SETUP failed: 459 Client error
Run Code Online (Sandbox Code Playgroud)

我们可以尝试rtsp://192.168.1.100:8554/video1.sdp使用 VLC 查看相同的 RTSP 流 ( ),并且效果成功。

作为类似的测试,我们可以尝试使用提供网络流的网络监控摄像头。

rtsp://root:mypassword@192.168.1.105/axis-media/media.amp
Run Code Online (Sandbox Code Playgroud)

我们可以在 VLC 中查看该流,这成功了。 …

video streaming opencv vlc rtsp

5
推荐指数
0
解决办法
1981
查看次数

标签 统计

opencv ×1

rtsp ×1

streaming ×1

video ×1

vlc ×1