Video (SDP) will only play if it is started after gstreamer sink or VLC is started

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

Video (SDP) will only play if it is started after gstreamer sink or VLC is started

msousa
Hi
I am streaming sdp from a test board, this is my .sdp file

v=0
o=IP4 10.0.0.1
m=video 5500 RTP/AVP 96
c=IN IP4 10.0.0.1
s=
a=rtpmap:96 H264/90000

This displays fine if the video stream (it is a test pattern from a test
brd) is started after the gstreamer receive line or VLC is started. If the
stream is already going, gstreamer doesn't show anything or the VLC screen
remains blank, whichever of the two are tried. The stream can run
continuously.

This is my gstreamer receiving line:
$ gst-launch-1.0 -e -v udpsrc port=5500 caps = "application/x-rtp,
media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264,
payload=(int)96" ! rtph264depay ! decodebin ! videoconvert ! fpsdisplaysink
sync=false


If the stream is already started, there is no display.

This is the gstreamer broadcast line from the test brd:
# gst-launch-1.0 -e videotestsrc ! video/x-raw, width=640, height=480,
framerate =30/1 ! omxh264enc ! rtph264pay ! udpsink host=10.0.0.2 port=5500

I use VLC as my proof-of-concept before attempting gstreamer, but in this
case I thought I might be able to get it to work with gstreamer first, but
no. Either way, neither of them work.

Any suggestions would be appreciated.
Thanks...



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

Re: Video (SDP) will only play if it is started after gstreamer sink or VLC is started

gotsring
Just a guess, try setting config-interval=1 in rtph264pay. This periodically
sends the SPS and PPS info to the clients.

GStreamer broadcast from the test board:
gst-launch-1.0 -e videotestsrc ! video/x-raw, width=640, height=480,
framerate =30/1 ! \
omxh264enc ! rtph264pay config-interval=1 ! udpsink host=10.0.0.2 port=5500





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

Re: Video (SDP) will only play if it is started after gstreamer sink or VLC is started

msousa
good suggestion, didn't work though,  tried capturing with VLC and gstreamer

Thanks...

On Friday, February 26, 2021, 10:04:45 AM EST, gotsring <[hidden email]> wrote:


Just a guess, try setting config-interval=1 in rtph264pay. This periodically
sends the SPS and PPS info to the clients.

GStreamer broadcast from the test board:
gst-launch-1.0 -e videotestsrc ! video/x-raw, width=640, height=480,
framerate =30/1 ! \
omxh264enc ! rtph264pay config-interval=1 ! udpsink host=10.0.0.2 port=5500





--
_______________________________________________
gstreamer-devel mailing list

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

Re: Video (SDP) will only play if it is started after gstreamer sink or VLC is started

Nicolas Dufresne-5
In reply to this post by msousa
Le vendredi 26 février 2021 à 07:05 -0600, msousa a écrit :

> Hi
> I am streaming sdp from a test board, this is my .sdp file
>
> v=0
> o=IP4 10.0.0.1
> m=video 5500 RTP/AVP 96
> c=IN IP4 10.0.0.1
> s=
> a=rtpmap:96 H264/90000
>
> This displays fine if the video stream (it is a test pattern from a test
> brd) is started after the gstreamer receive line or VLC is started. If the
> stream is already going, gstreamer doesn't show anything or the VLC screen
> remains blank, whichever of the two are tried. The stream can run
> continuously.
>
> This is my gstreamer receiving line:
> $ gst-launch-1.0 -e -v udpsrc port=5500 caps = "application/x-rtp,
> media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264,
> payload=(int)96" ! rtph264depay ! decodebin ! videoconvert ! fpsdisplaysink
> sync=false
>
>
> If the stream is already started, there is no display.
>
> This is the gstreamer broadcast line from the test brd:
> # gst-launch-1.0 -e videotestsrc ! video/x-raw, width=640, height=480,
> framerate =30/1 ! omxh264enc ! rtph264pay ! udpsink host=10.0.0.2 port=5500

I bet your OMX encoder is using open GOP by default, which means it only
produces key frame once. Try and setup the interval. Another change I would do
is "config-interval=-1", this way, if you encoder does not resent the headers,
rtph264pay will do that for you. You need both a keyframes and stream headers to
start from already running RTP H264 stream.

>
> I use VLC as my proof-of-concept before attempting gstreamer, but in this
> case I thought I might be able to get it to work with gstreamer first, but
> no. Either way, neither of them work.
>
> Any suggestions would be appreciated.
> Thanks...
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.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