Skip to content

Stuck at "Loading video stream..." #84

@ChrisDowning

Description

@ChrisDowning

Just got my JetKVM - setup went fine, initial connection to my first machine (which already has an OS installed) worked OK. After uploading some ISOs to use as boot media for other machines, I noticed the video stream had stopped working. Unplugging and rebooting the JetKVM made no difference.

I moved on to trying the device with a new machine with no OS yet installed, but was not able to get any response - the console shows USB connected, but the screen viewer just seems stuck at "Loading video stream...". Rebooting both the JetKVM and the target device had no effect.

Switching to a third machine, I saw exactly the same behaviour as the second - i.e. no video display output is ever shown, just "Loading video stream...".

I have also tried enabling the developer stream updates (and rebooting the device) as well as changing the stream quality - all with no effect.

On the third machine (which apparently has Windows pre-installed and a built-in speaker!) I can hear familiar connected/disconnected chimes when I change the EDID - but none of the settings result in a working video output.

Activity

freddyouellette

freddyouellette commented on Jan 21, 2025

@freddyouellette

I'm in a similar situation, when accessing the JetKVM from a remote location through app.jetkvm.com, I can login successfully but I only see "Loading video stream...". Once it times out, it will show the "Connection Issue Detected" screen, then a couple seconds later it will try to load again and repeat.

Image

Image

When connecting through the local network directly on the IP given by the device, it works. The video loads and the HDMI/USB show no issues. So this problem for me only happens when accessing remotely through JetKVM cloud. I have tried forwarding the IP to my machine remotely with sshuttle or ssh -L but it does not work, I'm guessing because of limitations to WebRTC.

ChrisDowning

ChrisDowning commented on Jan 21, 2025

@ChrisDowning
Author

In my case, the issue occurs even though all devices are on the same LAN (I have not configured the JetKVM cloud setup yet).

Through a bit more testing I have confirmed that the issue is present across both Firefox and Chrome browsers on a MacOS client, Firefox from an Android phone, and both Firefox and Safari on iOS - so can be reasonably confident that this isn't a browser/client issue.

ChrisDowning

ChrisDowning commented on Jan 22, 2025

@ChrisDowning
Author

Further problems: when trying to factory reset the device following these instructions, the following happens:

  • Hold button in on an unpowered device
  • Plug device in with button held, does not power on
  • Hold for 3 seconds as instructed, then release - device still does not power on
  • Unplug and replug device, powers on as normal (no factory reset occurs)
ChrisDowning

ChrisDowning commented on Jan 22, 2025

@ChrisDowning
Author

Have now completed a full factory reset with new firmware flashing - no effect, still shows "Loading video stream..." forever when connected to a device.

Inspecting the browser console shows: Attempting to connect WebRTC.

grayblack

grayblack commented on Jan 23, 2025

@grayblack

I suspect it may be an issue when the device is behind a CG NAT

Nevexo

Nevexo commented on Jan 23, 2025

@Nevexo
Contributor

I suspect it may be an issue when the device is behind a CG NAT

That's why it uses STUN/TURN, to avoid NAT issues. This isn't a NAT issue it's something else, annoyingly.

grayblack

grayblack commented on Jan 23, 2025

@grayblack

If you are behind a CGNAT using STUN to find the real IP is just going to find the un-natted address which is useless. Or am I missing the point?

Nevexo

Nevexo commented on Jan 23, 2025

@Nevexo
Contributor

If you are behind a CGNAT using STUN to find the real IP is just going to find the un-natted address which is useless. Or am I missing the point?

Doesn't really matter, sure you'll hit the address of the CGNAT box, but that will forward the traffic back down to the next layer of NAT.

But even if that doesn't work, that's what TURN is for, it forwards the traffic via Cloudflare to avoid the mess that is NAT in the first place.

grayblack

grayblack commented on Jan 23, 2025

@grayblack

According to APNIC (responsible for assignment of IPs to Asia Pacific)

The problem here is that STUN doesn’t work the way we’d like. We’d like to find our ip:port on the ‘middle network’, because it’s effectively playing the role of a miniature Internet to our two peers. But STUN tells us what our ip:port is from the STUN server’s point of view, and the STUN server is out on the Internet, beyond the CGNAT.

https://blog.apnic.net/2022/05/03/how-nat-traversal-works-concerning-cgnats/

Is this right in this case? Otherwise there's no explanation for it not working at my house

ChrisDowning

ChrisDowning commented on Jan 23, 2025

@ChrisDowning
Author

I suspect it may be an issue when the device is behind a CG NAT

The issue I am describing here is not related to CGNAT; all devices are on a LAN with no VPN in the picture. I have disabled Tailscale on my client machine just to double-check, and do not have it configured on the JetKVM.

grayblack

grayblack commented on Jan 23, 2025

@grayblack

Ahh yeah you're right! Apologies. Maybe a toasted unit?

Daniel9425

Daniel9425 commented on Jan 24, 2025

@Daniel9425

I just came here to report the same issue. I've tried 2 JetKVMs and both behave the same way. I've tried connecting them to multiple Windows computers (3 desktops and 1 laptop) and they both behaved the same way. I connect locally with no password (no cloud setup). My main computer is an M1 Mac mini running macOS 15.2. I've used Safari and Brave on this computer to try connecting. I've tried from a Windows 11 VM with Edge and I've tried a Windows 10 laptop with Edge and Brave.

When I connect, I get the "Loading video stream". After a few seconds, I get this message at the top of the screen "Failed to set EDID: timeout waiting for response". The "Loading video stream" never goes away. I've tried rebooting the computer the JetKVM is connected to while it is connected with no change. I've disconnected the JetKVM and connected a monitor to the same HDMI input on the computer to confirm the display was actually working. When I tried connecting a JetKVM to my laptop (to control the laptop), the display settings in Windows showed a 2nd display connected, but I never saw anything through the web interface. The display on the JetKVM shows the HDMI is connected, I just never get any display.

I get the same results with both the JetKVMs I've tried so far. Any suggestions would be appreciated. I was really looking forward to getting these for use with my home lab as well as to send one with a server to my parents' house so I have a remote machine there, but I can't send it until I'm sure it works.

mqt0029

mqt0029 commented on Jan 29, 2025

@mqt0029

(Update) For context, I initially setup the device just fine with the settings mentioned. Afterwards I moved my setup elsewhere and was met with the issue @ChrisDowning mentioned.

Bit of a long shot, but if you are using Brave (and perhaps followed PrivacyGuides), you might have set WebRTC IP Handling Policy to "Disable non-proxied UDP" like I did, simply changing it back to "Default" fixes the issue for me.

Otherwise, stock Firefox seems to work as well (tested on fresh Ubuntu 24.04 installation).

Setting is located under Privacy and Security (see screenshot).

Image
RobIrizarry

RobIrizarry commented on Jan 30, 2025

@RobIrizarry

If you're using a VPN, make sure you either disable it or add the JetKVM's IP address as an exception.

If you're testing the cloud connectivity with a VPN, you'll also need to disable WebRTC protection since its used in the connection.

ChrisDowning

ChrisDowning commented on Jan 30, 2025

@ChrisDowning
Author

I'm not using Brave, and checked the equivalent setting in Firefox (media.peerconnection.enabled) - setting this to false disrupts the JetKVM connectivity completely, but even with it set back to the original value of true I still get the "Loading video stream..." pinwheel indefinitely.

115 remaining items

unpinned this issue on Jul 12, 2025
alexisgahon

alexisgahon commented on Jul 26, 2025

@alexisgahon

Just received mine, so sad it get stuck on Loading Video Stream ... (no matter the client ...)
Wanted to use on my Reolink DVR

mygrexit

mygrexit commented on Aug 7, 2025

@mygrexit

same problem.

Coder84619

Coder84619 commented on Aug 10, 2025

@Coder84619

Yup it's broken for me too. Highly disappointing.

SvenFinn

SvenFinn commented on Aug 17, 2025

@SvenFinn

I've encountered a similar issue where the KVM gets stuck at "ICE gathering complete", but only on one specific device. Looking at the WebSocket signaling messages, I saw the following:

Server → Client: {"data":{"deviceVersion":"0.4.6"},"type":"device-metadata"}
Client → Server: {"type":"offer","data":{"sd":"..."}}
Server → Client: {"error":{}}

So the server seems to detect some error, but it just sends an empty error object without any useful details.

After this point, the client continues sending ICE candidates:

Client → Server: {"type":"new-ice-candidate","data":{"candidate":"candidate:0 1 UDP ...","sdpMLineIndex":0,"sdpMid":"0",...}}
Client → Server: {"type":"new-ice-candidate","data":{"candidate":"candidate:1 1 TCP ...","sdpMLineIndex":0,"sdpMid":"0",...}}
Client → Server: {"type":"new-ice-candidate","data":{"candidate":"candidate:0 2 UDP ...","sdpMLineIndex":0,"sdpMid":"0",...}}
Client → Server: {"type":"new-ice-candidate","data":{"candidate":"candidate:1 2 TCP ...","sdpMLineIndex":0,"sdpMid":"0",...}}
Client → Server: {"type":"new-ice-candidate","data":{"candidate":"candidate:0 1 UDP ...","sdpMLineIndex":1,"sdpMid":"1",...}}
Client → Server: {"type":"new-ice-candidate","data":{"candidate":"candidate:1 1 TCP ...","sdpMLineIndex":1,"sdpMid":"1",...}}

But nothing comes back from the server after that, and the connection never completes.

Cause and workaround:
After some digging, I found that IPv6 was disabled on this device. Re-enabling IPv6 immediately resolved the issue — KVM connected as expected.

Would be great if the server returned a more descriptive error when this happens. Right now it silently fails, which makes it harder to debug.

taranjlu

taranjlu commented on Aug 18, 2025

@taranjlu

I am also having this issue, but it only shows up when I am trying to remotely connect via tailscale. If I am on my local LAN, I am able to use my tailnet domain just fine and I am able to get to the web gui successfully (tested on several devices). However, if I disconnect and use data on my phone, I get to the login screen, but it fails to load the video stream and after a few seconds, I get the error page that says "Connection Issue Detected." Reconnecting to my LAN allows my phone to access the web gui just fine.

Edit: I also just tested tethering my phone to my laptop and was able to get through to the web gui with the video feed using using Firefox, so at least in my case, the issue seems to only show up for mobile (iOS) browsers (Brave, Safari, and Chrome) when not on my LAN.

alexisgahon

alexisgahon commented on Sep 3, 2025

@alexisgahon

Just received mine, so sad it get stuck on Loading Video Stream ... (no matter the client ...) Wanted to use on my Reolink DVR

I changed the resolution on my Reolink DVR to 1920x1080 instead of 3840*2160 and it's working now.
Just the mouse is a bit buggy.

evilphish

evilphish commented on Sep 25, 2025

@evilphish

Same problem here with a brand new unit I just received. Did a firmware update so I am now at:
App: 0.4.8
System: 0.2.5

Using Firefox 143.0.1

Network setup: Unifi network hardware, jetKVM and clients that show the error message are all on the same subnet. No cloud, no NAT, no firewall involved.

Data below video stream window:

Image

Tested with: Firefox (Version see above) and Chrome on desktop Linux Mint and Android

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @porkcharsui@adamfeldman@tuxtof@boombatower@k4emic

        Issue actions

          Stuck at "Loading video stream..." · Issue #84 · jetkvm/kvm