So, you want to send HDMI video around your house? Maybe you want to use your office computer on your living room TV without a proprietary streaming solution like AirPlay or Chromecast? Share a cable or satellite box between your living room and bedroom? Or you’re crazy like me and you want to put all of your computers into the basement, and connect to any of them from any desk in the house?

Traditional video distribution methods which support many-to-many configurations usually require expensive matrix switches, either for HDMI or HDBaseT. With lower cost IP-based equipment, we can use the network infrastructure we already have in our home networks to send HDMI video across the network, at the cost of video compression. If you can tolerate 1080P/60 video for your application, this is far cheaper than other alternatives in a many-to-many configuration.

I’ve tried running a thicc HDMI cable through the wall at my house. This will work, but over a limited distance (and the workable distance gets shorter with the higher bitrates of each HDMI spec). You can’t repair an HDMI cable realistically, so if you break it you’re going back in the wall or attic. I have a few places in my house with floating TVs (I absolutely hate cable cluttter) and running HDMI from the TV down to a media cabinet is as far as I’d go with a physical cable.

There are solutions like active optical cables and HDBaseT which are suitable for higher bitrate uncompressed applications like home theaters, but I’m primarily concerned with workstation tasks which aren’t as demanding of the video stream. However, these solutions might be right for you.

Video

Thumbnail

Q and A

Q and A thumbnail

  1. Will it do 4K?
    • No, it does 1080p60
  2. Will it do 144hz?
    • No, it wont.
  3. Does it support ultrawide?
    • The transmitter and receiver negotiate resolutions separately
    • The transmitter supports 800x600 up to 1920x1090 without knowing the display’s supported resolutions
    • The receiver will separately try to negotiate 1920x1080 with the display, or lower if the display doesn’t support it
    • When the transmitter and receiver are ’tuned’ together it will add black bars to match the two aspect ratios and scale the resolutions.
  4. What type of encoding does it use? Can I open it in VLC?
    • I do not know what encoding it uses but strongly suspect h.265
    • I opened the multicast group/port in VLC as both UDP and RTP and VLC was not able to decode it. So, the encapsulation is unknown.
    • I captured a pcap of the two boxes in use and have a link to it here.
  5. Support for HDCP
    • The TiVo negotiated HDCP 1.x successfully. I do not know if the device supports HDCP 2.x
    • I can’t tell if any displays are negotiating HDCP, they won’t tell me in their menus
    • I do not know if HDCP is being stripped or if HDCP is separately negotiated on each end.
  6. What about NDI / other professional solutions?
    • They exist
    • They are more expensive
    • NDI does not allow directly connecting sources and sinks without a vision mixer in the middle
    • Other solutions are priced with ‘contact us’, meaning they are effectively not available to home users
  7. Display Power Savings
    • I noticed that the receiver will always display the no connection logo once the transmitter stops receiving a signal, so the display will never power off.
  8. How are the compression artifacts?
    • In general not bad.
    • I watched some (CC licensed) movies side by side and had to scrub back and forth to spot differences
    • In general it looks like the i-frame interval is relatively long, so sometimes scene changes in movies will cause some artifacting until the next i-frame. This would not happen on a computer or game where there aren’t major scene changes.
  9. Does it work over WiFi extenders / Powerline extenders / MoCA coax?
    • I don’t have any of these to test
    • In theory it will work on anything that supports multicast and creates a layer 2 bridge (not layer 3 route)
  10. What is the latency?
    • 4 frames. See the video for more detailed info.
  11. How does it handle multiple keyboards/mice?
    • It sends separate data from each of them. Clicking one mouse and dragging the other won’t click + drag, it will take all of the mouse data from the moving mouse (release the click).
    • Keyboards will send both keys but not mix scancodes, for example holding shift on one keyboard and pressing a letter on the other won’t result in a capital letter.
  12. Why don’t they support PoE?
    • I don’t see a reason to use PoE when they will always connect to a higher powered device anyway, like a TV or computer
  13. What is the power consumption / can you really connect them to USB power?
    • Measured ~1.5W on the receiver and ~2W on the transmitter, measuring the AC input with a kill-a-watt meter. Well within the 500ma limit of traditional USB power.

Reverse Engineering

My subscribers have been very interested in some light reverse-engineering of these, so if anyone wants to try, here’s the information I have to share:

Packet Captures

  1. Display is established (ID #1), mouse movement and keyboard input on an Ubuntu jellyfish desktop - download here
  2. Establishing a connection (ID #1), nothing connected, transmitter powered on and given time to settle, then receiver powered on and given time to settle - download here More will come.

Parts I Used