Converting gst launch command into c
Rajesh salumuri
rajesh.salumuri at gmail.com
Thu Nov 27 00:31:24 PST 2014
Hi Poizl,
Thanks for your reply,
Actually i called the connect to pad-added and in the call back function i
'm connecting them to respective elements.
One thing is i don't know the stream in which format they are sending like
from .avi or .mov ,here i have taken the avidemux to show,but how to find
out what type of streaming they are sending, according to that i will use
respective demuxer .Can you please suggest how i get know to know this.
On Thu, Nov 27, 2014 at 1:16 PM, Dušan Poizl <poizl at maindata.sk> wrote:
> you need connect to "pad-added" signal and in callback of that signal you
> will get GstPad. from this pad you get caps and according to them you link
> this pad to additional elements.
>
> Dňa 27.11.2014 o 08:05 Rajesh salumuri napísal(a):
>
> Hi,
>
> I am trying to convert the following gst-launch command into c:
>
>
>
> *gst-launch rtspsrc location=rtsp://ipaddress:port name=demux demux. !
> queue ! decodebin ! autovideosink demux. ! queue ! rtppcmudepay !
> autoaudiosink *
> I tried the above command it is able to stream both audio and video.
>
> And I played this rtspurl in vlc media player it is showing the
> properties are as follows:
>
> Type: Video Codec: H264 - MPEG-4 AVC (part 10) (h264) Resolution: 320x180
> Decoded format: Planar 4:2:0 YUV
>
> Type: Audio Codec: PCM MU-LAW (mlaw) Channels: Mono Sample rate: 8000 Hz
> Bits per sample: 8
> *I am converting the above gst-launch command in c in brief explained
> below*
>
> pipeline = gst_pipeline_new("nice_pipeline");
> source = gst_element_factory_make("nicesrc","source");//thsi source will
> take the stream from rtsp url
> * demuxer = gst_element_factory_make ("avidemux", "avi-demuxer");*
> decvd= gst_element_factory_make ("decodebin", "decodebin");
> vdsink = gst_element_factory_make ("autovideosink", "video-sink");
> vdqueue = gst_element_factory_make ("queue", "video-queue");
> adqueue = gst_element_factory_make ("queue", "audio-queue");
> decad= gst_element_factory_make ("rtppcmudepay", "rtppcmudepay");
> adsink = gst_element_factory_make ("autoaudiosink", "audio-sink");
>
> bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline));
> gst_bus_add_watch(bus, bus_call, NULL);
> gst_object_unref (bus);
> gst_bin_add_many(GST_BIN (pipeline), source,decvd,decad, adqueue,
> vdqueue, vdsink, adsink, NULL);
>
> gst_element_link (source, demuxer);
> gst_element_link (decvd, vdqueue);
> gst_element_link (vdqueue, vdsink);
> gst_element_link (decad, adqueue);
> gst_element_link (adqueue, adsink);
>
> g_signal_connect (demuxer, "pad-added", G_CALLBACK (on_pad_added),
> NULL);
> gst_element_set_state(pipeline, GST_STATE_PLAYING);
>
> *on_pad_added func defintion:*
>
> GstCaps *caps;
> GstStructure *str;
>
> caps = gst_pad_get_caps (pad);
> g_assert (caps != NULL);
> str = gst_caps_get_structure (caps, 0);
> g_assert (str != NULL);
>
> if (g_strrstr (gst_structure_get_name (str), "video")) {
> g_debug ("Linking video pad to dec_vd");
>
> GstPad *targetsink = gst_element_get_pad (decvd, "sink");
> g_assert (targetsink != NULL);
> gst_pad_link (pad, targetsink);
> gst_object_unref (targetsink);
> }
>
> if (g_strrstr (gst_structure_get_name (str), "audio")) {
> g_debug ("Linking audio pad to dec_ad");
>
> GstPad *targetsink = gst_element_get_pad (decad, "sink");
> g_assert (targetsink != NULL);
> gst_pad_link (pad, targetsink);
> gst_object_unref (targetsink);
> }
>
> gst_caps_unref (caps);
>
> My question is that what type of demuxer i have to select for the
> properties of video and audio it is streaming.
>
> If any other solution is there for demuxing audio and video from rtsp
> url please suggest or provide some sample code for that.
>
> Thanks.
>
>
> _______________________________________________
> gstreamer-devel mailing listgstreamer-devel at lists.freedesktop.orghttp://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
> _______________________________________________
> 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/20141127/900b97c3/attachment.html>
More information about the gstreamer-devel
mailing list