h.264 Video Streaming over TCP
pfarmer
flacone at gmx.de
Mon Mar 4 00:00:36 PST 2013
Thanks a lot for the reply!
Tim-Philipp Müller-2 wrote
> a) skip the RTP pay/depay - you can send h264 byte-stream right over the
> wire and then use h264parse to packetise it on the receiver end.
> b) use rtph264pay ! gdppay ! sink and src ! gdpdepay ! rtph264depay
> c) put it in a streamable container (e.g. MPEG-PS or MPEG-TS)
To a)
Server:
gst-launch-1.0 videotestsrc horizontal-speed=5 ! x264enc tune="zerolatency"
threads=1 ! tcpserversink port=8554
Receiver:
gst-launch-1.0 tcpclientsrc port=8554 host=localhost ! h264parse !
avdec_h264 ! xvimagesink
*The receiver does not go from the Prerolling into the Playing state. I
somehow should to say to the piple to be live which does not need to
preroll. How can I do this?*
To b)
Server:
gst-launch-1.0 videotestsrc horizontal-speed=5 ! x264enc tune="zerolatency"
threads=1 ! rtph264pay config-interval=1 ! gdppay ! tcpserversink port=8554
Receiver:
gst-launch-1.0 tcpclientsrc port=8554 host=localhost ! gdpdepay !
application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264
! xvimagesink
This works. But well its somewhat in a roundabout way and has quiet some
overhead.
To c)
Server:
gst-launch-1.0 videotestsrc horizontal-speed=5 ! x264enc tune="zerolatency"
threads=1 ! mpegtsmux ! tcpserversink port=8554
Receiver:
gst-launch-1.0 tcpclientsrc port=8554 host=localhost ! tsdemux ! h264parse
! avdec_h264 ! xvimagesink
This works fine. Is it normal that there must be no tsparse before the
tsdemux?
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/h-264-Video-Streaming-over-TCP-tp4658747p4658856.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list