Skip to content

Announcements

Flex Video can automatically announce video streams to tactical systems, enabling seamless integration with ATAK, TAK Server, Lattice, and local network discovery.

Overview

When a pipeline starts playing, Flex Video can announce it to:

System Protocol Discovery
CoT/ATAK Multicast UDP Local network
TAK Server HTTPS REST API Enterprise
Lattice HTTPS REST API Cloud/Enterprise
mDNS Bonjour/Avahi Local network

CoT/ATAK Announcements

Cursor on Target (CoT) announcements allow ATAK, WinTAK, and iTAK clients to discover video streams on the local network.

How It Works

  1. Pipeline reaches PLAYING state
  2. CoT XML message is multicast to 239.2.3.1:6969
  3. TAK clients receive the message and display a video marker
  4. Periodic updates (every 5 seconds) keep the marker fresh

Enabling CoT

CoT announcements are enabled by default. To disable:

  1. Go to Settings in the web interface
  2. Toggle CoT Announcements off

Or via API:

curl -X PUT http://localhost:3539/flex/settings \
  -H "Content-Type: application/json" \
  -d '{"cot_enabled": false}'

CoT Metadata

Customize CoT announcements using pipeline metadata:

"metadata": {
  "cot_type": "b-m-p-s-p-loc"
}
Key Description Default
cot_type CoT event type code b-m-p-s-p-loc (sensor point)

Viewing in ATAK

  1. Ensure ATAK is on the same network
  2. Start a pipeline with geolocation configured
  3. The video marker appears on the ATAK map
  4. Tap the marker to view stream details
  5. Tap "Play" to open the video feed

TAK Server Integration

TAK Server integration provides enterprise-grade video distribution through a central server.

Configuration

  1. Go to Settings > TAK Server
  2. Enter the TAK Server URL (e.g., https://takserver.example.com:8443)
  3. Upload your client certificate (.p12 file)
  4. Enter the certificate password
  5. Optionally upload a CA truststore
  6. Click Save

Or via API:

curl -X PUT http://localhost:3539/flex/settings \
  -H "Content-Type: application/json" \
  -d '{
    "tak_server_url": "https://takserver.example.com:8443",
    "tak_server_cert_base64": "<base64-encoded-.p12>",
    "tak_server_cert_password": "your-password"
  }'

TAK Server Metadata

"metadata": {
  "tak_alias": "Main Entrance Camera"
}
Key Description Default
tak_alias Video feed name in TAK Server Pipeline ID

Public IP Override

If your server is behind NAT, set the public IP for RTSP URLs:

curl -X PUT http://localhost:3539/flex/settings \
  -H "Content-Type: application/json" \
  -d '{"tak_server_public_ip": "203.0.113.42"}'

Lattice Integration

Lattice provides cloud-based situational awareness with video streaming support.

Configuration

  1. Go to Settings > Lattice
  2. Enter the Lattice host (without https://)
  3. Enter your environment API token
  4. Optionally enter a sandbox token for development
  5. Click Save

Or via API:

curl -X PUT http://localhost:3539/flex/settings \
  -H "Content-Type: application/json" \
  -d '{
    "lattice_host": "lattice.example.com",
    "lattice_token": "your-api-token"
  }'

Lattice Metadata

Customize Lattice entity properties:

"metadata": {
  "lattice_title": "Entrance Camera",
  "lattice_camera_name": "CAM-001",
  "lattice_modality": "EO",
  "lattice_disposition": "FRIENDLY",
  "lattice_platform_type": "Video Sensor"
}
Key Description Default
lattice_title Video stream title Flex Video - {id}
lattice_camera_name Camera name Pipeline ID
lattice_entity_id Use existing entity Auto-generated
lattice_platform_type Ontology type Video Sensor
lattice_disposition Friend/foe PENDING
lattice_environment Operating domain (none)
lattice_nationality Country/alliance (none)
lattice_modality Sensor type EO
lattice_mil_std_2525_symbol Military symbol (none)

Disposition Values

  • FRIENDLY - Allied/own forces
  • HOSTILE - Enemy forces
  • NEUTRAL - Non-aligned
  • SUSPECT - Potentially hostile
  • ASSUMED_FRIENDLY - Likely friendly
  • PENDING - Unknown (default)

Modality Values

  • EO - Electro-optical (visible light)
  • LWIR - Long-wave infrared
  • MWIR - Mid-wave infrared
  • SWIR - Short-wave infrared
  • SAR - Synthetic aperture radar
  • RV_MAP - Rendered map view

mDNS Announcements

mDNS (Bonjour/Avahi) enables local network discovery without multicast CoT.

mDNS Metadata

"metadata": {
  "mdns_name": "Lobby Camera"
}
Key Description Default
mdns_name Service display name Pipeline ID

Geolocation Requirements

Most announcement systems require geolocation to display the video source on a map:

"geolocation": {
  "latitude": 38.8977,
  "longitude": -77.0365,
  "altitude": 100.0,
  "heading": 45.0,
  "is_dynamic": false
}

Static vs. Dynamic

Setting Behavior
is_dynamic: false Position is fixed
is_dynamic: true Position updates from KLV metadata

KLV Metadata Extraction

For streams with embedded MISB ST 0601 metadata, Flex Video can automatically extract and update geolocation:

"klv_config": {
  "auto_extract_geolocation": true,
  "update_interval_ns": 2000000000
}

This updates the pipeline's geolocation every 2 seconds, which in turn updates all announcement systems.

Troubleshooting

CoT Not Appearing in ATAK

  1. Verify ATAK is on the same network
  2. Check multicast is not blocked by firewall
  3. Ensure geolocation is configured
  4. Verify CoT is enabled in settings

TAK Server Connection Failed

  1. Check server URL is correct (include port)
  2. Verify certificate is valid and not expired
  3. Check certificate password
  4. Verify network connectivity to TAK Server

Lattice Entity Not Created

  1. Verify API token has write permissions
  2. Check Lattice host is accessible
  3. Ensure geolocation is provided
  4. Check API response for error details

Announcements Stop Working

  1. Check pipeline is still in PLAYING state
  2. Verify network connectivity
  3. Check system logs for errors
  4. Restart the pipeline