<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Hi,</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I'm using a shared memory socket to multiplex the output of a blackmagic hdmi video capture card to multiple processes.</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
The output of the capture card is sent to a shared memory socket like so:</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<span style="font-family:Menlo; font-size:8pt">gst-launch-1.0 decklinkvideosrc </span>
<span style="font-family:Menlo; font-size:8pt">connection=HDMI mode=720p60 </span>
<span style="font-family:Menlo; font-size:8pt">device-number=0 ! queue leaky=downstream</span><span style="font-family:Menlo; font-size:8pt"> !shmsink wait-for-connection=1 socket-path=/tmp/multiviewersock</span></div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
And the clients access it using following source pipeline:</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<p style="margin-top: 0px; margin-bottom: 0px;margin:0.0px 0.0px 0.0px 0.0px; font:11.0px Menlo; color:#000000">
<span style="font-variant-ligatures:no-common-ligatures">shmsrc socket-path=/tmp/multiviewersock do-timestamp=1<span class="Apple-converted-space"> 
</span>! video/x-raw,format=UYVY,framerate=60/1, width=1280,height=720,pixel-aspect-ratio=1/1,interlace-mode=progressive,chroma-site=mpeg2,colorimetry=bt709 ! queue ! videoconvert</span></p>
<br>
</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
There can be anything up to 8 clients on one PC connecting and disconnecting from it.</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
It works, but unfortunately is quite unstable, I get frequent 'no video' errors:</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<pre style=""><span style="font-family:menlo; font-size:9pt"> myframe = stbt.get_frame()
  File "xxxxxxx.py", line 273, in get_frame
    return <i>dut.get_frame()
  File "..xxxxx...../</i>core.py", line 293, in get_frame
    return self._display.get_frame()
  File "...xxxx.../core.py", line 940, in get_frame
    raise NoVideo("No video")
NoVideo: No video</span></pre>
<br>
</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Also I get horrible pipeline timestamp errors, which may be related to the above instability.</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<p style="margin:0.0px 0.0px 0.0px 0.0px;font:11.0px Menlo;color:#000000"><span style="font-variant-ligatures:no-common-ligatures">warning: Received frame with suspicious timestamp: 20097896615.622089. Check your source-pipeline configuration.</span></p>
<br class="Apple-interchange-newline">
</div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
As you can tell, it's a bit hacked together with no real understanding by me, so any help would be appreciated. <span style="color: rgb(0, 0, 0); font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">It has been suggested to me that it's because
 I'm using raw video, which is obviously quite intensive.</span></div>
<div class="elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
</body>
</html>