The FLOSS RTSP Surveillance camera viewer for Android
Go to file
2024-02-10 10:25:06 +01:00
.idea Trying to backport Ojo to Android 4.2 2024-01-23 08:12:32 +01:00
app Merge pull request #31 from free-bots/feature/stream-focus-highlighting 2024-02-10 10:20:32 +01:00
fastlane/metadata/android added description for intent usage 2024-02-10 09:07:13 +01:00
gradle/wrapper Updated build 2023-02-15 09:12:52 +01:00
media Fixed screenshots 2021-10-13 20:45:38 +02:00
.gitignore v0.01 2021-10-13 19:29:04 +02:00
build.gradle Updated build 2023-02-15 09:12:52 +01:00
gradle.properties v0.01 2021-10-13 19:29:04 +02:00
gradlew v0.01 2021-10-13 19:29:04 +02:00
gradlew.bat v0.01 2021-10-13 19:29:04 +02:00
LICENSE Documentation 2021-10-13 20:40:56 +02:00
README.md Spacing README.md 2024-02-10 10:25:06 +01:00
settings.gradle v0.01 2021-10-13 19:29:04 +02:00

Ojo Logo

Ojo: the FLOSS RTSP Surveillance camera viewer for Android

Get it on F-Droid

(Always prefer F-Droid build, when possible).

Ojo is a basic IP Camera surveillance wall. IP camera's RTSP streams are added via its url and shown in the classic tile configuration. The number of tiles is automatically choosen based on the number of configured cameras: a single camera goes full screen, adding more cameras the app switches to a grid view: 2x2, 3x3, 4x4 and so on. The maximum number of cameras is determined by the device's capabilities.

The stream decoding and rendering is demanded to VLC's library: without their effort this app wouldn't be possible. This app was specifically developed for F-Droid, as I couldn't find any open source RTSP vievers in the main repository.

The app can be opened deeplinking to url ojo://view. To open the app with focus on a specific camera, you can use an intent (it.danieleverducci.ojo.OPEN_CAMERA) to specify which camera you want to view. The extra argument it.danieleverducci.ojo.CAMERA_NAME will open the app with the camera with the name you specified while adding the camera. The extra argument it.danieleverducci.ojo.CAMERA_NUMBER starting at 1 could be used as well, if you have multiple cameras with the same name. See belows example how to use the intent. The flag (-f 268468224) could be useful if you want to switch to an other camera while the app is running.

adb -s <YOUR_DEVICE> shell am start -a it.danieleverducci.ojo.OPEN_CAMERA -f 268468224 --es it.danieleverducci.ojo.CAMERA_NAME <YOUR_CAMERA_NAME>
adb -s <YOUR_DEVICE> shell am start -a it.danieleverducci.ojo.OPEN_CAMERA -f 268468224 --es it.danieleverducci.ojo.CAMERA_NUMBER <YOUR_CAMERA_NUMBER>

Screenshot 1 Screenshot 2 Screenshot 3

Contributors

  • Thanks to brenard for the new grid sizing method
  • Thanks to davquar for the fullscreen compatibility fix on Android 11
  • Thanks to jayfan0 for the first deep link implementation
  • Thanks to free-bots for the selection border on Android TV, intents for direct camera access and leanback support