Offline tracking from an ethoscope

It is possible to use the ethoscope to track a recorded video rather than the real-time stream coming from the pi camera. This is the easiest option but also the slowest because it can go as fast as an ethoscope can go.

To do so:

  1. Flag the ethoscope as "experimental". You can do that from the settings menu of the node.

Untitled

  1. Record the video as you would normally do using your ethoscope.
  2. Once your video is fully recorded, you will have to convert it. If your ethoscope was correctly flagged as experimental a new option will appear under the video options button.

Untitled

  1. Converting the video may take a few minutes but will not give you feedback on whether is finished or not. Keep in mind that video conversion will take extra space on your SD card!
  2. After the conversion, you can start the offline tracking. Start a tracking as usual and select the option MovieVirtualCamera. This will open a choice of videos found on the device. Pick the one you want to track. If you cannot find it there yet it is probably because the conversion has not finished yet.

Untitled

  1. That's it. The ethoscope will now track the movie instead of the camera stream and data will be saved as usual.

Offline tracking from a virtual ethoscope

A virtual ethoscope (or virtuascope) is an ethoscope that runs on a computer that is not a PI. It is possible to run an ethoscope on the node, for instance, and this will appear in the list along with the other ethoscopes. It can be conveniently used to track offline videos. There are two ways to do so: with the bare code and with a docker container (recommended).

1. virtuascope from the docker container (recommended).

On the node or in fact any other powerful linux computer, navigate to the Docker/virtuascope folder of the ethoscope project. Then issue the docker compose command

cd /opt/ethoscope-node/Docker/virtuascope/
docker compose up -d

The virtuascope will appear on the node and you will be able to track from there.

2. virtuascope from bare code

On the node: