史上最详细的OvSyunLive超低延时免插件web播放rtsp/rtmp和访问桌面投屏和主机摄像机教程

​

 前言
最近公司在搞流媒体rtsp低延时web播放,桌面分享,和直取摄像头,我推荐了OvSyunLive进行搭建,使用了一段时间后,出现新的需求,需要将内网的摄像机进行公网访问,我查询了几乎所有的帖子和github 的问题回复,都没有给我一个准确的答案,经过不断尝试和摸索,我终于成功了,我希望将我的过程记录下来,让更多的中国开发者可以少走弯路。

一,下载并搭建OvSyunLive下载地址:https://github.com/ccallcn/ovsyunlive/

OF~NGJAZQ0}AZ~`X]HG(H98

二,解压配置启动:

Windows系统,1.解压 2.配ovmeetmcu.ini上IP 3.运行 双击start.bat 4.停止:stop.bat
Linux-debian12系统, 1.解压 2.配ovmeetmcu.ini上IP 3.授权 chmod -R 777 ./ovsyunlive/* 4.运行 ./start.sh 5.停止:./stop.sh

__Z3A[5JSKTPL_SZ%{(@3@J

 

Android要授权麦和摄像,还要打开桌面分享的授权和防锁屏和电源

ZLANGW~VR(R1EI%TQF)GAAP

 

三,web打开测试:http://ip:7801/play/

ovsyunlive13-desk

 

三,web十秒sdk接入
<video id="v" autoplay muted playsinline style="width:100%;background:#000"></video>
<script src="ovplayer.js"></script>
<script>
  const player = new OvPlayer('#v', {
    server: 'http://' + location.hostname + ':7703',
    password: '',        // 服务端设了 admin_password 才需要
    muted: true,         // 浏览器自动播放策略要求静音起播
  });

  player.playDesktop();                                  // 服务端那台机器的桌面
  player.playCamera();                                   // 服务端那台机器的摄像头
  // player.play('rtsp://192.168.1.64:554/Streaming/Channels/101'); // 如是播放rtsp/rtmp
  // player.stop();                                      // 停止观看(通道保留)
</script>
采的是服务端所在机器的屏幕与摄像头,不是浏览器所在机器。要在网页里用访问者自己的摄像头,请用 navigator.mediaDevices.getUserMedia()。
<video> 必须带 muted + playsinline。

详见doc的文档和play目录下demo

演示地址:http://m.ovmeet.com:7701/play/

三条最容易踩的坑

  1. 只放行 TCP 7703 → 信令成功、画面全黑。媒体走 UDP 51000–51999,必须整段放行。
  1. 直接调 REST 建采集通道只传 index → 400 app, stream and device required。REST 要传 device(先 GET /api/capture/devices)。
  1. 同一设备同时只能被一路通道采集。被占用时通道建得出来但一直黑屏,先删占用通道。

实测环境

Windows 10/11 · 1920×1080 单屏 · 后端 dshow+gdigrab+wasapi;桌面采集通道实测输出 1280×720@20 / 1.6 Mbps(libx264 latency 档),浏览器端 state=playing、画面正常推进。

​
posted @ 2026-10-27 13:50  ovmeet  阅读(9)  评论(0)    收藏  举报