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:
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 |
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 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 |
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 |
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 |
Free forum by Nabble | Edit this page |