Skip to content

RTSP over TCP only: no UDP or multicast transport #7

Closed as not planned

Description

@compot-dev

Both the single-camera client (RtspClient) and quad cells (QuadCell) always request RTP/AVP/TCP;unicast;interleaved=0-1. UDP unicast and multicast are not supported.

Why it matters: UDP gives lower latency on clean LANs, and some servers or NVRs only offer UDP or multicast.

Proposal: add a per-camera transport option (TCP / UDP), with automatic fallback to TCP when UDP packets do not arrive.

Activity

  1. compot-dev commented on Oct 12, 2026

    @compot-dev
    CollaboratorAuthor

    Deferred: not being worked on for now.

  2. compot-dev commented on Oct 12, 2026

    @compot-dev
    CollaboratorAuthor

    Split into three issues:

    Closing this one in favour of them.

  3. compot-dev commented on Oct 12, 2026

    @compot-dev
    CollaboratorAuthor

    Agreed design: UDP RTP cell (pushed stream, no RTSP)

    Besides RTSP over UDP and multicast (the original scope of this issue), the app will receive a stream that the camera pushes as RTP over UDP:

    • Where: the ninth cell of the 3×3 multi-view grid (8 RTSP slots + 1 UDP cell). Since feat: reserved UDP RTP cell: hint in the 9th cell and U in the menu #71 the cell shows the port and this device's address to send to.
    • Receiver: listen on UDP port 5600, depacketize with the existing NalAssembler, and detect H.264/H.265 from the NAL headers, because there is no SDP. Video only at first.
    • Full screen: a U button in the menu row after 8 opens the UDP cell full-screen, the same way the numbers open slots.
    • Camera side: the setting name for the UDP output in Majestic still has to be confirmed on a build that has it; the hint then names it exactly.
  4. compot-dev commented on Oct 12, 2026

    @compot-dev
    CollaboratorAuthor

    Update: the pushed RTP over UDP part of the design above is tracked in #68 (UI prepared in #71); RTSP over UDP in #67 and multicast in #69.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    deferredPostponed, not planned for nowenhancementNew feature or requestlimitationKnown limitation, listed in README

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions