Streaming Tools

From Giss

This page covers some tests with current streaming tools as of April 2020, advices and howtos :

Audio Streaming ( live + playlist + mix )

Linux :

Pibox V3 App

Pibox V3 App is a full streaming station developed by the ∏-node.org team,

in particular by the RYBN collective and is targeting ∏-boxes,

a box based on Rasberry Pi.

But you can install it on a Linux system as all should also work on a laptop/desktop.

Find the instructions to install it on Ubuntu 18.04/20.04 here :

Install Pibox V3 on Ubuntu

MIXXX

Mixxx is a great application to make your weekly podcast or play some music. Available for Linux/OSX/Windows.

You can also record your stream in mp3 or ogg.

Pure Data

First install a Pure Data with unauthorized, pdogg and mp3cast~ ( you can try pd-extended or pd-l2ork ) and then download one of these patches :

  • streaming in ogg format : Pdogg
  • streaming in mp3s format : Pdmp3

Download these files ( the patches ) with a right click and 'Save link as..', then open them in Pure Data.

OSX

Pure Data

first install a Pure Data with unauthorized, pdogg and mp3cast~ ( you can try pd-extended or pd-l2ork ) and then download one of these patches :

  • streaming in ogg format : Pdogg
  • streaming in mp3s format : Pdmp3

Download these files ( the patches ) with a right click and 'Save link as..', then open them in Pure Data.

Audio Streaming ( Live Only )

Linux, OSX, Windows

B.U.T.T.

a very simple and neat program can be used for simple live transmission : b.u.t.t. ( broadcast using this tool )  : [http://danielnoethen.de/]

Android

GISS Ogg/Vorbis Streamer

a very simple and neat app that can be used for simple live transmission : GISS Ogg/Vorbis Streamer  : [[1]]


Video Streaming / Webcams and capture cards

Linux

ffmpeg

ffmeg is the more robust tool now to stream in Webm format :

 ffmpeg \
 -fflags nobuffer -flags low_delay -use_wallclock_as_timestamps 1 \
 -thread_queue_size 1024 -f v4l2 -i $1\
 -thread_queue_size 1024 -f alsa -i default\
 -metadata title=<title>\
 -metadata description=<description>\
 -metadata url=<url>\
 -vf "scale=640:480,fps=12,format=yuv420p"\
 -c:v libvpx -deadline realtime -cpu-used 5\
 -b:v 350k -maxrate 400k -bufsize 800k -g 24\
 -c:a libopus -b:a 128k -ar 44100\
 -f webm\
 -content_type video/webm\
 icecast://source:<password>@<server>:<port>/<mountpoint> (.webm)


GStreamer

Theora streaming is now obsolete and we can't install PyGtk easily on Linux, so we use a gstreamer script to stream in webm format :

v4l2src device=/dev/video0 ! videoconvert ! queue ! videorate ! video/x-raw,format=I420,width=320,height=240,framerate=7/1 ! tee name=tscreen ! queue ! autovideosink tscreen. ! queue ! vp8enc cpu-used=4 deadline=0 target-bitrate=256000 ! queue ! webmmux name=mux alsasrc do-timestamp=true ! audio/x-raw, format=S16LE,rate=48000,channels=2 ! queue ! audioconvert ! vorbisenc quality=0.4 ! queue ! mux. mux. ! queue ! shout2send ip=<server> port=<port> mount=<mountpoint> password=<password> streamname=<name> description=<desc> genre=<genre> url=<url> sync=true

Pure Data

first install a Pure Data with unauthorized, pdp and pidip ( you can try pd-extended or pd-l2ork ) and then download this patch :

  • video streaming with a video4linux device : GissPdpV4l
  • video streaming with a video4linux2 device : GissPdpV4l2

Download this file ( the patch ) with a right click and 'Save link as..', then open it in Pure Data.

Webcam Studio

Check out : Webcam Studio website

it perfectly support most of webcams models and lets you mix the input with other layers ( screen capture, chat, rss, ... ).

VLC

In a recent enough version of VLC, you should have an option to stream from a webcam in 'File->Streaming'.

Check the HOWTO ( a bit complicated ) here : [VLC Streaming Howto ], you should stream to an Icecast server.

OSX

VLC

In a recent enough version of VLC, you should have an option to stream from a webcam in 'File->Streaming'.

Check the HOWTO ( a bit complicated ) here : [VLC Streaming Howto ], you should stream to an Icecast server.

Pure Data

first install a Pure Data with unauthorized, Gem, pdp and pidip ( you can try pd-extended or pd-l2ork ) and then download this patch :

  • video streaming with digital camera ( OSX ) : GissPdpOsx

if you have some troubles with some models of cameras, you can try this experimental patch using Gem :

  • video streaming with digital camera ( Gem ) : GissGem

Download this file ( the patch ) with a right click and 'Save link as..', then open it in Pure Data.

Android

GISS Ogg/Theora Streamer

A simple app is availabe for streaming video from your phone : GISS Ogg/Theora Streamer : [[2]]

Unfortunately, as Theora is not an android format, it is not hardware accelerated, you will have to wait for the Webm streamer to have good performances.

Video Streaming / Digital IEEE1394 Camera ( Obsolete ? )

Linux

Theora Streaming Studio [ deprecated ]

Recommended tool : Theora Streaming Studio TSS

There are packages for ubuntu and debian.

On other systems, you should compile it installing first its dependencies ( dvgrab, libraw1394-8, ffmpeg, ffmpeg2theora, libtheora-bin, oggfwd, libvte9 ).

GStreamer

Simplest tool : GStreamer script GStreamer Dv

You should start it with : 'python Dvstream.py'

On more recent systems ( ubuntu >= 10.10 ( maverick ) ), you need to emulate the oss interface with :

 sudo apt-get install aoss 
 aoss python Dvstream.py

There is a debian package for all architectures here : PyGiss.deb

Pure Data

first install a Pure Data with unauthorized, pdp and pidip ( you can try pd-extended or pd-l2ork ) and then download this patch :

  • video streaming with digital camera : GissPdpDv

Download this file ( the patch ) with a right click and 'Save link as..', then open it in Pure Data.

Webcam Studio

Check out : Webcam Studio website

it has some support for the input of a DV cam, but some image quality problems have been reported.

DVSwitch

DVSwitch

Once you have dvswitch working (which is a different problem that will be documented elsewhere), use dvsink-command in place of dvgrab, like so:

dvsink-command -- ffmpeg2theora - -f dv -F 25:5 -v 1 -a 5 -c 1 -H 11025 -o - | oggfwd giss.tv 8000 <password> /<mountpoint>

OSX

VLC

In a recent enough version of VLC, you should have an option to stream from a camera in 'File->Streaming'.

Check the HOWTO ( a bit complicated ) here : [VLC Streaming Howto ], you should stream to an Icecast server.


Pure Data

first install a Pure Data with unauthorized, Gem, pdp and pidip ( you can try pd-extended or pd-l2ork ) and then download this patch : and then download this patch :

  • video streaming with digital camera ( OSX ) : GissPdpOsx

if you have some troubles with some models of cameras, you can try this experimental patch using Gem :

  • video streaming with digital camera ( Gem ) : GissGem

Download this file ( the patch ) with a right click and 'Save link as..', then open it in Pure Data.

Streaming video archives / playlists

Linux, OSX

VLC

In a recent enough version of VLC, you should have an option to stream from a playlist in 'File->Streaming'.

Check the HOWTO ( a bit complicated ) here : [VLC Streaming Howto ], you should stream to an Icecast server.