{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Accessing Video Streams\n", "\n", "In this module we will connect to the UAV's onboard cameras." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using VLC to stream over RTSP\n", "\n", "The UAVs are running a web service (called [camera-manager](https://github.com/Dronecode/camera-manager)) which exposes cameras over [RTSP](https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol), the Real Time Streaming Protocol. \n", "\n", "VLC is a video player application available on all platforms. On your team laptop:\n", "\n", "1. Open VLC\n", "2. Go to the main menu, and select `Media -> Open Network Stream`\n", "3. Type in the RTSP URL for the front camera:\n", " ```\n", " rtsp://TEAMNAME.beaver.works:8554/video13\n", " ```\n", " This URL is documented on Intel's [wiki](https://github.com/intel-aero/meta-intel-aero/wiki/06-Cameras-and-Video#rtsp-streaming-with-the-camera-streaming-daemon).\n", "4. Click **Play** " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using ROS to view image topics\n", "\n", "Recall the basics of *ROS topics*, which are named \"buses\" or \"channels\" of information which ROS uses to pass around *ROS messages* between *ROS nodes*. These topics can contain streaming camera sensor data, which we will inspect as part of this module.\n", "\n", "We will use `rqt_image_view`, a desktop program which decodes and visualizes the binary information in a ROS image topic. However, first we need to launch the *ROS node* which publishes ROS Image *messages* on the topic.\n", "\n", "On the small HDMI display connected to the drone, open a terminal with the shortcut `Ctrl+Alt+t` (using the keyboard connected to the drone).\n", "\n", "