Ever generated a large gstreamer graph?
Make it a convenient map with OpenLayers.

gStreamer graphs can be large

Take the gst-launch command from this previous article:

gst-launch-1.0 ximagesrc xid=0x200004c ! video/x-raw,framerate=30/1 ! videoconvert ! vaapih264enc quality-level=1 ! h264parse config-interval=10 ! queue ! mux. pulsesrc device=alsa_output.pci-0000_00_1f.3.analog-stereo.monitor ! "audio/x-raw,rate=16000,channels=2,depth=16" ! audioconvert ! avenc_aac ! aacparse ! queue…

Fresh from the attic

Because Terminals are cool~

Tired of websites plagued with heavy JavaScript, ads and consent pop-up?
There were simpler times on the internet when everything was text-based.
A time where cathode-ray tube displayed 80 by 24 blocks of glowing and colorful characters.

But I don’t wanna to learn those pesky terminal escape characters!

Don’t worry, Python comes to the rescue. It has…

Don’t stare at me

Using simple OpenGL 3D view rotation


Do you remember inastitch, the video stitcher for live stream?

Quick summary: inastitch merges three live video streams into a single wider stream.

In this previous project, homography of the input streams was simply achieved in 2D by warping pixels using an OpenGL pixel…

Synchronized 3-camera array recording itself in the dark

As low as 100µs delay can be reached with stock Raspberry Pi and no custom hardware.

Examples use-cases for synchronized video streams are:

  • image stitching for panoramic photo/video, or image blending for example: HDR or low light imagery
  • stereovision for 3D reconstruction and depth sensing applications
  • multi-camera tracking for example…

Vincent Jordan

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store