[gst-devel] Unable to stream H264 over RTP

ScreenName01 lwhlee at hotmail.com
Fri May 8 19:37:28 CEST 2009


Hello all,

  I've had pretty good success with RTSP server and able to stream H264,
H263 and Mpeg4 streams over to VLC for instance.

  I want to maximize my options and tried straight TCP for instance and was
only able to get the ffplay player to play the tcp stream but only for H263. 
This is probably irrelevant information though.

  What I'm trying to get working is RTP.  So I'm able to stream MP4 using
the following pipeline where VPU encoder is a hardware based encoder capable
of encoding mp4, h264 and h263.

gst-launch-0.10 -v v4l2src ! vpuenc codec-type=std_mpeg4 width=640
height=480 ! rtpmp4vpay ! udpsink host=<stream_to_ip> port=5000

  With the following SDP file:
---  SDP START ---
v=0
s=Session streamed with GStreamer
i=live
t=0 0
a=tool:Gstreamer
m=video 5000 RTP/AVP 96
b=RR:0
c=IN IP4 127.0.0.1
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96 profile-level-id=4;
config=000001b004000001b59113000001000000012000c888800f514043c14103
a=cliprect:0,0,480,640
a=framesize:96 640-48
---  SDP END ---

  I can launch this SDP file with QuickTime and VLC and it streams fine.

  The problem is I cannot stream H264 or H263.  I use the same pipeline as
above with codec-type parameter changed to h264 or H263 and using a similar
SDP file (without the a=fmtp ... line) and changed the rtpmap from MP4V-ES
to H264/H263 but I've had no luck.

  I end up with just a plain green screen in QuickTime.  VLC doesn't even
play the stream.

  I've tried to modify the stream to something using RTP manager.  To
something like below for instance.

gst-launch -v gstrtpbin name=rtpbin latency=50 v4l2src ! vpuenc
codec-type=std_avc width=640 height=480 ! rtph264pay pt=96 mtu=1438 !
rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink port=5000
host=<stream_to_ip> ts-offset=0 rtpbin.send_rtcp_src_0 ! udpsink port=5001
host=<stream_to_ip> sync=false async=false udpsrc port=5005 !
rtpbin.recv_rtcp_sink_0

  Using just a plain SDP file like below (found in GIT as an example):
--- SDP Start ---
v=0
o=- 1188340656180883 1 IN IP4 127.0.0.1
s=Session streamed by GStreamer
i=server.sh
t=0 0
a=tool:GStreamer
a=type:broadcast
m=video 5000 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 H264/90000
--- SDP End ---

  QuickTime is stuck waiting to connect, VLC is unable to connect as well.

  Is there something I can try to get it to stream H264 over just RTP.  I
know the RTSP server is able to stream any of the three formats
(H264/H263/MP4) so it must be generating the proper SDP file I'm guessing? 
Any suggestions?

Thanks in advance.  Any and all suggestions welcomed and appreciated!

-- 
View this message in context: http://www.nabble.com/Unable-to-stream-H264-over-RTP-tp23450274p23450274.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.





More information about the gstreamer-devel mailing list