RTSP -Streaming with Xibo (for Android)

Hi together,

first of all sorry for the new thread regarding RTSP streaming. I know that there are older threads regarding the same topic, but they weren’t really able to help me.

At the moment we’re using a custom solution for streaming media content to our local media system (about 30 screens). Since file support is limited in this solution and we wanted to use more features, I started looking into Xibo and so far it fits almost perfectly. The only mandatory feature that we need, and is not working yet, is live streaming of a desktop.

To achieve this we’re using ffmpeg to capture the screen and send it to an RTSP server (https://github.com/aler9/rtsp-simple-server). I use this server in Xibo to retrieve the stream. While the rtsp:// link works fine in VLC, Xibo for Android can’t play the video for some reason (Method: XFA:VideoMedia. Message: Cannot display video). Tested with a Xiaomi 9T Pro (Android 10), as well as a Android 7 (x86) and Android 9 (x86) VM. The goal was to get it running on an Intel NUC.

The ffmpeg command I use to record and stream a screen: ffmpeg -video_size 1360x768 -framerate 24 -f x11grab -i :0.0 libx264 -tune zerolatency -f rtsp -rtsp_transport tcp rtsp://server:8554/desktop.

I was easily able to get a stream running with HLS, but the latency is just to high for this purpose. Also, another post here recommended to try to stream rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov, but the link is not working for me either (with VLC).

Update: In the meantime I’ve tried another RTSP Server as well (https://github.com/kzkysdjpn/rtsp-server). Unfortunately it’s still the same issue. While VLC works perfectly with the stream, Xibo for Android fails to play the video (Cannot display video. Uri=rtsp://server:5544/desktop. What=100. Extra=0). According to this error I figured, that MEDIA_ERROR_SERVER_DIED is the corresponding problem, but I still have no clue about the exact source of the issue. I guess the RTSP servers aren’t really compatible…

Update 2: This seems to be the background of the playback problem: http://fabiensanglard.net/mobile_progressive_playback/index.php

Any help would be really appreciated.

Kind Regards,
Andreas

Hi,

Unfortunately it is a bit of a moveable feast when it comes to Android and streaming. So much of what is possible/not possible comes from the device firmware. Xibo does some background checking to see if the file is compatible, but otherwise just opens it in a VideoView and is at the mercy of the device.

We’re looking at bringing support for ExoPlayer instead, which would be a big step forward, but it hasn’t quite moved to the front of the queue.

Some devices definitely do support RTSP, but certainly not all, and you’re likely to have much less luck with non-arm architecture (your VMs for example will be very difficult to get working).

If you’re going with a NUC you could try the Windows or Linux Players instead?

Hi Dan,

thanks for your reply. Linux would be our prefered choice anyway, since currently all our devices already run on Ubuntu. Unfortunately RTSP doesn’t seem to be supported by the Linux client (“Video scaling and RTSP streams are only supported on the Android, webOS and Tizen Players. Use the HLS Widget to show compatible video streams on Window and Linux Players.”). This was the main reason for evaluating Xibo for Android as an alternative. The latency of HLS is currently just not reasonable for our purpose, but I’ll continue to evaluate and see if I can get it down somehow.

Kind Regards,
Andreas

We’re working on this for the Linux Player, so it might be worth checking that out once we have a stable R5 release available.

The Linux Player uses gstreamer, which does support RTSP, so we’re hoping we can hook that together.

You might even be able to try that out now - just be aware that we’re working to fix some other memory leaks at the moment too.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.