<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Xy on Details...</title>
    <link>https://www.deepreflect.net/tags/xy/</link>
    <description>Recent content in Xy on Details...</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <copyright>Copyright © 2003 - 2026 Leonardo Rizzi</copyright>
    <lastBuildDate>Mon, 29 Jun 2026 04:47:45 +0200</lastBuildDate>
    <atom:link href="https://www.deepreflect.net/tags/xy/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Video Router XY Web Panel</title>
      <link>https://www.deepreflect.net/2021/01/11/video-router-xy-web-panel/</link>
      <pubDate>Mon, 11 Jan 2021 08:02:15 +0000</pubDate>
       <guid isPermaLink="false">https://www.deepreflect.net/?p=1798</guid> 
      <description>&lt;p&gt;From the moment that I&amp;rsquo;ve started working for a broadcaster I was immediately fascinated by the video routers, they basically are the core of a production centre the can switch, sync a reclock SDI signals it&amp;rsquo;s a very simple concept if you think switch a video from one port to others, but they hide a very complicated implementation because since you can switch any source to any destinations in the routing matrix the hardware must be no-blocking and you can&amp;rsquo;t do bandwidth oversubscription; in the meantime, you&amp;rsquo;ve to keep the vertical interval synched to avoid frames losses that cause flickering or other unexpected behaviours.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>From the moment that I&rsquo;ve started working for a broadcaster I was immediately fascinated by the video routers, they basically are the core of a production centre the can switch, sync a reclock SDI signals it&rsquo;s a very simple concept if you think switch a video from one port to others, but they hide a very complicated implementation because since you can switch any source to any destinations in the routing matrix the hardware must be no-blocking and you can&rsquo;t do bandwidth oversubscription; in the meantime, you&rsquo;ve to keep the vertical interval synched to avoid frames losses that cause flickering or other unexpected behaviours.</p>
<p>I know everything in the world it&rsquo;s transitioning some sort of IP/Networked signal, but as I&rsquo;ve mentioned before with 2022/2110/NDI/SRT you’ll always end up choosing the wrong one, this is the reason why I consider the legacy way more interesting, and there is nothing more legacy than the SDI born in the late &lsquo;80 it&rsquo;s still surviving and actively developed. None I can say about the video routers and their ecosystems still based on some sort of not so fancy control protocol over some sort of serial interface.</p>
<p>To cut short a crosspoint commands it&rsquo;s made by 3 elements: a destination, a source and a level; the first two are pretty self-explanatory, the level it&rsquo;s the media type, in the big an complex systems, for example, you can split audio, video and data into different matrixes or different modules and control everything from a single command.</p>
<p><a href="/wp-content/uploads/2021/01/wp-1610350033772-scaled.jpg"><img alt="RCP XY Panels" loading="lazy" src="/wp-content/uploads/2021/01/wp-1610350033772.jpg"></a> Here we come to the reason for this project, some time ago I&rsquo;ve acquired some video router to build my studio at home I&rsquo;ve ended up acquiring a lot of 5 8x8 HD/3G routers and 1 8x8 SD (this one literally catch fire, but this is a story for another time, I&rsquo;ve managed to save the 5 3G) I quickly realise the problem was not to find the matrix itself but to find the control panels, so why not to do a little reverse engineer and build write something.</p>
<p><a href="/wp-content/uploads/2021/01/wp-1610349956247-scaled.jpg"><img alt="Panacea Back" loading="lazy" src="/wp-content/uploads/2021/01/wp-1610349956247.jpg"></a><a href="/wp-content/uploads/2021/01/wp-1610349933574-scaled.jpg"><img alt="Panacea Front" loading="lazy" src="/wp-content/uploads/2021/01/wp-1610349933574.jpg"></a></p>
<p>My weapon of choice for this project is the Leitch / Harris / Imagine Communications branded Panacea video router, this kind of devices are in my opinion very consistent XY protocol (in different flavours) the same code that I&rsquo;ve written for a device released in early 2000 (Panacea/XPlus) can still run on every modern Imagine platforms like the Integrator or Platinum.</p>
<p>Imagine Communications devices are managed via XY Protocols, even if the name is similar between them they behave in a very different way.</p>
<ul>
<li>XY Terminal (the crosspoint commands are specified in multiple lines via RS232 variables are decimal numbers)</li>
<li>XY Telnet (same as the XY Terminal but via Telnet)</li>
<li>XY Serial (the crosspoint command is a single string and every serial or telnet connection are joined to a shared stream where you can read every session and send commands, variables are hex)</li>
<li>XY Client (the router open a session to a client but I&rsquo;ve never figured out how the handshake works)</li>
</ul>
<p>You can find an example of XY Terminal and XY Serial code at <a href="https://github.com/lrizzi/xy-panel">https://github.com/lrizzi/xy-panel</a> the python web services act as an API gateway, the web pages are a simple frontend.</p>
<p><a href="/wp-content/uploads/2021/01/Selection_20210111_002.png"><img loading="lazy" src="/wp-content/uploads/2021/01/Selection_20210111_002.png"></a></p>
]]></content:encoded>
    </item>
  </channel>
</rss>
