RTSP Streaming (to QGC on Android) issues on VOXL Mini
-
Hi, I seem to have issues with streaming rtsp video from voxl mini to QGC on an Android tablet. Initially when I connect from QGC I see the video feed but when I close out QGC and try to open the video stream again I don't see any video. Previously I have been using the same configuration to stream from the VOXL2 and I haven't seen this problem. I tried installing different versions of the voxl-streamer on the mini but it did not help. I am running SDK version 1.1.2 on the Mini. Has anyone seen this problem before?
Thanks.
-
@AndriiHlyvko , can you please run the voxl-streamer in foreground (you can stop the background service using
systemctl stop voxl-streamer
), run it from command line and see if it outputs any useful information during your QGC connection / disconnection? also, i believe there is a debug mode (-v 0
) which may give you more information. -
@Alex-Kushleyev I ran voxl-streamer in verbose mode in two cases: when I got the video and when I didn't. The voxl-streamer output was the same in both cases (only the port was different). I didn't see any errors either.
anyways here is the output:voxl2-mini:/$ voxl-streamer -v 0 DEBUG: Using input: hires_small_encoded DEBUG: Using RTSP port: 8900 DEBUG: Using bitrate: 1000000 DEBUG: Using decimator: 1 Waiting for pipe hires_small_encoded to appear Found Pipe detected following stats from pipe: w: 1024 h: 768 fps: 15 format: H265 DEBUG: Frame rate is: 15 DEBUG: Made rtsp_server DEBUG: Created RTSP server main loop context DEBUG: Created RTSP server main loop DEBUG: Created RTSP server main loop source for callback DEBUG: Created timeout loop source for callback DEBUG: Got 3 from gst_rtsp_server_attach Stream available at rtsp://127.0.0.1:8900/live A new client rtsp://192.168.168.10:52296(null) has connected, total clients: 1 Camera server Connected DEBUG: Meta data from incoming frame: DEBUG: magic_number 0x564F584C DEBUG: timestamp_ns: 95891853324 DEBUG: frame_id: -1 DEBUG: width: 1024 DEBUG: height: 768 DEBUG: size_bytes: 77 DEBUG: stride: 1024 DEBUG: exposure_ns: 270328 DEBUG: gain: 54 DEBUG: format: 4 DEBUG: Saving h265 SPS DEBUG: Creating media pipeline for RTSP client DEBUG: Made empty pipeline DEBUG: Made test_source DEBUG: Made test_caps_filter DEBUG: Made overlay_queue DEBUG: Made image_overlay DEBUG: Made scaler_queue DEBUG: Made scaler DEBUG: Made converter_queue DEBUG: Made video_converter DEBUG: Made rotator_queue DEBUG: Made video_rotate DEBUG: Made video_rotate_filter DEBUG: Made app_source DEBUG: Made app_source_filter DEBUG: Made encoder_queue DEBUG: Made omx_encoder DEBUG: Made omx_h265_encoder DEBUG: Made h264_parser DEBUG: Made h265_parser DEBUG: Made rtp_filter DEBUG: Made rtp_queue DEBUG: Made rtp_payload DEBUG: Made rtp_h265_payload VERBOSE: *** Start feeding *** DEBUG: SPS accepted VERBOSE: Frame 1 accepted VERBOSE: *** Start feeding *** VERBOSE: Frame 2 accepted VERBOSE: *** Start feeding ***
-
@Alex-Kushleyev I am pretty confident right now that this issue is not a modalai issue but a QGC issue. I tried using VLC on Android and it works fine every time but whenever I switch into QGC is when I see the problem.
-
@AndriiHlyvko , hmm.. interesting! I am not sure what to suggest, i don't think we have seen this issue. If the RTSP stream is working via VLC, it should also work in QGC.. Both VOXL2 and VOXL2 mini can run the same VOXL2 SDK version (though not exactly the same kernel and a few other things, hence different sdk release files), so essentially the same version of
voxl-camera-server
,voxl-streamer
,voxl-px4
, etc. -
@AndriiHlyvko @Alex-Kushleyev
Are you using USB-C for this connection?
Voxl2 Mini differs from Voxl 2 in that USB-C cable lengths need to be shorter on V2 Mini compared to Voxl 2.
Voxl 2 uses a re-driver IC to boost the signals on USB-C, whereas to keep V2 Mini small, we removed that part.
So, not sure if that is a factor or not, but maybe try using a shorter USB-C cable on V2 Mini.
I have heard of several folks (even internally) that use very long USB-C cables on Voxl 2, then when they try Voxl 2 mini, they forget to use a shorter cable, and some things with USB communications start to fail randomly.Give it a shot. Not sure if one mode or another for your stream tries to use faster speeds, but that can possibly explain it.
-
@Vinny and @Alex-Kushleyev I've narrowed down what the exact problem is. Apparently QGC is not good with H265 video streaming. Once I set the encoding to H264 in voxl-camera config file the video streaming works well. Also FYI I am using microhard radio for the voxl to QGC connection.
-
@AndriiHlyvko , thank you for following up with your solution!