Stream troubleshooting
Most stream problems fall into one of four buckets: nothing plays, wrong source plays, playback stutters or recording fails. Work through these in order; each step rules out the previous one.
No video at all
- Is the drone online? Check the assets panel. A grey peer dot means the drone is offline and nothing else below will matter.
- Is the tile bound to the right peer? Open the stream tile binding dropdown. The tile must show the peer you expect. An unbound tile shows “No source”.
- Is the publisher actually streaming? The tile footer shows the
transport chip (WebRTC / WHIP / RTMP / HLS). If the chip is “idle”,
the publisher hasn’t started. For DJI:
- Is auto-stream enabled for the dock?
- Are the three preconditions met (dock online, aircraft online, livestream permission granted)?
- Is TACLINK subscribed? Open the
TACLINK debug tile and find the
track.
packetsReceivedshould be rising. If it’s zero, the subscription failed; reload the tile.
Wrong tile binding
When multiple drones are in the op it’s easy to have two tiles bound to the same peer, or a tile bound to nobody. Fixes:
- Click the tile title bar to reopen the binding menu. Pick the correct peer and camera.
- The dashboard’s Layouts → Reset to default rebuilds the tile grid from the mission role so bindings match the op’s expected drone list.
- If a drone was swapped during the op, bindings are stale. Commanders can re-assign them from the dashboard’s Participants panel.
Freezing or stuttering
- Check the transport chip. If it shifted from WebRTC to RTMP or HLS mid-op, the publisher had trouble. RTMP / HLS adds 2-8 seconds of delay but is more robust.
- Check the NACK / PLI rate in the debug tile. A persistent stream of NACKs means uplink loss on the publisher side; TACLINK is asking for retransmits it doesn’t get.
- Drop a simulcast layer. For operators on thin connections, the tile’s “Quality” menu caps subscription to a lower simulcast layer. Lower layers use less bandwidth and decode cheaper.
- CPU check. If the app tab is pinned at 100% CPU — common on older laptops with 6 video tiles at HD — close tiles you don’t need. The HUD and map are cheaper than live video.
DJI WHIP NACK → RTMP fallback
DJI docks publish over WHIP when the path is clean; if NACKs cross the threshold the argus-android tablet flips the dock to RTMP as a fallback. The transport chip on the tile switches from WHIP to RTMP and you lose ~4 seconds of latency. Fallback is automatic and reversible.
Recording failures
Recording runs on the Egress agent, not in your browser. Symptoms on the ops side are a red “Recording failed” toast and the clip never showing up in the mission’s media.
Check, in order:
- S3 quota. Org admins see bucket usage on Admin → Organisation → Storage. If usage is at cap, nothing new will write. Expand the cap or purge old media.
- Egress agent health. The agent’s status is surfaced on the dashboard banner when it is unhealthy. An unhealthy agent means all recordings in the org are paused until it recovers.
- Publisher-side encoder drops. If the publisher briefly stopped and came back, the Egress agent segments around the gap but the resulting clip is shorter than expected. Not a failure — check the clip rather than the toast.
If recording works but the clip is corrupt, capture the clip ID (shown in the mission media panel) and open a ticket with the connectivity escalation bundle.