GitHub Release Date GitHub Release Hits GitHub Downloads (all assets, all releases)

OpenTAK ICU


OpenTAK ICU is a video streaming app based on RootEncoder that can stream audio and video to RTSP(S), RTMP(S), and SRT servers such as MediaMTX. Its primary focus is to work with the TAK ecosystem.

Why?


While ATAK already has the TAK ICU plugin, it doesn't seem to support a few features. Specifically it doesn't support streaming audio or using authentication and encryption (RTSPS) at the same time.

Download


Get the APK from this repo's latest release

Features


Planned features


Servers


This app has been developed using MediaMTX as the streaming server but any RTSP/RTMP server should work.

Viewing OpenTAK ICU streams from MediaMTX in ATAK


In the video tool, tap the + symbol to add a new stream and use the following settings: - Type: rtsp - Address: Your server's IP address or domain name - Port: The defaults are 8554 for RTSP and 8322 for RTSPS - Path: The stream's path that is set in OpenTAK ICU's settings - Username/Password: Required only if your server enforces authentication - Reliable P2P Connection: Enables a TCP connection and is required if there is a NAT/firewall between your EUD and the server.

Viewing the stream in a browser


When using MediaMTX and streaming with H264, you can watch the live stream in a browser by going to

http://your_server_ip:8888/stream_path

for an HLS stream or

http://your_server_ip:8889/stream_path

for a WebRTC stream. Note that most browsers don't yet support H265. See CanIUse for details. Also note that WebRTC does not support AAC audio so you will need to use OPUS or G711 if you're viewing the stream via WebRTC.

Viewing streams in VLC


  1. Click on Media -> Open Network Stream
  2. In the URL field enter rtsp://your_server_address:8554/your_path
  3. Click Play

Adaptive Bitrate


When adaptive bitrate is enabled, the video bitrate will change based on your network/internet connection. If the connection can't send packets fast enough, the bitrate will lower. If the connection is good the bitrate will max out at what the bitrate setting's value is.

Servers with self-signed certificates


If your server is using self signed certificates and you wish to stream encrypted audio and video, you'll need your server's trust store certificate in PKCS12 (.p12 file extension) format. If your RTSP server is using the same certificates as your TAK server, you can use the same trust store certificate and certificate password in OpenTAK ICU. After selecting the certificate and providing the certificate password, press the Test Certificate button. This simply validates that the certificate is the correct format and that the password is correct.

Feature Comparison


Streaming Protocols


TAK ICU OpenTAK ICU
RTSP Yes Yes
RTSPS No Yes
RTMP No Yes
RTMPS No Yes
SRT No Yes
Multicast UDP Yes Yes

Video Codecs


TAK ICU OpenTAK ICU
H264 Yes Yes
H265 No Yes
AV1 No Yes

Audio Codecs


TAK ICU OpenTAK ICU
AAC No Yes
G711 No Yes
OPUS No Yes

Other Features


TAK ICU OpenTAK ICU
Broadcast CoT on local network Yes Yes
Send CoT to TAK server No Yes
Show video on map (KLV) Yes No
View video in ATAK/WinTAK video tool Yes Yes
Stream to Wowza Yes No
Stream in background Yes Yes
Take a photo while streaming Yes Yes
Switch camera while streaming No Yes
Turn on flashlight while streaming No Yes
Record to device while streaming Yes Yes
Change Video/Audio bitrate No Yes
Adaptive Bitrate No Yes
1080p No Yes
4K Yes Yes
Change FPS No Yes
Compass Display Yes No
Server Authentication Yes (only when using RTSP) Yes (RTSP(S) and RTMP(S)