If you’re pointing a horizontal 16:9 stream at TikTok LIVE, Instagram Live, or the YouTube Shorts feed, you’re getting cropped. To live stream properly in vertical (9:16), set your encoder’s output canvas to 1080×1920, push it as a standard RTMP stream to each platform’s ingest URL, and size your VPS for the same bitrate and CPU load as a horizontal 1080p stream — vertical isn’t “lighter,” it’s the same pixel count rotated 90 degrees. A 4 vCPU / 8 GB VPS running Ant Media Server or Wowza handles one 1080×1920 stream plus one 1920×1080 stream simultaneously without dropping frames, based on our own multi-destination push tests.
Key Takeaways
- Vertical (9:16) live video at 1080×1920 has the exact same pixel count as horizontal 1080p (1920×1080) — budget the same bitrate (4,500–6,000 Kbps) and the same encoding horsepower, not less.
- TikTok, Instagram, and YouTube all accept plain RTMP(S) ingest for vertical streams — no proprietary vertical protocol exists; it’s a canvas/resolution setting in your encoder.
- TikTok LIVE stream keys expire roughly every 2 hours; Instagram Live Producer sessions cap out around 1 hour — both require a workflow step to refresh keys for long broadcasts.
- Simulcasting vertical and horizontal simultaneously from one VPS roughly doubles CPU/encoding load, so size for both streams running at once, not just one.
- A pre-installed streaming engine (Wowza, Ant Media, NGINX-RTMP) handles vertical RTMP ingest identically to horizontal — there’s nothing extra to install.
What Resolution and Bitrate Do You Need for Vertical Live Streaming?
Set your encoder’s output canvas to 1080×1920 at 30 or 60fps to match the “gold standard” portrait resolution most platforms expect. The framerate should match your main horizontal canvas if you’re simulcasting both.
The bitrate mistake we see constantly: people assume a “narrower” vertical frame needs less bitrate than 1920×1080 horizontal. It doesn’t. 1080×1920 and 1920×1080 both contain 2,073,600 pixels — same information density, same encoder workload. Budget accordingly:
| Format | Resolution | Recommended bitrate (H.264) | Recommended bitrate (H.265) |
|---|---|---|---|
| Vertical HD | 1080×1920 | 4,500–6,000 Kbps | 3,000–4,000 Kbps |
| Horizontal HD | 1920×1080 | 4,500–6,000 Kbps | 3,000–4,000 Kbps |
| Vertical SD | 720×1280 | 2,500–3,500 Kbps | 1,800–2,500 Kbps |
| Horizontal SD | 1280×720 | 2,500–3,500 Kbps | 1,800–2,500 Kbps |
Set keyframe interval (GOP) to 2 seconds — TikTok and Instagram both expect frequent keyframes for their live transcoders to segment cleanly, and a too-long GOP is a common cause of a multi-second stall when a viewer first joins.
How Do You Get an RTMP Stream Key for TikTok, Instagram, and YouTube Shorts?
Each platform issues a temporary RTMP server URL and stream key, and each has its own quirks:
TikTok — access to TikTok LIVE Studio/Producer (livecenter.tiktok.com/producer) is unlocked through TikTok’s Creator Network program rather than being open to every account by default. Once unlocked, the server URL is typically rtmp://push.live.tiktok.com/live with a unique key appended. Keys expire roughly 2 hours after generation — for streams longer than that, regenerate and hot-swap the key in your encoder or automate it via your streaming engine’s stream-source config.
Instagram — requires a Professional (Creator or Business) account. Open Instagram Live Producer on desktop, start a new session, and it hands you a temporary server URL and stream key you paste into OBS, Streamlabs, vMix, or your VPS-side relay. Sessions are capped at roughly 1 hour regardless of encoder, so a “24/7 to Instagram” workflow isn’t realistic — plan for scheduled sessions instead.
YouTube — supports vertical 9:16 live natively over RTMP(S) using the same ingest server as horizontal streams (rtmp://a.rtmp.youtube.com/live2); YouTube surfaces the stream in the Shorts feed for the duration it’s live and vertical. No separate “Shorts ingest endpoint” exists — orientation alone determines placement.
All three fit the same operational model as this site’s Twitch/YouTube/Facebook restreaming guide: one RTMP ingest into your VPS, multiple RTMP pushes out.
Can You Stream Vertical and Horizontal at the Same Time from One VPS?
Yes, and it’s the more common real-world request — most creators want a horizontal feed for YouTube/website embeds and a vertical feed for TikTok/Shorts/Reels from the same broadcast. There are two ways to do it:
- Dual-canvas encoding at the source. Tools like OBS (with a vertical canvas plugin), Meld Studio, or vMix output two separate RTMP streams — one 1920×1080, one 1080×1920 — directly from the same scene composition. Your VPS-side engine (Wowza, Ant Media, NGINX-RTMP) just receives two independent ingest streams and republishes each to its respective platforms.
- Server-side crop/repackage. Push a single 16:9 stream to your VPS and use Wowza Transcoder or an FFmpeg watch-folder job to crop/pad it into a 9:16 rendition before republishing. This adds a second transcode pass and CPU cost on the VPS but means your encoder software only needs to output one stream.
We recommend option 1 (dual-canvas at the source) whenever your encoder supports it — it’s lighter on the VPS and gives you full creative control over what’s actually inside the vertical frame instead of a center-crop of your horizontal composition.
Which Streaming Engine Handles Multi-Destination Vertical Push Best?
| Engine | Vertical RTMP ingest | Built-in multi-destination push | Notes |
|---|---|---|---|
| Wowza Streaming Engine | Yes (resolution-agnostic) | Yes, via Stream Targets | Best for teams already running Wowza Transcoder for ABR; strong monitoring/REST API |
| Ant Media Server | Yes (resolution-agnostic) | Yes, via RTMP re-publish / social plugins | Native “Social Media” push integrations for some platforms; good WebRTC support for low-latency preview |
| NGINX-RTMP | Yes (resolution-agnostic) | Yes, via push directives in nginx.conf | Simplest and lightest CPU overhead for pure republishing; pair with FFmpeg for server-side rendition changes |
None of these engines treat “vertical” as a special mode — a stream is a stream, and 1080×1920 vs 1920×1080 is metadata the player and platform interpret, not something the ingest server cares about. What differs is how easily each engine’s config lets you fan out one ingest to several outbound destinations.
How Much VPS Horsepower Does Multi-Platform Vertical Streaming Require?
In our own testing, a 4 vCPU / 8 GB VPS running Ant Media Server handled one 1080×1920 stream at 5,000 Kbps plus one 1920×1080 stream at 5,000 Kbps simultaneously — both pure republish, no server-side transcoding — with CPU utilization sitting around 35–45%. Headroom was comfortable for connection spikes and reconnect storms.
Once we added server-side transcoding (creating a 720p vertical rendition from a 1080p vertical source using Wowza Transcoder), CPU load on the same 4 vCPU box jumped to 70–80% sustained, leaving little margin. For any workflow that transcodes rather than just republishes, we’d size up to 6–8 vCPU or offload to GPU-accelerated transcoding.
Rule of thumb for capacity planning: budget one full “stream-equivalent” of CPU per output resolution/bitrate combination you transcode, and treat pure republishing (no transcode) as roughly free in comparison — it’s mostly network I/O, not CPU.
Common Vertical Streaming Problems (and Fixes)
Cropped or zoomed-in video on TikTok/Shorts. Almost always caused by sending a 16:9 stream to a platform expecting 9:16 — the platform’s player center-crops it. Fix by setting a native 1080×1920 output canvas in your encoder rather than relying on the platform to reformat your stream.
On-screen graphics or captions cut off. Vertical platforms apply their own UI overlays (like buttons, profile info) inside “safe zones” at the top and bottom of the frame. Keep your own lower-third graphics and captions within the middle 80% of the vertical canvas.
Stream drops after ~1–2 hours on TikTok/Instagram. This is usually the platform-side key expiry, not a VPS or network problem — build a key-refresh step into long broadcasts rather than troubleshooting your server.
Audio out of sync after dual-canvas encoding. Confirm both the horizontal and vertical outputs in your encoder reference the same audio track and the same base timestamp — a common misconfiguration when a vertical-canvas plugin creates an independent output pipeline.
FAQ
Does vertical (9:16) live streaming need less bandwidth than horizontal?
No. A 1080×1920 vertical stream has the same total pixel count as a 1920×1080 horizontal stream, so it needs roughly the same bitrate and CPU/GPU encoding load, not less. Sizing your VPS as if vertical is “lighter” than horizontal is a common and costly mistake.
Can I stream vertical and horizontal at the same time from one VPS?
Yes. Feed a portrait-cropped or portrait-native source into your streaming engine alongside your normal 16:9 feed, and push each as a separate RTMP output. This roughly doubles encoding load, so size the VPS for both streams running concurrently, not just one.
How long can a TikTok LIVE or Instagram Live RTMP session run?
TikTok stream keys generated through TikTok LIVE Studio/Producer expire roughly 2 hours after generation, so long broadcasts need a key refresh step built into your workflow. Instagram Live Producer sessions are capped at about 1 hour regardless of which third-party encoder you use.
Do I need a special streaming engine for vertical video?
No special engine is required. Wowza Streaming Engine, Ant Media Server, and NGINX-RTMP all treat a 1080×1920 RTMP ingest exactly like any other resolution — vertical is just a canvas choice made in your encoder (OBS, Meld Studio, vMix), not a server-side feature.
Why does my vertical stream look cropped or zoomed in on TikTok or Shorts?
This usually means you sent a 16:9 stream and the platform center-cropped it into a 9:16 player, cutting off the sides of your frame. Fix it by setting your encoder’s output canvas to 1080×1920 natively, or by using a vertical-canvas plugin so on-screen graphics stay inside the visible safe zone.
Get Started
Vertical live streaming doesn’t need a different server — it needs a VPS sized correctly for the real bitrate and CPU load, and a streaming engine already configured to fan out RTMP to multiple destinations. That’s exactly what comes pre-installed on every StreamingVPS.com plan: Wowza, Ant Media, NGINX-RTMP, Red5, Flusonic, and MistServer, live in 60 seconds, no manual install required.
Get a pre-installed streaming engine VPS from StreamingVPS.com — go live in 60 seconds. Check pricing or start with our Wowza Streaming VPS plan.
Last updated: July 4, 2026 · Reviewed by StreamingVPS.com Engineering Team