Context:
I am running blueOS docker on my rock5T board (rockchip rk3588). I mapped it to the web server so I am running
I am using a hikvision camera. The video stream from the camera can be successfully fetched through RTSP at the following url:
main stream (higher resolution): rtsp://username:password@:554/Streaming/channels/101.
sub stream (lower resolution): rtsp://username:password@:554/Streaming/channels/102.
The problem I am getting is that sometimes (actually most of the times), at the video stream tab of blueOS, I encounter these errors and it’s annoying because it will block out the GUI to set up the redirect video streams.
Moreover, sometimes I am not able to get the video stream in Cockpit even it is showing ‘available’. It will just keep loading or enter a black screen. However, when I check on the 6020 port to get rid of the buggy GUI, the video streams seem to be normal and running (I can view the videos too).
This happens even when I plug the monitor to the rockchip and watch from the rockchip itself (so it is not network issue). Is anyone experienced in solving this to make the video streaming smoother?
Hi @alexgosleep -
What version of BlueOS are you using? Stable versions don’t currently handle rtsp video streams well, however 1.4.4 latest bets certainly do!
Additionally, since Cockpit 1.18, you can connect to your rtsp feed directly with no BlueOS involvement, likely your best option!
Hi Tony,
the BlueOS version I am currently using is 1.4.4.
I am currently using cockpit v1.18.2 too but I cannot find the interface to add video stream in cockpit itself.
(here you can see even though the two video streams seems ‘available’ but it’s not loading)
do you mind show me where do I add the video stream directly in the Cockpit GUI?
Hi @alexgosleep -
You’re using the cockpit lite extension, try the full version as a desktop application!
The direct rtsp is only available in this version due to web browser inherent limitations…
Hi Tony,
I downloaded the cockpit desktop version, but seems like the error still persists. I suspect it has to do with blueOS’s internal media server?
When I tested the video streaming with Gstreamer(translate + broadcast) + FFplay(fetch the video stream from remote device), the video stream works fine. So I changed my video streaming pipeline to:
- using Gstreamer to translate RTSP and broadcast on a port as UDP first with:
gst-launch-1.0 rtspsrc location=“rtsp://192.168.1.64:554/Streaming/channels/101” user-id=“admin” user-pw=“Targetboat1!” latency=10 ! \ rtph264depay ! h264parse ! mppvideodec ! \ mpph264enc ! rtph264pay config-interval=1 ! \ udpsink host=127.0.0.1 port=5600 sync=false async=false
- in Cockpit, I directly subscribe to this UDP port to stream the video.
This is working fine (up till now), and hopefully it’s useful to anyone else who’s experiencing similar errors.
Follow up on the previous answer, I have the following thoughts about why the video streaming was not working well with my setup:
- From what I read up online, blueOS is designed to work best with Rpi; however I am using a rockchip rk3588, which might not be most compatible with the blueOS system;
- I am able to utilise the NPUs and all available computational resources with the Gstreamer pipeline (for RTSP video stream translation and processing); on the other hand, in blueOS this step is handled by the internal mediaserver and might not be optimised for the board I am using. This might cause a lot of overhead and eventually a broken video stream at the Cockpit end.
After downloading the desktop version of Cockpit you should go to the video configuration page, add your RTSP stream manually (if not already listed), and click the ignore button next to the WebRTC streams (eye with X mark icon). This way Cockpit will unlist those WebRTC streams (which are being provided by BlueOS), and will automatically reconnect all your video widgets to the new RTSP stream (direct connection to the camera, no BlueOS in the middle).