title: Sending OpenCV output to VLC stream
body: <p>This has been keeping me busy for a good part of the afternoon and I haven't been able to get it to work but I feel like I'm really close.</p>
  
  <p>I've got openCV set up which takes the videofeed from a webcam. To be able to access this video feed (with openCV overlay) I want to pipe the output of the openCV python script to a VLC stream. I managed to get the stream up and running and can connect to it. VLC resizes to the correct aspect ratio and resolution so it gets some correct data but the image I get is just <strong>Jitter</strong>;</p>
  
  <pre><code>python opencv.py | cvlc --demux=rawvideo --rawvid-fps=30 --rawvid-width=320 --rawvid-height=240  --rawvid-chroma=RV24 - --sout "#transcode{vcodec=h264,vb=200,fps=30,width=320,height=240}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=:8081/stream.flv}" &amp;
  </code></pre>
  
  <p>The output of the script is a constant video feed sent to stdout as follows</p>
  
  <pre><code>from imutils.video import WebcamVideoStream
  
  vs = WebcamVideoStream(src=0)
  
  while True: 
    frame = vs.read()
    sys.stdout.write(frame.tostring())
  </code></pre>
  
  <p>Above example is a dumbed down version of the script I'm using; Also as seen I'm making use of the imutils library; <a href="https://github.com/jrosebr1/imutils" rel="noreferrer">https://github.com/jrosebr1/imutils</a></p>
  
  <p>If anyone could give me a nudge in the right direction I would appreciate it greatly. My guess is the stdout.write(frame.tostring()) is not what vlc expects but I haven't been able to figure it out myself.</p>