Gstreamer UDP Source Query

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Gstreamer UDP Source Query

Mohammad, Jamal M
Hi Guys,
 
I am developing an IP Streaming based media player. I am using the following pipelines:
 
Src:
 
gst-launch-1.0 -vvv udpsrc port=5004 ! application/x-rtp, payload=96 ! rtph2 64depay ! h264parse ! imxvpudec ! imxipuvideosink sync=false
 
Sink:
 
C:\gstreamer\1.0\x86_64\bin\gst-launch-1.0.exe -v filesrc location=C:\\gstreamer\\1.0\\x86_64\\bin\\hash.h264 ! h264parse ! rtph264pay ! udpsink host=153.77.205.139 port=5004 sync=true
 
This was the proof of concept. Now, We wanted to have an application which can perform the same operation but with a little tweak when there is no streaming or when no data from the sink, we need to switch to offline base media player, means play a set of videos offline and when there is data on udp port, switch to streaming.
 
Following are my queries:
 
  1. Is there any way to find out streaming has been completed after video play over IP
  2. Is there any way to find out there is no streaming happening.
 
Please help. I am ready to help you if you need more details
 
 
Mohammad Jamal Mohiuddin
Software Engineer, Retail Hosp/HW
NCR Corporation India Pvt Ltd.
[hidden email] | www.ncr.com
 
 
 
 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer UDP Source Query

Nicolas Dufresne-5
Le mercredi 17 janvier 2018 à 10:10 +0000, Mohammad, Jamal M a écrit :

> Hi Guys,
>  
> I am developing an IP Streaming based media player. I am using the
> following pipelines:
>  
> Src:
>  
> gst-launch-1.0 -vvv udpsrc port=5004 ! application/x-rtp, payload=96
> ! rtph2 64depay ! h264parse ! imxvpudec ! imxipuvideosink sync=false
>  
> Sink:
>  
> C:\gstreamer\1.0\x86_64\bin\gst-launch-1.0.exe -v filesrc
> location=C:\\gstreamer\\1.0\\x86_64\\bin\\hash.h264 ! h264parse !
> rtph264pay ! udpsink host=153.77.205.139 port=5004 sync=true
>  
> This was the proof of concept. Now, We wanted to have an application
> which can perform the same operation but with a little tweak when
> there is no streaming or when no data from the sink, we need to
> switch to offline base media player, means play a set of videos
> offline and when there is data on udp port, switch to streaming.
>  
> Following are my queries:
>  
> Is there any way to find out streaming has been completed after video
> play over IP
Only is you signal this information. An example, the RTSP protocol will
announce the duration, so the other end will know because that duration
have elapsed.

> Is there any way to find out there is no streaming happening.

You could use a pad probe that watch for data, and implement a keep
alive stile mechanism.

>  
> Please help. I am ready to help you if you need more details
>  
>  
> Mohammad Jamal Mohiuddin
> Software Engineer, Retail Hosp/HW
> NCR Corporation India Pvt Ltd.
> [hidden email] | www.ncr.com
>  
>  
>  
>  
>  _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (201 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

RE: Gstreamer UDP Source Query

Mohammad, Jamal M
I found the udp src has timeout property which sends an message when there is no data received from the socket. This may help me to say that the stream is completed, but how to find out the start of stream. I am not using RTSP here right, only RTP

-----Original Message-----
From: gstreamer-devel [mailto:[hidden email]] On Behalf Of Nicolas Dufresne
Sent: Wednesday, January 17, 2018 10:43 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: Gstreamer UDP Source Query

Le mercredi 17 janvier 2018 à 10:10 +0000, Mohammad, Jamal M a écrit :

> Hi Guys,
>  
> I am developing an IP Streaming based media player. I am using the
> following pipelines:
>  
> Src:
>  
> gst-launch-1.0 -vvv udpsrc port=5004 ! application/x-rtp, payload=96 !
> rtph2 64depay ! h264parse ! imxvpudec ! imxipuvideosink sync=false
>  
> Sink:
>  
> C:\gstreamer\1.0\x86_64\bin\gst-launch-1.0.exe -v filesrc
> location=C:\\gstreamer\\1.0\\x86_64\\bin\\hash.h264 ! h264parse !
> rtph264pay ! udpsink host=153.77.205.139 port=5004 sync=true
>  
> This was the proof of concept. Now, We wanted to have an application
> which can perform the same operation but with a little tweak when
> there is no streaming or when no data from the sink, we need to switch
> to offline base media player, means play a set of videos offline and
> when there is data on udp port, switch to streaming.
>  
> Following are my queries:
>  
> Is there any way to find out streaming has been completed after video
> play over IP

Only is you signal this information. An example, the RTSP protocol will announce the duration, so the other end will know because that duration have elapsed.

> Is there any way to find out there is no streaming happening.

You could use a pad probe that watch for data, and implement a keep alive stile mechanism.

>  
> Please help. I am ready to help you if you need more details
>  
>  
> Mohammad Jamal Mohiuddin
> Software Engineer, Retail Hosp/HW
> NCR Corporation India Pvt Ltd.
> [hidden email] | www.ncr.com
>  
>  
>  
>  
>  _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: Gstreamer UDP Source Query

Arjen Veenhuizen
As Nicolas suggested. Use a pad_probe() on the udpsrc src pad. In its
callback, you should keep track of when you received data for the last time.
You can come up with your own timeout mechanism there but it will also allow
you to detect when data started flowing again after a timeout.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel