diff --git a/.travis.yml b/.travis.yml
index 7a36209..d6cb6f4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -112,8 +112,9 @@ install:
 
   # android dependencies: qt, gstreamer, android-ndk
   - if [ "${SPEC}" = "android-clang" ]; then
-        wget --quiet https://s3-us-west-2.amazonaws.com/qgroundcontrol/dependencies/gstreamer-1.0-android-${GSTREAMER_NAME}-1.14.4.tar.bz2 &&
-        tar jxf gstreamer-1.0-android-${GSTREAMER_NAME}-1.14.4.tar.bz2 -C ${TRAVIS_BUILD_DIR} &&
+        wget --quiet https://s3.amazonaws.com/downloads.bluerobotics.com/QGC/dependencies/gstreamer-1.0-android-universal-1.18.1.tar.xz &&
+        mkdir gstreamer-1.0-android-universal-1.18.1 &&
+        tar xf gstreamer-1.0-android-universal-1.18.1.tar.xz -C gstreamer-1.0-android-universal-1.18.1 &&
         wget --quiet https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip &&
         unzip android-ndk-r20-linux-x86_64.zip > /dev/null &&
         export ANDROID_NDK_ROOT=`pwd`/android-ndk-r20 &&
diff --git a/src/VideoReceiver/README.md b/src/VideoReceiver/README.md
index c4dcf91..6257d50 100644
--- a/src/VideoReceiver/README.md
+++ b/src/VideoReceiver/README.md
@@ -85,12 +85,12 @@ The installer places them under ~/Library/Developer/GStreamer/iPhone.sdk/GStream
 
 ### Android
 
-Download the gstreamer from here: [gstreamer-1.0-android-universal-1.14.4.tar.bz2](https://gstreamer.freedesktop.org/data/pkg/android/1.14.4/gstreamer-1.0-android-universal-1.14.4.tar.bz2)
+Download the gstreamer from here: [gstreamer-1.0-android-universal-1.18.1.tar.xz](https://gstreamer.freedesktop.org/data/pkg/android/1.18.1/gstreamer-1.0-android-universal-1.18.1.tar.xz)
 
-Create a directory named "gstreamer-1.0-android-universal-1.14.4" under the root qgroundcontrol directory (the same directory qgroundcontrol.pro is located). Extract the downloaded archive under this directory. That's where the build system will look for it. Make sure your archive tool doesn't create any additional top level directories. The structure after extracting the archive should look like this:
+Create a directory named "gstreamer-1.0-android-universal-1.18.1" under the root qgroundcontrol directory (the same directory qgroundcontrol.pro is located). Extract the downloaded archive under this directory. That's where the build system will look for it. Make sure your archive tool doesn't create any additional top level directories. The structure after extracting the archive should look like this:
 ```
 qgroundcontrol
-├── gstreamer-1.0-android-universal-1.14.4
+├── gstreamer-1.0-android-universal-1.18.1
 │   │
 │   ├──armv7
 │   │   ├── bin
diff --git a/src/VideoReceiver/VideoReceiver.pri b/src/VideoReceiver/VideoReceiver.pri
index 7b93e25..e7b3f8c 100644
--- a/src/VideoReceiver/VideoReceiver.pri
+++ b/src/VideoReceiver/VideoReceiver.pri
@@ -62,13 +62,13 @@ LinuxBuild {
         QMAKE_POST_LINK += $$escape_expand(\\n) xcopy \"$$GST_ROOT_WIN\\lib\\gstreamer-1.0\\validate\\*.dll\" \"$$DESTDIR_WIN\\gstreamer-plugins\\validate\\\" /Y $$escape_expand(\\n)
     }
 } else:AndroidBuild {
-    #- gstreamer assumed to be installed in $$PWD/../../gstreamer-1.0-android-universal-1.14.4/***
+    #- gstreamer assumed to be installed in $$PWD/../../gstreamer-1.0-android-universal-1.18.1/***
     contains(QT_ARCH, arm) {
-        GST_ROOT = $$PWD/../../gstreamer-1.0-android-universal-1.14.4/armv7
+        GST_ROOT = $$PWD/../../gstreamer-1.0-android-universal-1.18.1/armv7
     } else:contains(QT_ARCH, arm64) {
-        GST_ROOT = $$PWD/../../gstreamer-1.0-android-universal-1.14.4/arm64
+        GST_ROOT = $$PWD/../../gstreamer-1.0-android-universal-1.18.1/arm64
     } else {
-        GST_ROOT = $$PWD/../../gstreamer-1.0-android-universal-1.14.4/x86
+        GST_ROOT = $$PWD/../../gstreamer-1.0-android-universal-1.18.1/x86
     }
     exists($$GST_ROOT) {
         QMAKE_CXXFLAGS  += -pthread