streaming HD videos using gstreamer

Tim Müller tim at centricular.com
Mon Aug 17 01:24:27 PDT 2015


On Sun, 2015-08-16 at 18:35 +0100, Manusha Wijekoon wrote:

Hi,

> What would be the best pipeline in terms of quality to stream HD video
> over a LAN to a single recipient? I would like to avoid UDP/multicast
> due to portability issues.
> 
> 
> I am able to do this well by using following server and client
> pipelines, however they lack audio.
> 
> 
> StreamServer:
> gst-launch-1.0 filesrc location=<media_path> ! decodebin ! x264enc !
> rtph264pay  pt=96 ssrc=0 timestamp-offset=0 seqnum-offset=0 pt=96 !
>  gdppay ! tcpclientsink host=<server_ip> port=<port>
> 
> 
> 
> Streamclient:
> gst-launch-1.0 tcpserversrc host=<interface_ip> port=<port> !
> gdpdepay ! rtph264depay ! avdec_h264 ! autovideosink

If you want audio as well, you could mux your audio+video streams into a
container such as MPEG-TS (mpegtsmux) or matroska (matroskamux).

Are you re-encoding to a specific format on purpose here by the way? If
you know the client side supports all formats (containers/codecs) you
want to stream, you could stream directly without decoding+re-encoding.

You also don't really need the rtp payloading/depayloading here, esp.
not if you're using gdppay/depay as well (which you shouldn't if you're
using a proper container format).

There's also gst-rtsp-server, which supports streaming over UDP as well
as TCP.

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com

Join us at the GStreamer Conference: 8-9 October 2015 in Dublin, Ireland




More information about the gstreamer-devel mailing list