I'm trying to find a good starting point upon which to develop an RTSP streaming server application using GStreamer and RTSP on Windows. I've installed GStreamer as per these instructions: https://gstreamer.freedesktop.org/documentation/installing/on-windows.html, however, the samples specific to the RTSP server thus far haven't worked very well, and I'm wondering if others have any input/experience. First, this example: https://github.com/GStreamer/gst-rtsp-server/blob/master/examples/test-appsrc.c builds and runs, but the output (at least when viewed over VLC) is just a black screen. The client connects, and the scrubber shows time moving forward, but the video is black. Examining the code, it appears it ought to alternate between black and white, but it does not. If I adapt that example to use videotestsrc as the video source, setting the string parameter of gst_rtsp_media_factory_set_launch to "( videotestsrc is-live=true ! videoconvert ! x264enc tune=zerolatency speed-preset=veryfast ! rtph264pay name=pay0 pt=96 )", I get the "color bars" and white noise video, but it stutters for a second or two, and then pauses for exactly ten seconds and then starts to play normally. I use the x264 encoder in the Live555 streaming server, and with similar parameters, I get no stutter in playback. I have to believe this is an encoder setting and not a failure of the RTSP server, but adjusting different parameters doesn't seem to impact this stutter. Obviously, in our production environment, we cannot have this kind of stutter. Finally, I have been completely unable to get any of the Intel Media SDK to work, specifically their x264 encoder, and I'm curious if anyone has any experience there either. I know this isn't a group specific to these plugins, but perhaps someone has experience with these plugins. I opened the following issue on their repo: https://github.com/intel/gstreamer-media-SDK/issues/169, but thus far haven't heard anything. I think what I'm looking for is just feedback to these issues so I can build confidence this will work on Windows. I haven't tried these particular examples on Linux, but on a couple of occasions, I've had a lot more luck getting GStreamer samples running as advertised under Ubuntu than Windows. I need them to run on Windows. Any feedback would be appreciated. Thanks a bunch for your time. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi, I have a streaming Server running on windows which is based on appsrc. It Works well. I also use the Intel Media SDK Encoder. I am
currently using the msdkh264enc Plugin which is part of the 1.15 and 1.16 release. The problems you are seeing are client side problems. If you use a gstreamer based client, the stuttering at the start doesn’t occur. The black screen may be due to the client
throwing the frames away because they are past the presentation time. Check this by turning the VLC messages to level 2 and by using wireshark to observe the arrival of the frames on the client side.
Gruesse Von: gstreamer-devel <[hidden email]>
Im Auftrag von Ben Rush I'm trying to find a good starting point upon which to develop an RTSP streaming server application using GStreamer and RTSP on Windows. I've installed GStreamer as per these instructions: https://gstreamer.freedesktop.org/documentation/installing/on-windows.html,
however, the samples specific to the RTSP server thus far haven't worked very well, and I'm wondering if others have any input/experience.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thank you so much for your feedback. I'll try your suggestions and report back. On Mon, Apr 15, 2019, 01:14 Thornton, Keith <[hidden email] wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Keith, Thanks for your response. So, I just got into the office and have started working with some of your suggestions. To keep the conversation from getting confusing, I'll focus in on one problem at a time: the use of the first example and the appsrc plugin. So, I was able to get it working using a GStreamer client, as you suggested. However, playback isn't smooth, which concerns me. I see in the code we seem to be responsible for setting the timestamp and I'm wondering if perhaps the example I'm working with just isn't meant to reflect a production-ready solution. The fact that the presentation time is erratic from the client side seems to be a good theory as to what's causing my issues (thanks for that). If that's the case, I'd like to find an example which does. I made a quick video to show you what I'm experiencing. First, let me share with you the client command I'm using to play the stream: .\gst-launch-1.0.exe playbin uri=rtsp://172.17.5.156:8554/test And again, the code I'm using is exactly the same code as the example. This is what playback looks like: https://www.youtube.com/watch?v=46T3TOOI0Lo&feature=youtu.be If this was a heart monitor for a patient, the patient would have a serious arrhythmia :) And I guess the other concern I have is what you meant when you said the issue is on the client. Ultimately we'll likely be contained to mostly just Gstreamer code, but we will need to support VLC for debugging purposes too. Again, though, I think what I'm likely experiencing is the need to be more mindful of timestamps than I needed to be when using Live555. So, any example code you're aware of that shows how to smartly send timestamps? Or perhaps something in my GStreamer plugin pipeline I should add to better support a smoother playback (interspersing some queues or something?). I'll also spend some more time investigating other RTSP examples for possible solutions. Thanks again, Ben On Mon, Apr 15, 2019 at 7:37 AM Ben Rush <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Keith, I seem to have missed the parameters for playbin. One of the important ones in my situation is the latency setting. Making new my script as follows: .\gst-launch-1.0.exe playbin uri=rtsp://127.0.0.1:8554/test uridecodebin0::source::latency=250, which resolved the issue for me (so now I get a steady stream of alternating white/black). So, your insight that it's fully on the client appeared to be quite correct. Apparently, I need to dig into the latency settings within VLC and figure out why it's behaving oddly (still) in that platform. However, I think you've given me enough to run with. Thanks a bunch. I may ask another question sometime soon about the Intel plugins since you've had luck with those as well. Cheers. On Mon, Apr 15, 2019 at 9:32 AM Ben Rush <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |