使用任何设备(只要有浏览器),作为mac的副屏(实现Apple官方随航的功能)
主要是为了实现 将Android平板用作Mac的第二台显示器 ,实现类似于Windows端SpaceDesk的功能
基于之前手搓的http服务 httpRandomMusic ,此项目实现了ffmpeg实时转码音频,
如今本项目,咩咩用了一晚上的时间又手搓实现了实时转码视频
目前支持 mjpg
vp8
h264
hevc
的编码模式
在浏览器进行3K 60hz串流时,使用mjpg的延迟低至100ms,vp8模式下1s左右,h264和h265则有3s延迟
当分辨率设置为1920时,都能达到1秒内,默认分辨率限制为1920,可以自行修改
在3.0开始支持了Windows和Linux(x11)的下屏幕镜像的功能
-
首先你得有一台mac电脑,黑的白的都没问题, 依赖
ffmpeg
建议使用brew
进行安装
在终端输入:brew install ffmpeg
如果你连
brew
这个命令都没有,那请参考他的文档,或者百度一下吧
https://brew.sh/zh-cn/ -
点击右上角绿色的按钮下载本程序,并且双击解压
-
插入一个 HDMI诱骗器 或者用 BetterDummy 虚拟一个显示器,如果你需要镜像显示器则忽略这一步
-
打开终端,启动服务:
python3 meDisplay.py
或者输入
python3
空格 后吧程序本身拖进来,然后按回车 -
使用你想用来做副屏的设备,比如Android平板,另一台电脑的浏览器打开
http://你电脑的ip:65532
比如
http://192.168.1.223:65532
然后点击选择需要显示的显示器,点击画面可以切换全屏
请注意,如果使用非mjpg模式,因为浏览器限制,可能需要从主页点击进入才会自动播放
你可以用文本编辑器打开文件编辑设置,当 useMjpg = False
时,将使用h264进行串流,但是只能使用视频播放器打开,浏览器还没适配好
视频流的地址为
http://你电脑的ip:65532/v/方括号中的数字
比如
http://sparkle-itx:65532/v/2
或者指定编码类型,比如
http://sparkle-itx:65532/hevc/2
- 额外虚拟一个显示器
- 在 浏览器 使用mjpg编码进行串流
- 在 浏览器 使用h264编码进行串流
- 在 浏览器 使用hevc编码进行串流
- 在 视频播放器 中进行串流
- mjpg动态码率
- 降低使用hevc/h264进行串流在浏览器中的延迟