Pergunta

I'm trying to stream a h264 encoded movie file from a server to multiple clients at once by sending the RTP Stream to the broadcast address.

The solution I've got works but is very slow. Playing the video locally works fine.

Here's my Server:

gst-launch-0.10 -v filesrc location=/home/zeroc8/Videos/bunny.mov \
! qtdemux ! h264parse ! rtph264pay pt=96 ! udpsink host=192.168.1.255 port=5000

This is the Client:

gst-launch-0.10 udpsrc port=5000 \
caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"J01AHqkYGwe83gDUBAQG2wrXvfAQ\\,KN4JyA\\=\\=\", payload=(int)96, ssrc=(uint)786848209, clock-base=(uint)101553131, seqnum-base=(uint)64602" 
! rtph264depay ! ffdec_h264 ! ffmpegcolorspace ! autovideosink

Am I doing something bad here? Why is this so slow?

Foi útil?

Solução

Just got the answer from the gstreamer mailing list. In case anyone else is having the same problem, adding the gstrtpjitterbuffer element fixes it.

gst-launch-0.10 udpsrc port=5000 \
caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, sprop-parameter-sets=(string)\"J01AHqkYGwe83gDUBAQG2wrXvfAQ\\,KN4JyA\\=\\=\", payload=(int)96, ssrc=(uint)786848209, clock-base=(uint)101553131, seqnum-base=(uint)64602" \ 
! gstrtpjitterbuffer latency=1000 
! rtph264depay ! ffdec_h264 ! ffmpegcolorspace ! autovideosink
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top