OpenCV
gstreamer
cv2.VideoCapture

OpenCVはGStreamerパイプラインを直接受け入れてくれるが、注意必要

例えば、RPIからUbuntu等へ、GStreamerで画像をストリームで流し、UbuntuのOpenCVで処理したいとき、

RPI側で、例えば、

gst-launch-1.0 -v -e rpicamsrc preview=0 fullscreen=0 vflip=1 contrast=70 sharpness=70 brightness=60 ! 'video/x-h264, width=640, height=480, framerate=30/1, profile=high' ! queue ! rtph264pay ! udpsink host=192.168.0.9 port=5002

としておき、

サーバー側で、

cmd = '-v udpsrc port=5002 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264" ! rtph264depay ! avdec_h264 ! videoconvert ! appsink'
cap = cv2.VideoCapture(cmd)

とかいうパイプラインと記述を準備しておき、それをそのままOpenCVのVideoCaptureメソッドに指定します。最後がappsinkです。

これでサーバー側でストリームを受け取り、OpenCVで処理できます。

注意点: パイプラインの記述で、 ! の両側に空白がないと動きません。