A Mutable Log

Stream WebM vorbis audio using GStreamer over TCP

In this post, we’ll use GStreamer commands to stream Vorbis audio within the WebM container, over TCP. A Vorbis audio stream has no metadata regarding the audio itself or any other timing information. It needs to be streamed within a container such as WebM or OGG, or using a protocol such as RTP.

Receiving End

Execute the following pipeline

gst-launch-1.0 tcpserversrc port=9001 ! matroskademux ! vorbisdec ! audioconvert ! autoaudiosink

Sending End

Execute the following pipeline

gst-launch-1.0 filesrc location=big_buck_bunny_480p_stereo.ogg ! oggdemux ! vorbisparse ! webmmux streamable=true ! tcpclientsink port=9001

At the sending end, I extract a vorbis audio stream from an ogg file and feed it to the receiving end.