最近有个项目要对B超影像做实时的视频分析,B超探头是type C接口的,我本以为跟普通摄像头一样直接在PC上获取视频信号就行了,但是经过测试发现我又天真了,B超探头回传的信号必须用他们自己的软件解码。这就悲剧了,我去搞解码肯定不可能。所以想了个简单的办法:在安装B超解码软件的电脑上录屏,并通过rtsp把视频流传输到做视频分析的电脑上实时处理。下面把安装和调试过程记录一下,希望能帮到有需要的朋友。
- 下载rtsp-simple-server
下载地址Releases · aler9/rtsp-simple-server · GitHub
- 启动rtsp-simple-server
下载完成后解压缩然后执行里面的rtsp-simple-server.exe
- 安装ffmpeg
从官网下载ffmpeg,官网地址https://ffmpeg.org/download.html
- 配置ffmpeg
解压缩ffmpeg之后,把ffmpeg-master-latest-win64-gpl\bin\ffmpeg.exe配置到环境变量中,用户变量和系统变量都加上。
- 启动ffmpeg
打开CMD,执行命令ffmpeg -f gdigrab -r 30 -i desktop -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f rtsp -g 5 -an rtsp://192.168.1.195:8554/mystream
命令参数中desktop表示录屏整个桌面,也可以只录其中一部分;最后面的地址写本机IP,其他电脑看视频流的时候也要用这个IP和路径。配置参数我就不一一列举了。
- 查看rtsp流
用一台局域网内的电脑,安装个能看rtsp的播放器,播放rtsp://192.168.1.195:8554/mystream 就是前面命令里面定义的rtsp地址。此时应该可以看到安装rtsp-simple-server和ffmpeg那台电脑的桌面了。我的配置延迟大概1秒。
在rtsp-simple-server.exe上能看到客户端连接和断开rtsp的情况。
好了,大功告成!