Publishing Guide

Recommended encoder settings for streaming to Meshcast

Free access

Start streaming without an account. Create a free account for RTMP/SRT/HLS. HLS embeds for free tiers are limited to meshcast.io / vdo.ninja.

Quick Navigation

These settings work well for most streaming scenarios. Adjust based on your upload speed and content type.

Video Bitrate

2,500 - 6,000 kbps
Higher for fast motion content

Audio Bitrate

128 - 320 kbps
AAC codec recommended

Keyframe Interval

2 seconds
Required for smooth playback

Resolution

1920x1080 max
720p works great for most uses

Bitrate by Resolution

Resolution Frame Rate Video Bitrate Total Bitrate
1920x1080 (1080p) 30 fps 4,500 - 6,000 kbps ~6.5 Mbps
1920x1080 (1080p) 60 fps 6,000 - 9,000 kbps ~9.5 Mbps
1280x720 (720p) 30 fps 2,500 - 4,000 kbps ~4.5 Mbps
1280x720 (720p) 60 fps 3,500 - 5,000 kbps ~5.5 Mbps
854x480 (480p) 30 fps 1,000 - 2,000 kbps ~2.5 Mbps
Upload Speed Requirement

Your upload speed should be at least 1.5x your total bitrate. For a 6 Mbps stream, you need at least 9 Mbps upload.

OBS Studio Setup

Stream Settings

  1. Go to Settings > Stream
  2. Set Service to Custom
  3. Enter your Meshcast RTMP URL as the Server
  4. Enter your Stream Key
Server URL rtmp://[server-ip]:1935

Output Settings

  1. Go to Settings > Output
  2. Set Output Mode to Advanced
  3. Configure as shown below:
Setting Recommended Value
Encoderx264 or NVENC H.264 (see note below)
Rate ControlCBR
Bitrate4500 kbps (for 1080p30)
Keyframe Interval2 seconds
CPU Usage Presetveryfast (or faster if CPU allows)
Profilehigh
Tunezerolatency (for low latency)
Avoid HEVC/H.265 for Compatibility

If you need viewers to watch in OBS Browser Source or older browsers, use H.264 encoding (x264, NVENC H.264, AMF H.264).

HEVC/H.265 requires Chromium 137+ for WebRTC playback. OBS Browser Source currently uses Chromium ~127, which cannot decode HEVC streams.

See our HEVC compatibility guide for more details.

Audio Settings

Setting Recommended Value
Audio Bitrate160 kbps
Audio EncoderAAC
Sample Rate48 kHz
ChannelsStereo

RTMP Publishing

RTMP is the most common streaming protocol, supported by OBS, Streamlabs, and most broadcast software.

URL Format

rtmp://[server-ip]:1935/[stream-key]

FFmpeg Example

ffmpeg -i input.mp4 \ -c:v libx264 -preset veryfast -b:v 4500k \ -maxrate 4500k -bufsize 9000k \ -g 60 -keyint_min 60 \ -c:a aac -b:a 160k \ -f flv rtmp://[server-ip]:1935/[stream-key]
Important: Keyframe Interval

Always set keyframe interval to 2 seconds (60 frames at 30fps, 120 frames at 60fps). This ensures smooth playback and segment creation for HLS.

SRT Publishing

SRT (Secure Reliable Transport) offers better reliability over unstable networks with built-in encryption and error correction.

URL Format

srt://[server-ip]:8890?streamid=publish:[stream-key]
Important: Stream ID Format

SRT requires the publish: prefix before your stream key. Without it, the connection will be rejected.

OBS SRT Setup

  1. Go to Settings > Stream
  2. Set Service to Custom
  3. For Server, enter the full SRT URL including streamid
  4. Leave Stream Key empty (it's in the URL)

FFmpeg SRT Example

ffmpeg -i input.mp4 \ -c:v libx264 -preset veryfast -b:v 4500k \ -g 60 -keyint_min 60 \ -c:a aac -b:a 160k \ -f mpegts "srt://[server-ip]:8890?streamid=publish:[stream-key]&pkt_size=1316"

SRT vs RTMP

Feature RTMP SRT
Error CorrectionNoneBuilt-in ARQ
EncryptionNone (use RTMPS)AES-128/256
Latency2-5 seconds0.5-2 seconds
Firewall FriendlyTCP 1935UDP 8890
Best ForStandard streamingUnreliable networks

WebRTC/WHIP Publishing

WebRTC offers the lowest latency (~500ms) and works directly from web browsers.

Browser Publishing

Use our built-in publisher at:

https://app.meshcast.io/studio

WHIP Endpoint

https://app.meshcast.io/api/gateway/[stream-key]/whip
Lowest Latency Option

WebRTC provides sub-second latency. Use it for interactive streams, interviews, or real-time applications.

Troubleshooting

Common Issues

Problem Cause Solution
"Invalid stream key" Wrong or expired key Check key in dashboard, regenerate if needed
Connection drops Bitrate too high for upload Lower bitrate to 80% of upload speed
Choppy playback Wrong keyframe interval Set keyframe interval to exactly 2 seconds
SRT rejected Missing publish: prefix Use streamid=publish:KEY
No audio Wrong audio codec Use AAC codec (not MP3 or Opus for RTMP)
High latency VBR or large buffer Use CBR, reduce buffer size
Video not showing in OBS Browser Source HEVC/H.265 codec not supported Use H.264 encoder instead of HEVC (see warning)

Testing Your Stream

  1. Start your stream with OBS or FFmpeg
  2. Check the Dashboard - your stream should appear as "Live"
  3. Open the viewer link in another browser/device
  4. Check telemetry for bitrate, packet loss, and latency
Need Help?

Contact support at steve@seguin.email with your stream key and a description of the issue.