video not displayed with the use of rtp

Chuck Crisler ccrisler at mutualink.net
Mon Jun 22 14:29:41 PDT 2015


Just a quick guess...but have you tried stopping the firewall? sudo
iptables stop

On Sat, Jun 20, 2015 at 6:06 AM, gagankumarnigam <gagankumarnigam at bel.co.in>
wrote:

> Hi all,
>
> i have taken demo-send.cpp(from net which is given below) example compiled
> and run on one system .It is Running successfully without any error and
> also
> showing display.
>
> however on client i gave cmd line argument which is running well but not
> given any display: It is like that
>
> [arcgis at localhost Desktop]$ gst-launch -v udpsrc port=8999
> caps="application/x-rtp,payload=96,encoding-name=H264"  ! rtph264depay !
> h264parse ! ffdec_h264 ! autovideosink
>
> and o/p is
>
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
>
> but no display..................
>
> Can any one suggest me what is the errrrrrrrrrrrrrrrrrrrrrrrrrrr here??
> Server side code is given below
>
> ************demo.server.cpp*******************
>
> #include<gst/gst.h>
> #define RECV_IP "192.168.1.3"
>
> static gboolean
> bus_call( GstBus *bus,GstMessage *msg, gpointer data )
> {
>         GMainLoop *loop = ( GMainLoop* )data;
>         switch( GST_MESSAGE_TYPE( msg )) {
>                 case GST_MESSAGE_EOS:
>                                         g_print ( "End-of-stream\n" );
>                                         g_main_loop_quit( loop );
>                                         break;
>                 case GST_MESSAGE_ERROR: {
>                                         gchar *debug;
>                                         GError* err;
>                                         gst_message_parse_error(
> msg,&err,&debug );
>                                         g_print ( "Error: %s\n", err
> ->message );
>                                         g_error_free( err );
>                                         g_main_loop_quit ( loop );
>                                         break;
>                 }
>                 default:
>                                         break;
>         }
>         return TRUE;
> }
>
> int main(int argc, char*  argv[])
> {
>         GstElement *pipeline, *source,*queue,*videoscale,*capsfilter;
>         GstElement *ffmpegcs, *encoder, *rtph264pay;
>         GstElement *rtpbin, *udpsink_rtp, *udpsink_rtcp,*udpsrc_rtcp;
>         GstElement *sink, *tee, *queuesave,*queuesend;
>         GstElement *filesink;
>         GstElement *ffmpegcsd;
>         GMainLoop  *loop;
>         gboolean ret =  FALSE;
>         int port = 4030;
>         GstCaps* caps;
>         gchar* name;
>         GstPad* sinkpad;
>         GstCaps* sinkcaps;
>
>         gint* port2;
>         //GstStaticCaps  staticcaps;
>
>         gst_init (&argc, &argv);
>         caps = gst_caps_from_string(
> "video/x-raw-yuv,width=320,height=240" );//
> GST_STATIC_CAPS( "video/x-raw-yuv,width=320,height=240" );
>         //staticcaps = GST_STATIC_CAPS(
> "video/x-raw-yuv,width=320,height=240" );//
> GST_STATIC_CAPS( "video/x-raw-yuv,width=320,height=240" );
>         loop = g_main_loop_new( NULL,FALSE );
>
>         pipeline      = gst_pipeline_new( "video-send" );
>         source        = gst_element_factory_make ( "v4l2src","file-source"
> );
>         queue         = gst_element_factory_make ( "queue", "queue" );
>         videoscale    = gst_element_factory_make ( "videoscale",
> "videoscale" );
>         capsfilter    = gst_element_factory_make ( "capsfilter",
> "capsfilter" );
>         ffmpegcs      = gst_element_factory_make ( "ffmpegcolorspace",
> "ffmpegcs"
> );
>         ffmpegcsd     = gst_element_factory_make ( "ffmpegcolorspace",
> "ffmpegcsd"
> );
>         encoder       = gst_element_factory_make ( "x264enc", "encoder" );
>         rtph264pay    = gst_element_factory_make ( "rtph264pay",
> "rtph264pay" );
>         rtpbin            = gst_element_factory_make ( "gstrtpbin",
> "rtpbin" );
>         udpsink_rtp   = gst_element_factory_make ( "udpsink",
> "udpsink-send data"
> );
>         udpsink_rtcp  = gst_element_factory_make ( "udpsink",
> "udpsink-rtcp" );
>         udpsrc_rtcp       = gst_element_factory_make ( "udpsrc",
> "udpsrc-rtcp" );
>         sink          = gst_element_factory_make ( "autovideosink", "sink"
> );
>         filesink      = gst_element_factory_make ( "filesink", "filesink"
> );
>         tee           = gst_element_factory_make ( "tee", "tee" );
>         queuesave     = gst_element_factory_make ( "queue", "queuesave" );
>         queuesend     = gst_element_factory_make ( "queue", "queuesend" );
>
>
>         if( !pipeline || !source  || !queue || !videoscale || !capsfilter
> ||
>                 !ffmpegcs || !encoder || !rtph264pay || !rtpbin ||
>                 !udpsink_rtp || !udpsink_rtcp || !udpsrc_rtcp ||
> !ffmpegcsd ) {
>                 g_print ( "One element could not be created \n" );
>                 return -1;
>         }
>
>         g_object_set( G_OBJECT ( filesink ), "location", "./test.txt",
> NULL );
>         g_object_set( G_OBJECT ( capsfilter ),  "caps",  caps, NULL );
>         g_object_set( G_OBJECT ( encoder ), "bitrate", 100000, NULL);
>
>         g_object_set( G_OBJECT ( udpsink_rtp ), "host", RECV_IP, NULL );
>         g_object_set( G_OBJECT ( udpsink_rtp ), "port", 10000, NULL );
>         g_object_set( G_OBJECT ( udpsink_rtcp ),"host", RECV_IP, NULL );
>         g_object_set( G_OBJECT ( udpsink_rtcp ), "port", 10001, NULL );
>         g_object_set( G_OBJECT ( udpsrc_rtcp ), "port", 10002, NULL );
>
>
>         //gst_bus_add_watch( gst_pipeline_get_bus( GST_PIPELINE( pl_send )
> ),
>                         //bus_call,loop );
> #if 0
>         gst_bin_add_many( GST_BIN( pipeline ), source, queue, videoscale,
> capsfilter,
>                 ffmpegcs, queuesave,queuesend, tee, filesink, sink,  NULL);
>         ret = gst_element_link_many( source, capsfilter, ffmpegcs,queue,
> tee, NULL
> );
>         ret = gst_element_link_many( tee, queuesend, sink, NULL );
>         ret = gst_element_link_many( tee, queuesave, filesink, NULL );
>         //ret = gst_element_link_many( source, queue,  filesink, NULL );
>
>         /*gst_bin_add_many( GST_BIN( pipeline ), source, queue, videoscale,
> capsfilter,
>                 ffmpegcs, encoder, rtph264pay, udpsink_rtp, udpsink_rtcp,
> udpsrc_rtcp,
> rtpbin,  NULL);
>         ret = gst_element_link_many( source, queue, videoscale, capsfilter,
>                 ffmpegcs, encoder, udpsink_rtp, NULL );*/
>
> #else
>         gst_bin_add_many( GST_BIN( pipeline ), source,ffmpegcs,
> capsfilter, queue,
> tee,
>                 encoder,queuesend,rtph264pay, rtpbin,udpsink_rtp,
> udpsink_rtcp,
> udpsrc_rtcp,
>                 queuesave,  ffmpegcsd, sink,  NULL);
>
>         ret = gst_element_link_many( source, capsfilter,ffmpegcs, queue,
> tee, NULL
> );
>
>         ret = gst_element_link_many( tee,  queuesave,ffmpegcsd, sink, NULL
> );
>         ret = gst_element_link_many( tee, queuesend, encoder, rtph264pay,
> NULL );
>         ret = gst_element_link_pads_filtered( rtph264pay, "src", rtpbin,
> "send_rtp_sink_0", NULL );
>         ret = gst_element_link_pads_filtered( rtpbin, "send_rtp_src_0",
> udpsink_rtp, "sink", NULL );
>         ret = gst_element_link_pads_filtered( rtpbin, "send_rtcp_src_0",
> udpsink_rtcp,"sink", NULL );
>         ret = gst_element_link_pads_filtered( udpsrc_rtcp, "src", rtpbin,
> "recv_rtcp_sink_0", NULL );
> #endif
>         g_print ( "Setting to sending data\n" );
>         gst_element_set_state ( pipeline, GST_STATE_PLAYING );
>         gst_element_set_locked_state( udpsink_rtcp, TRUE );
>
>         /*sinkpad = gst_element_get_pad( udpsink_rtp, "sink" );
>         sinkcaps = gst_caps_new_simple( NULL, NULL );
>         g_object_get( G_OBJECT ( udpsink_rtp ), "caps", sinkcaps, NULL );
>         sinkcaps = gst_pad_get_caps( sinkpad );
>         name = gst_caps_to_string( sinkcaps );*/
>
>         g_main_loop_run( loop );
>
>
>
>         g_print ( "returned ,stopping playback\n" );
>         gst_element_set_state( pipeline, GST_STATE_NULL );
>
>         g_print ( "Deleting pipeline\n" );
>         gst_object_unref( GST_OBJECT ( pipeline ) );
>
>         return 0;
> }
>
>
>
>
> --
> View this message in context:
> http://gstreamer-devel.966125.n4.nabble.com/video-not-displayed-with-the-use-of-rtp-tp4672364.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>



--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150622/3d17d677/attachment.html>


More information about the gstreamer-devel mailing list