I am trying to stream/render H.264 content using gstreamer on two Ubuntu machines. Here is what I run on the server (streaming) side -
gst-launch -v gstrtpbin name=rtpbin filesrc location=h264.ts ! \ queue2 max-size-buffers=65535 ! \ rtpmp2tpay ! \ queue2 max-size-buffers=65535 ! \ rtpbin.send_rtp_sink_0 \ { rtpbin.send_rtp_src_0 ! udpsink host=192.168.1.2 port=5000 } \ { rtpbin.send_rtcp_src_0 ! udpsink host=192.168.1.2 port=5001 sync=false async=false } \ { udpsrc port=5005 ! rtpbin.recv_rtcp_sink_0 } On the receiver side I run following command to render it - gst-launch -v gstrtpbin name=rtpbin udpsrc port=5000 caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=mpegts" ! \ rtpbin.recv_rtp_sink_0 rtpbin. ! \ identity sync=true silent=true ! \ rtpmp2tdepay ! \ flutsdemux name=demuxer \ demuxer. ! queue max-size-buffers=0 max-size-time=0 ! flumcaacdec ! audioconvert ! volume volume=10 ! autoaudiosink \ demuxer. ! queue max-size-buffers=0 max-size-time=0 ! fluh264dec! autovideosink \ udpsrc port=5001 ! \ rtpbin.recv_rtcp_sink_0 \ rtpbin.send_rtcp_src_0 ! \ udpsink port=5005 sync=false async=false -t h264.ts is a MPEG TS file with aac audio format and H.264 video format. I am using commercial versions of Fluendo plugins. On the receiver side I see jerky video and after some time video stops. I am using a quad core machine on the receiver side. If I repeat the same experiment using tcpserversink (in place of rtp bin) plugin on the streamer side and tcpclientsrc on the receiver side, everything works ok. Am I missing setting some rtp bin property or is it a problem with rtp bin? Can someone suggest some experiment which can narrow down the problem? Thanks, Lomesh ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
On Thu, 2008-08-28 at 11:38 -0700, Agarwal, Lomesh wrote:
> I am trying to stream/render H.264 content using gstreamer on two Ubuntu machines. Here is what I run on the server (streaming) side - > gst-launch -v gstrtpbin name=rtpbin filesrc location=h264.ts ! \ > queue2 max-size-buffers=65535 ! \ > rtpmp2tpay ! \ > queue2 max-size-buffers=65535 ! \ > rtpbin.send_rtp_sink_0 \ > { rtpbin.send_rtp_src_0 ! udpsink host=192.168.1.2 port=5000 } \ > { rtpbin.send_rtcp_src_0 ! udpsink host=192.168.1.2 port=5001 sync=false async=false } \ > { udpsrc port=5005 ! rtpbin.recv_rtcp_sink_0 } > On the receiver side I run following command to render it - > gst-launch -v gstrtpbin name=rtpbin udpsrc port=5000 caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=mpegts" ! \ > rtpbin.recv_rtp_sink_0 rtpbin. ! \ > identity sync=true silent=true ! \ > rtpmp2tdepay ! \ > flutsdemux name=demuxer \ > demuxer. ! queue max-size-buffers=0 max-size-time=0 ! flumcaacdec ! audioconvert ! volume volume=10 ! autoaudiosink \ > demuxer. ! queue max-size-buffers=0 max-size-time=0 ! fluh264dec! autovideosink \ > udpsrc port=5001 ! \ > rtpbin.recv_rtcp_sink_0 \ > rtpbin.send_rtcp_src_0 ! \ > udpsink port=5005 sync=false async=false -t > h264.ts is a MPEG TS file with aac audio format and H.264 video format. I am using commercial versions of Fluendo plugins. > On the receiver side I see jerky video and after some time video stops. I am using a quad core machine on the receiver side. > If I repeat the same experiment using tcpserversink (in place of rtp bin) plugin on the streamer side and tcpclientsrc on the receiver side, everything works ok. > Am I missing setting some rtp bin property or is it a problem with rtp bin? Can someone suggest some experiment which can narrow down the problem? > 2 problems, timestamps are not correctly set on the sender side (use mpegtsparse in front of the payloader?). The second problem is that the demuxer might not correctly preserve timing information on the receiver. Also: http://bugzilla.gnome.org/show_bug.cgi?id=548979 Wim > Thanks, > Lomesh > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
-----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Wim Taymans Sent: Friday, August 29, 2008 1:58 AM To: Discussion of the development of GStreamer Subject: Re: [gst-devel] problems in streaming H.264 content using gstreamer On Thu, 2008-08-28 at 11:38 -0700, Agarwal, Lomesh wrote: > I am trying to stream/render H.264 content using gstreamer on two Ubuntu machines. Here is what I run on the server (streaming) side - > gst-launch -v gstrtpbin name=rtpbin filesrc location=h264.ts ! \ > queue2 max-size-buffers=65535 ! \ > rtpmp2tpay ! \ > queue2 max-size-buffers=65535 ! \ > rtpbin.send_rtp_sink_0 \ > { rtpbin.send_rtp_src_0 ! udpsink host=192.168.1.2 port=5000 } \ > { rtpbin.send_rtcp_src_0 ! udpsink host=192.168.1.2 port=5001 sync=false async=false } \ > { udpsrc port=5005 ! rtpbin.recv_rtcp_sink_0 } > On the receiver side I run following command to render it - > gst-launch -v gstrtpbin name=rtpbin udpsrc port=5000 caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=mpegts" ! \ > rtpbin.recv_rtp_sink_0 rtpbin. ! \ > identity sync=true silent=true ! \ > rtpmp2tdepay ! \ > flutsdemux name=demuxer \ > demuxer. ! queue max-size-buffers=0 max-size-time=0 ! flumcaacdec ! audioconvert ! volume volume=10 ! autoaudiosink \ > demuxer. ! queue max-size-buffers=0 max-size-time=0 ! fluh264dec! autovideosink \ > udpsrc port=5001 ! \ > rtpbin.recv_rtcp_sink_0 \ > rtpbin.send_rtcp_src_0 ! \ > udpsink port=5005 sync=false async=false -t > h264.ts is a MPEG TS file with aac audio format and H.264 video format. I am using commercial versions of Fluendo plugins. > On the receiver side I see jerky video and after some time video stops. I am using a quad core machine on the receiver side. > If I repeat the same experiment using tcpserversink (in place of rtp bin) plugin on the streamer side and tcpclientsrc on the receiver side, everything works ok. > Am I missing setting some rtp bin property or is it a problem with rtp bin? Can someone suggest some experiment which can narrow down the problem? > 2 problems, timestamps are not correctly set on the sender side (use mpegtsparse in front of the payloader?). [Agarwal, Lomesh] adding mpegtsparse doesn't help. The second problem is that the demuxer might not correctly preserve timing information on the receiver. Also: http://bugzilla.gnome.org/show_bug.cgi?id=548979 [Agarwal, Lomesh] any pointers on how to resolve or workaround this bug? Wim > Thanks, > Lomesh > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Wim Taymans
-----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Wim Taymans Sent: Friday, August 29, 2008 1:58 AM To: Discussion of the development of GStreamer Subject: Re: [gst-devel] problems in streaming H.264 content using gstreamer On Thu, 2008-08-28 at 11:38 -0700, Agarwal, Lomesh wrote: > I am trying to stream/render H.264 content using gstreamer on two Ubuntu machines. Here is what I run on the server (streaming) side - > gst-launch -v gstrtpbin name=rtpbin filesrc location=h264.ts ! \ > queue2 max-size-buffers=65535 ! \ > rtpmp2tpay ! \ > queue2 max-size-buffers=65535 ! \ > rtpbin.send_rtp_sink_0 \ > { rtpbin.send_rtp_src_0 ! udpsink host=192.168.1.2 port=5000 } \ > { rtpbin.send_rtcp_src_0 ! udpsink host=192.168.1.2 port=5001 sync=false async=false } \ > { udpsrc port=5005 ! rtpbin.recv_rtcp_sink_0 } > On the receiver side I run following command to render it - > gst-launch -v gstrtpbin name=rtpbin udpsrc port=5000 caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=mpegts" ! \ > rtpbin.recv_rtp_sink_0 rtpbin. ! \ > identity sync=true silent=true ! \ > rtpmp2tdepay ! \ > flutsdemux name=demuxer \ > demuxer. ! queue max-size-buffers=0 max-size-time=0 ! flumcaacdec ! audioconvert ! volume volume=10 ! autoaudiosink \ > demuxer. ! queue max-size-buffers=0 max-size-time=0 ! fluh264dec! autovideosink \ > udpsrc port=5001 ! \ > rtpbin.recv_rtcp_sink_0 \ > rtpbin.send_rtcp_src_0 ! \ > udpsink port=5005 sync=false async=false -t > h264.ts is a MPEG TS file with aac audio format and H.264 video format. I am using commercial versions of Fluendo plugins. > On the receiver side I see jerky video and after some time video stops. I am using a quad core machine on the receiver side. > If I repeat the same experiment using tcpserversink (in place of rtp bin) plugin on the streamer side and tcpclientsrc on the receiver side, everything works ok. > Am I missing setting some rtp bin property or is it a problem with rtp bin? Can someone suggest some experiment which can narrow down the problem? > 2 problems, timestamps are not correctly set on the sender side (use mpegtsparse in front of the payloader?). The second problem is that the demuxer might not correctly preserve timing information on the receiver. Also: http://bugzilla.gnome.org/show_bug.cgi?id=548979 [Agarwal, Lomesh] can somebody explain the second problem? I don't understand how does this absolute time versus running time makes a difference? Wim > Thanks, > Lomesh > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |