From 5f929a136f1740da11a4bdabfb44fcbf48448c4c Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Wed, 29 Jan 2025 15:40:16 +1100 Subject: [PATCH 1/5] video_streaming - Update QGC streaming doc link --- en/companion_computer/video_streaming.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/companion_computer/video_streaming.md b/en/companion_computer/video_streaming.md index 846dbf9f105d..3ba74fc1c6b5 100644 --- a/en/companion_computer/video_streaming.md +++ b/en/companion_computer/video_streaming.md @@ -8,7 +8,7 @@ You can't video stream directly from a camera connected to PX4. GStreamer is used to send the video to _QGroundControl_ over an IP link. To support streaming use cases you will need to install _GStreamer_ development packages on both your companion computer and on the system running _QGroundControl_. -_QGroundControl_ uses GStreamer 1.14.4 and a stripped down version of _QtGstreamer_ to support UDP RTP and RSTP video streaming. +_QGroundControl_ uses GStreamer 1.18.1 and a stripped down version of _QtGstreamer_ to support UDP RTP and RSTP video streaming. ## Companion Computer Setup @@ -30,7 +30,7 @@ To setup and use video steaming with QGC: sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y ``` - For other platforms follow the instructions in [QGroundControl VideoReceiver README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/index.md). + For other platforms follow the instructions in [QGroundControl VideoReceiver GStreamer README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoManager/VideoReceiver/GStreamer/README.md). 1. Enable video in _Fly View_: [QGroundControl > General Settings (Settings View) > Video](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/settings_view/general.html#video) 1. If everything works, you should see the video stream displayed in the QGC Video Switcher (QGC Fly View bottom left corner). From 64ae85b6f3d6140c3cf023f41d70c0f0168e2531 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 30 Jan 2025 11:04:25 +1100 Subject: [PATCH 2/5] Fix links and make it clear step not needed for QGC5 --- en/companion_computer/video_streaming.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/en/companion_computer/video_streaming.md b/en/companion_computer/video_streaming.md index 3ba74fc1c6b5..f00c9936ef2f 100644 --- a/en/companion_computer/video_streaming.md +++ b/en/companion_computer/video_streaming.md @@ -12,7 +12,7 @@ _QGroundControl_ uses GStreamer 1.18.1 and a stripped down version of _QtGstream ## Companion Computer Setup -General instructions for installing _GStreamer_ and starting the stream on a companion computer are provided in the [QGroundControl VideoReceiver README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoReceiver/index.md). +General instructions for installing _GStreamer_ and starting the stream on a companion computer are provided in the [QGroundControl VideoReceiver GStreamer README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoManager/VideoReceiver/GStreamer/README.md). The setup of cameras and data links depends on many factors. Examples in this library are listed below (note, these are options, not "recommended"): @@ -24,7 +24,12 @@ Examples in this library are listed below (note, these are options, not "recomme To setup and use video steaming with QGC: 1. Install GStreamer before running QGC. - On Ubuntu this is done with the command: + + ::: tip + This is not needed for the latest QGroundControl _daily builds_ on Ubuntu (and won't be required for releases after version 4). + ::: + + On Ubuntu you can install the runtime dependencies using the command: ```sh sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y From cc44a4812121b22004c5f6b42a6d7b605ad0c400 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 30 Jan 2025 11:10:06 +1100 Subject: [PATCH 3/5] Update en/companion_computer/video_streaming.md --- en/companion_computer/video_streaming.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/companion_computer/video_streaming.md b/en/companion_computer/video_streaming.md index f00c9936ef2f..e45f3384c1c3 100644 --- a/en/companion_computer/video_streaming.md +++ b/en/companion_computer/video_streaming.md @@ -26,7 +26,7 @@ To setup and use video steaming with QGC: 1. Install GStreamer before running QGC. ::: tip - This is not needed for the latest QGroundControl _daily builds_ on Ubuntu (and won't be required for releases after version 4). + This step is not needed for the latest QGroundControl _daily builds_ on Ubuntu (and won't be required for releases after version 4). ::: On Ubuntu you can install the runtime dependencies using the command: From 0c0016b1ee6b11f171fc211ab0e50e7aaa3d5b23 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 6 Feb 2025 09:24:23 +1100 Subject: [PATCH 4/5] Fix up to reflect current requirements --- en/companion_computer/video_streaming.md | 45 ++++++++++++++++++++---- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/en/companion_computer/video_streaming.md b/en/companion_computer/video_streaming.md index e45f3384c1c3..8779a5bc1c93 100644 --- a/en/companion_computer/video_streaming.md +++ b/en/companion_computer/video_streaming.md @@ -12,7 +12,41 @@ _QGroundControl_ uses GStreamer 1.18.1 and a stripped down version of _QtGstream ## Companion Computer Setup -General instructions for installing _GStreamer_ and starting the stream on a companion computer are provided in the [QGroundControl VideoReceiver GStreamer README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoManager/VideoReceiver/GStreamer/README.md). +You will need to install the _GStreamer_ packages that match those used by QGC. + +For a Ubuntu companion, a minimal set might be: + +```sh +sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y +``` + +For the full set you can mirror the QGC dependencies installed by [/tools/setup/install-dependencies-debian.sh](https://github.com/mavlink/qgroundcontrol/blob/master/tools/setup/install-dependencies-debian.sh). +At time of writing this is: + +```sh +DEBIAN_FRONTEND=noninteractive apt-get -y --quiet install \ + libgstreamer1.0-dev \ + libgstreamer-plugins-bad1.0-dev \ + libgstreamer-plugins-base1.0-dev \ + libgstreamer-plugins-good1.0-dev \ + libgstreamer-gl1.0-0 \ + gstreamer1.0-plugins-bad \ + gstreamer1.0-plugins-base \ + gstreamer1.0-plugins-good \ + gstreamer1.0-plugins-ugly \ + gstreamer1.0-plugins-rtp \ + gstreamer1.0-gl \ + gstreamer1.0-libav \ + gstreamer1.0-rtsp \ + gstreamer1.0-vaapi \ + gstreamer1.0-x +``` + +::: tip +For other companion platforms you can mirror the instructions in the [corresponding installation scripts](QGC). +::: + +General instructions for starting the stream on a companion computer are provided in the [QGroundControl VideoReceiver GStreamer README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoManager/VideoReceiver/GStreamer/README.md). The setup of cameras and data links depends on many factors. Examples in this library are listed below (note, these are options, not "recommended"): @@ -23,20 +57,19 @@ Examples in this library are listed below (note, these are options, not "recomme To setup and use video steaming with QGC: -1. Install GStreamer before running QGC. +1. Install GStreamer if using Ubuntu QGC 4 release builds (or earlier) ::: tip - This step is not needed for the latest QGroundControl _daily builds_ on Ubuntu (and won't be required for releases after version 4). + All other QGroundControl builds include GStreamer binaries, including daily builds, release builds after version 4, and builds for other platforms include GStreamer binaries. ::: - On Ubuntu you can install the runtime dependencies using the command: + Install the runtime dependencies using the command: ```sh sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y ``` - For other platforms follow the instructions in [QGroundControl VideoReceiver GStreamer README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoManager/VideoReceiver/GStreamer/README.md). - +1. Start QGC 1. Enable video in _Fly View_: [QGroundControl > General Settings (Settings View) > Video](https://docs.qgroundcontrol.com/master/en/qgc-user-guide/settings_view/general.html#video) 1. If everything works, you should see the video stream displayed in the QGC Video Switcher (QGC Fly View bottom left corner). You can click on the video switcher to toggle the video full-screen, as shown in the screenshot below. From 77bce9d8635aeabd1c10ecd5fe2dc4f8fb4b4ac0 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 6 Feb 2025 09:28:05 +1100 Subject: [PATCH 5/5] Update en/companion_computer/video_streaming.md --- en/companion_computer/video_streaming.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/companion_computer/video_streaming.md b/en/companion_computer/video_streaming.md index 8779a5bc1c93..b15437fabb12 100644 --- a/en/companion_computer/video_streaming.md +++ b/en/companion_computer/video_streaming.md @@ -43,7 +43,7 @@ DEBIAN_FRONTEND=noninteractive apt-get -y --quiet install \ ``` ::: tip -For other companion platforms you can mirror the instructions in the [corresponding installation scripts](QGC). +For other companion platforms you can mirror the instructions in the [corresponding installation scripts](https://github.com/mavlink/qgroundcontrol/tree/master/tools/setup). ::: General instructions for starting the stream on a companion computer are provided in the [QGroundControl VideoReceiver GStreamer README](https://github.com/mavlink/qgroundcontrol/blob/master/src/VideoManager/VideoReceiver/GStreamer/README.md).