- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Hi,
This worked over the weekend. Not today.
I followed all the steps in https://github.com/intel-aero/meta-intel-aero/wiki/WiFi-Streaming WiFi Streaming · intel-aero/meta-intel-aero Wiki · GitHub to connect the RTF with QGC on my ubuntu laptop. I could see video over the weekend. Today I get this error after starting the QGC app and before doing a gst-launch on the drone.
Settings location "/home/rohan/.config/QGroundControl.org/QGroundControl.ini" Is writable?: true
Filter rules "qt.network.ssl.warning=false\n*Log.debug=false\n"
MAVLinkLogManagerLog: MAVLink logs directory: "/home/rohan/.local/share/QGroundControl.org/QGroundControl/MAVLinkLogs"
Map Cache in: "/home/rohan/.cache/QGCMapCache300" / "qgcMapCache.db"
Orphaned log file count 0
LinkManager mavlinkStatus:channel:flags 0xea9028 1 2
qml: Serial Port not present
LinkManager mavlinkStatus:channel:flags 0xea9050 2 2
QGCMessageBox (unit testing) "MAVLink Protocol" "There is a MAVLink Version or Baud Rate Mismatch. Please check if the baud rates of QGroundControl and your autopilot are the same."
Switching outbound to mavlink 2.0 due to incoming mavlink 2.0 packet: 0xea9050 2 2
Segmentation fault (core dumped)
Over on the RTF drone I see this after the gst-launch command:
root@intel-aero:~# gst-launch-1.0 v4l2src device=/dev/video13 do-timestamp=true ! video/x-raw, format=YUY2, width=640, height=480, framerate=15/1 ! autovideoconvert ! vaapih264enc ! rtph264pay ! udpsink host=192.168.8.2 port=5600
Setting pipeline to PAUSED ...
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
Pipeline is live and does not need PREROLL ...
Got context from element 'vaapiencodeh264-0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)NULL;
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
Additional debug info:
../../../../gstreamer-1.8.2/libs/gst/base/gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 0:00:00.222356206
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
Please advice.
best
Rohan
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
I disabled the MAVLink router by running
/etc/init.d/mavlink-routerd.sh stop
The error went away and I can see video on QGC.
Any idea why I saw this today and not over the weekend ?
best
Rohan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Hi Rohan,
I'm glad to know that you were able to fix your issue! Honestly, I don't know the root of the error that cause the GStreamer to fail, there can be several reasons. If you ever encounter this error again, please let us know and we will be happy to help.
Have a great day!
Best Regards,
-Jose P.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Hi,
I have been getting this error again all day today on my QGC application window (on ubuntu machine):
There is a MAVLink Version or Baud Rate Mismatch. Please check if the baud rates of QGroundControl and your autopilot are the same."
Previously when I ran "/etc/init.d/mavlink-routerd.sh stop" on my Aero Intel board, the error went away.
My application is running on the Intel Aero board and is trying to setup a connection with my ubuntu laptop and send video frames over via GStreamer to display on QGC. But I cannot seem to get past the above error.
MartyG : any suggestions ?
best
Rohan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
It has come back again today
Not quite sure whats going on here. Here are my steps
I bring up the QGC app.
Run the mavlink-router stop script from the board
Run my application on the board and get the same error
Rohan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
I went right back to your original message and the line: Switching outbound to mavlink 2.0 due to incoming mavlink 2.0 packet: 0xea9050 2 2
Someone said in reply to a person who had that Mavlink error, in a message dated September 2016, "Did you turn on Mavlink 2.0? If so, QGC doesn't support it yet."
As I am not an Aero / MavLink expert, I do not know if that statement is true or not, but it seemed worth highlighting it to you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
I actually run the stop script on the Aero to disable mavlink. I also deleted the mavlink files so there is no chance of it getting turned on.
This is from the wiki that I follow
Disable MAVLINK Router:
Run below command (at every reboot) to disable MAVLINK Router to free up HSUART
root@intel-aero:~# /etc/init.d/mavlink_routerd.sh stop
OR permanently disable MAVLINK Router by deleting following files:
/etc/rc[1-5].d/S71mavlink_routerd
I do not do anything on QGC for mavlink.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Regarding the internal data flow error, it was suggested that this error can be caused if your video has more than 2 frames, and can be fixed by using a "tee multiplexer" component.
https://github.com/umlaeute/v4l2loopback/issues/83 videotestsrc not working with gstreamer 1.0 · Issue # 83 · umlaeute/v4l2loopback · GitHub
Apologies again for not being very useful on this topic!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
I am processing 80 frames at the moment. But I doubt thats the issue. The same setup worked yesterday.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Sadly I can't do any more today as I have to go to bed, as it is midnight. Keep on at it - we'll get there in the end!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Just a fyi..
This is the error message I get in my application:
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
It looks like this is issued when I run the gst_element_set_state( pipeline, GST_STATE_PLAYING ); command. If I run get_element_state_get_name() I see it is NULL. Not sure why it wont let me set the state to PLAYING and give me the error.
I do not get the mavlink messages now. I deleted the mavlink files. This seems to be GStreamer/QGC related. Any idea how I can get past this ?
Note:
QGC is running on ubuntu 16.04 laptop workstation
application running GStreamer running on Intel Aero (running Yocto)
Rohan
intel_corp -> Can you comment on this ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
There seem to be a large number of possible causes for the 'XDG_RUNTIME_DIR not set in the environment' error. One reason that occurred more than once was with people who were running from root. If they ran from a "normal" terminal then the error did not occur.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
Unfortunately the application needs to be run from under root user.
But as I mentioned,It ran yesterday.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
GStreamer apparently has a test mode where you can run a test video and get debug information about whether GStreamer is working correctly. To access it, you use this instruction:
$ GST_DEBUG=3 gst-launch-1.0 videotestsrc ! autovideosink
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
This is interesting, I ran the pgm in the Intel Wiki at https://software.intel.com/en-us/articles/intel-aero-realsense-streaming-rgb-depth-data# _Toc467619801 Code Sample: Broadcast RGB and Depth Data from an Intel® Aero Compute Board | Intel® Software and it took showed me the same error, but also the video on QGC
root@intel-aero:/home/AeroStream/Debug# ./AeroStream 192.168.8.2
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
I then tried the same in my application and I get the same error but no video
Is QGC or GStreamer expecting frames at a certain rate and if they dont get it fed at that rate, then no video ?
Just a FYI..
when I tried to set the GStreamer pipeline to PLAYING it got set to PAUSED. I looked at those 2 states are the same , so that seems to be okay. I am wondering if it expects a steady stream of frames and if not, does not show video.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
MartyG
Got it to work
Thanks for all your help!
I was initializing GStreamer every time for a new frame (Duh!). Moved it to a init() function and now its done just one time.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
lol
I sent you a message on another thread about the other 2 cameras.
How are they recognized by GStreamer ? Realasense is video13.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page