Skip to content

Instantly share code, notes, and snippets.

@dwilkins
Created August 14, 2013 02:26
Show Gist options
  • Save dwilkins/6227523 to your computer and use it in GitHub Desktop.
Save dwilkins/6227523 to your computer and use it in GitHub Desktop.
gstreamer to browser (uses vlc plugin though)
Ok. Here is the sending side.
This is specialized for our strange needs, it may not right right for
others.
I don't have access to receiving side. Maintained by somebody else, and
part of a complicated web app.
But you can invoke VLC directly to catch this video. Just point it at the
URL.
Be warned that most routers do not properly handle multicast data.
#!/bin/bash
export LD_PRELOAD="/usr/lib/libaravis.so"
export GST_DEBUG_NO_COLOR=1
gst-launch --gst-debug-level=0 -v \
aravissrc name=src1 camera-name="$1" width=1280 height=960
frame-rate=29 \
! video/x-raw-gray, width=1280, height=960, pixel-aspect-ratio=1/1 \
! videobox top=386 bottom=386 qos=false \
! videoscale qos=false \
! video/x-raw-gray, width=1920, height=280, pixel-aspect-ratio=1/1 \
! videorate silent=true \
! video/x-raw-gray, framerate=30000/1001 \
! queue max-size-buffers=2 leaky=downstream silent=true \
! ffmpegcolorspace qos=false \
! x264enc profile=high speed-preset=ultrafast tune=0x00000006
byte-stream=true bitrate=15000 \
! mpegtsmux \
! rtpmp2tpay ssrc=0xdeadbeaf timestamp-offset=1 seqnum-offset=1 \
! udpsink host=239.1.1.1 auto-multicast=true port=$2 sync=false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment