这个产品用于获取电脑屏幕画面,然后推流到本地 RTSP 服务器,最终实现可以通过 RTSP 拉取电脑屏幕的需求。
特别的,通过修改 RTSP 服务器的配置,还可以通过 RTMP,HLS 等方式进行拉流。
注意,对于 Windows 系统,必须安装以下的依赖。
- rdp/screen-capture-recorder-to-video-windows-free :在 Windows 中,因为没有专门的设备来捕获屏幕,因此需要通过该项目的软件
Setup.Screen.Capturer.Recorder.v0.13.3.exe来生成一个捕获电脑画面的虚拟视频设备和虚拟音频设备。生成的设备名是screen-capture-recorder和virtual-audio-capturer。 - bluenviron/mediamtx :通过在电脑本机后台运行音视频服务器 mediamtx,来实现 RTSP,RTMP,HLS 等视频转码功能(注意将 mediamtx 放入系统环境变量)。
- FFmpeg :安装 ffmpeg 实现屏幕捕获然后转码推流的作用(注意将 ffmpeg 放入系统环境变量)。
另外,以下依赖是可选项,当捕获屏幕不是 1920*1080 分辨率时,应当下载以下依赖,并对 Screen.Capturer.Recorder 进行配置。
- Java 8 :上述软件如果需要配置捕获分辨率,帧率,缩放等,则需要 Java 8 环境。
对于 Windows 系统,前往 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 添加程序 ScreenPusher.exe 的快捷方式来实现开机自启动。
默认的取流地址:rtsp://电脑自身IP:8554/desktop
该软件为系统托盘软件,没有主要的可视化控制界面,足够隐藏以及安静。
可以通过编写 ffmpeg.txt 来自定义 ffmpeg 推流参数,txt 文件的参数格式如下:
-f dshow
-i video="screen-capture-recorder"
-vcodec libx264
-preset fast
-tune zerolatency
-b:v 2000k
-maxrate 3000k
-bufsize 6000k
-rtsp_transport tcp
-pix_fmt yuv420p
-f rtsp rtsp://localhost:8554/desktop


