Tutorial 4: Video

Tutorial 4: Video

Posted: Sep 19, 2019
Categories: Tutorials

In this tutorial we will go through the various aspects of the video workflow. At the end of this tutorial you will have knowledge of the following:

  1. configuring the camera

  2. previewing the video stream

  3. configuring the server

  4. adding a video data cell

  5. downloading HD video from the server

  6. playing back video clips

  7. exporting raw video files

  8. exporting video for social media

To use annalisa's video functionality you need to own a video license. A license can be obtained from the webshop.

Here we go!

1.Configuring the camera

Annalisa can use any camera that supports live video streaming over RTSP (RealTime Streaming Protocol). For this tutorial we will use the Amcrest 4K UltraHD 8-Megapixel PoE Outdoor Bullet Camera (IP8M-2496EB-28MM) which is able to record in 3840x2160 at 15 frames per second.

At the moment annalisa is able to support two simultaneous HD video streams or a single 4K stream.

An important thing to note is that the camera's ip address must be fixed. This is needed as the video stream is opened using a source URL which contains the camera's ip address. If the ip address would change then you would need to change the source URL, which would be inconvenient. To make the ip address fixed you need to configure your network router settings. Refer to your router manual for more information.

In this step we will use the camera's proprietary configuration interface to prepare the video stream for the annalisa system. Note that the interface will be different for other camera suppliers. For this particular camera we can bring up the interface by connecting to the camera over HTTP using a web browser (via the URL http://<ip-address>).

sailing video

The following settings are of specific importance here:

  • Encode Mode: H.264H

  • Resolution: 3840x2160

  • Frame Rate: 15 Hz

  • Bit Rate: 8192 kbps. A good value for 1080P would be 2048 kbps.

  • Sub stream: disabled.

This specific camera does not output an audio stream. However, if you use a camera that does then it is important to disable the audio stream.

For the cameras that we've tested in-house we've compiled the recommended configuration settings here.

2. Previewing the video stream

sailing video

Now that the camera is configured we need to verify that we can connect to the video stream. Camera suppliers often hand out apps that allow you to preview the video stream on your network. An alternative is to use the Video Preview functionality of the annalisa app, which can be accessed as follows:

  1. in the Events Screen, press the (Config Screen) button to go to the Configuration Screen.

  2. select the VIDEO PREVW page.

  3. in the Source URL field, type the video stream's URL. The URL's are generally of the form: rtsp://<username>:<password>@<ip-address>:554/<options>.

    In our case the URL is as follows:


  4. press CONNECT. The app will now try to establish a connection with the camera. If this succeeds then video will be shown inside the white rectangular frame. Note that some camera's (e.g. the Garmin VIRB360) only allow one recipient per video stream. So if you happen to not get any output then be sure that there is no other consumer of the video stream.

3. Configuring the server

The next step is to tell the annalisa server how to access the camera's video stream and how to handle the camera:

  1. in the Configuration Screen, select the SERVER CONF page.

  2. scroll down to the CAMERAS section and press the button next to the Camera 0 Source parameter.

  3. type, or paste, the source URL of the video stream and press SAVE.

  4. set the Camera 0 Descr parameter to Amcrest.

    This will be the name by which the camera will be referred to in the app.

  5. set the Camera 0 Type parameter to planar, to indicate that this is a normal 2D planar camera. The alternative value is omni, which represents an omnidirectional camera, like for example the Garmin Virb 360.

  6. set the Camera 0 Thumb Time Off parameter to 4.

    This value is used to sync the video data cell's thumbnail with the timeline to compensate for the delay between time of video capture and time of client storage. For most video streams a value of 4 seconds seems a good value.

  7. set the Camera 0 HD Time Off parameter to 2.

    Used to sync the HD video output with the timeline to compensate for the delay between time of video capture and time of server-side storage. For most video streams a value of 2 seconds seems a good value. For this particular camera we will use a value of 3.5s.

With that we've completed all necessary preparations. Now it is time to start using the video.

4. Adding a video data cell

First, create a new session to start recording.

Once you're in the Session Screen let's add a video data cell. A video data cell displays the output of a video stream being recorded. To add a video data cell, do the following:

  1. in the left bar, press the (settings) button.

  2. in the sub menu, press the (add data cell) button to go to the Data Cells sub menu.

  3. in the sub menu, press the (add video data cell) button. A new video data cell will be placed in a free spot on screen.

  4. tap the data cell and press the (data cell config) button to go to its settings.

  5. select the CAMERA to display, in this case Amcrest.

You'll probably notice that the picture quality of the thumbnails is quite low. Logically, due to performance limitations (i.e. limited network bandwidth) and storage limitations (i.e. limited storage capacity on the iPad) it is not feasible to send and store high-definition video in realtime to the client app from the server while recording.

Instead the server sends a constant stream of thumbnail images at a low rate (0.2Hz). This takes up far less network bandwidth and iPad storage space while still providing sufficiently clear visual cues.

We will download the high-definition video of interesting (time-limited) events in the following step, after we've completed the recording of the session.

5. Downloading HD video from the server

As said the server does not automatically send the HD video to the client. We have to tell the server for which segments of the timeline we want it to send the HD video:

  1. downloading HD video can only be done when the recording is finished. So you first need to stop the recording of the session. The app will subsequently ask whether you want to download the HD video. Choose YES and wait while the app reopens the session in VIEW mode.

  2. once back in the Session Screen, tap a speed segment, tack or jibe of which you want to download the corresponding HD video. If there is no event to tap on at your preferred time segment then add a manual speed segment first and tap that.

  3. in the pop up that appears, press the (create video clip) button to create a video clip. The video clip is represented by a line in the top row of the timeline. The line color is initially grey to indicate that the associated HD video data has not been downloaded yet from the server. It will turn yellow once the associated video is transferred to the iPad.

Now that we've created a video clip it is time to download the associated HD video from the server:

  1. in the left bar, press the (Video Screen) button to go to the Video Screen. The Video Screen gives an overview of all video clips contained in the session.

  1. press DOWNLOAD ALL to download all the HD video for every video clip. A video file will be downloaded for every video camera, so if you configured two video cameras then two video files will be downloaded for each video clip.

Note that due to storage limitations the annalisa server cannot store all video data indefinitely. When the server runs out of video storage space it will delete the oldest video data. Thus, to prevent loosing valuable video data it is advised to download the HD video as soon as possible after each session.

6. Playing back video clips

Video clips appear as yellow line segments on the timeline when their video data is available. If you move the playhead onto a video clip then the corresponding video frame will be automatically displayed overlaying the map.

Press the (play) button (in the bottom-right of the map section) to play back the video at normal speed.

7. Exporting raw video files

The app allows you to export the raw video files associated with a video clip to the iOS photo album. This will be demonstrated in the following steps:

  1. in the left bar, press the (Video Screen) button to go to the Video screen.

  2. select the video clip of which you want to export the video files.

  3. press EXPORT VIDEO.

  4. when asked if you want to augment the video with overlays answer NO. The raw video files will now be placed in your iPad's photo album.

8. Exporting video for social media

The app also allows you to export a video clip augmented with data overlays, ready to be published on social media. Repeat the following steps:

  1. in the left bar, press the (Video Screen) button to go to the Video screen.

  2. select the video clip of which you want to export the video files.

  3. press EXPORT VIDEO.

  4. when asked if you want to augment the video with overlays answer YES.

  5. you will enter a new screen where you can add overlays to the video clip. At the moment you can add a BSP-gauge overlay and a VMG-numeric overlay. You can adjust each overlay's size and position by dragging respectively the edges of the overlay or its center. Press and drag the background to move and resize the boat track. You can also select a different camera using the dropdown located in the bottom-center of the screen. When you're satisfied, press EXPORT to start the video encoding. This process can take a couple of minutes, depending on the size and duration of the video clip. The resulting video will be placed in your iPad's photo album.

That completes this tutorial!

© annalisa B.V.