Video and cameras

Other RTMP cameras

Settings for any camera that can push RTMP, whatever the make

SportyPlus does not need a particular make of camera. Anything that can push an RTMP stream to an address you give it will work — most IP cameras, encoders and NVRs can, and so can software like OBS.

What differs by make is only where the settings live and what they are called. The values below are the same for all of them.

What you give up without DoLynk. A Dahua camera on DoLynk Cloud also keeps its own copy on an SD card, so a match interrupted by a connection drop can be completed afterwards from the camera. Any other camera has no second copy: if the club's internet drops mid-match, that part of the recording is gone for good.You also lose remote configuration. Everything on this page has to be set in the camera's own interface, on the venue network — SportyPlus cannot read or change any of it. See Dahua cameras for what the alternative looks like.

The settings

SettingValue
Video codecH.264 — never H.265/HEVC
Keyframe interval1 second
Resolution1920×1080
Frame rate30 (25 in PAL installs), fixed
Rate controlCBR
Bitrate4096 kbps (never above 6144)
Audio codecAAC, or no audio at all
ProfileHigh or Baseline

Everything below explains why, and what goes wrong when one is missed.

Video codec — H.264 only

H.265 (HEVC) produces no video at all, and says nothing about it. The camera connects, the stream is accepted, and no picture ever arrives — not in live view, and not in the recording. There is no error message anywhere to point at it.If a camera streams nothing at all and everything else looks right, this is the first thing to check.

Set the codec to H.264. If the camera offers a profile, High is right; Baseline is also fine and displays a fraction sooner.

Keyframe interval — one second

This is the setting that decides how far behind live view runs, and the one most likely to be wrong out of the box.

A viewer can only join the video at a keyframe, and live video is cut into chunks on keyframe boundaries. A camera sending a keyframe once every 25 seconds produces 25-second chunks, and live view ends up more than a minute behind the court. One keyframe per second brings that to about three seconds.

Cameras express this in one of two ways, and it is worth checking which:

  • In frames — called I Frame Interval, GOP, GOP length or keyframe interval. Set it to the same number as the frame rate: 30 at 30fps, 25 at 25fps.
  • In seconds — set it to 1.

Going shorter buys nothing: chunks cannot get smaller than a second no matter what the camera does, and the extra keyframes come out of picture quality. Going longer costs you directly — a 2-second interval means about six seconds behind, and it grows from there.

Some cameras have a "smart" or "adaptive" mode — Dahua calls it Smart Codec or H.264+, other makes call it Smart Encoding, H.265+ or similar — that holds back keyframes when the picture is not moving. On a court between points that is most of the time. Turn it off. It overrides the interval above, and an idle court is its worst case.

Resolution, frame rate and bitrate

1920×1080 at 30fps, 4096 kbps, CBR.

Nothing is re-encoded between the camera and a viewer, so every person watching pulls the full bitrate the camera sends. Doubling it doubles what the club's connection has to carry for each of them, and a stream the uplink cannot sustain drops out — which costs the match, not just the sharpness. Do not exceed 6144 kbps at this resolution without asking us first.

Use CBR rather than VBR. Nothing smooths a variable bitrate's spikes before they reach a viewer, and those spikes land exactly when the match is worth watching.

Use a fixed frame rate. Variable frame rate makes chunk lengths uneven, and uneven chunks slow live view for everyone watching that court.

Avoid 4K and 50 or 60fps. Neither breaks anything by itself, but both multiply what every viewer downloads, and the vendor presets that offer them often carry long keyframe intervals.

Audio

Only AAC works. Cameras frequently default to G.711, G.726 or similar, and those are accepted all the way along — the camera connects, the video plays, and the sound is simply never there. Nothing reports an error, so it reads as a broken microphone rather than a setting.

A camera with no microphone, or with audio switched off, is fine. It streams and records normally without an audio track.

Pointing the camera at SportyPlus

In Club Admin → Commercial → Cameras, create the camera:

  • Camera type — Pushes RTMP to us
  • Court — the court the camera actually points at
Double-check the court. A camera mapped to the wrong court records the wrong match, and nobody notices until someone watches one back — by which point the footage they wanted is gone.

Save, reopen it, and copy the stream address. It looks like:

rtmp://stream1.sporty.plus/stream/<playback-id>?key=<stream-key>

Put that in the camera's RTMP settings — usually under Network, Streaming or Publish — and enable it. Some cameras split the address into a server URL and a stream key; where they do:

  • Server / URL — rtmp://stream1.sporty.plus/stream
  • Stream key — <playback-id>?key=<stream-key>, exactly as given, including the ?key= part
The ?key= part is not optional. Without it, or with one character wrong, the stream is refused and most cameras retry silently forever with no useful error of their own — so a mistyped address looks like a network problem.Every camera has its own address and key. They cannot be shared or reused between cameras: two cameras on one key cannot both stream.

If the camera pushes more than one stream, point it at the one you configured above — usually called the main or primary stream. A camera publishing its secondary stream sends none of these settings, which looks exactly like the settings not having taken.

Checking it works

  1. Live view — open the camera in Club Admin. The picture should appear within a few seconds and stay about three seconds behind the court. A minute or more behind means the keyframe interval is too long, or smart encoding is on.
  2. A real recording — play back a reservation recorded on that court.

If something is wrong

What you seeUsually means
Live view is a minute or more behindKeyframe interval too long, or smart encoding on
Live view never appears, stream looks connectedThe codec is H.265, not H.264
Live view never appears at allStream address wrong, or the camera cannot reach the internet
Live view stutters or drops outBitrate too high for the club's upload
Video plays but there is no soundAudio codec is not AAC
Settings appear to do nothingThe camera is publishing its secondary stream
A match has a hole in itThe connection dropped — without an SD card there is nothing to recover
Why delay can drift upward on its own. Live view runs as far behind as the longest chunk in the last few seconds, not the average. A camera that mostly sends keyframes on time but occasionally misses one sits at the slower figure until it stops missing them.So live view that "randomly got worse" is usually the camera's keyframes rather than the club's internet — check the keyframe interval before anything else.