문제

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?

도움이 되었습니까?

해결책

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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top