What a video streaming server does
A video streaming server holds the video and hands it to viewers in short segments over HTTP, or relays a live feed as it arrives. HLS does the delivery half, RTMP does the ingest half, and one machine can do both. A web server that sends one whole MP4 per request is not a streaming server.
- HLS sends a small .m3u8 playlist plus 2 to 6 second segments, so playback starts after one segment and drops quality when the network sags.
- RTMP keeps one connection open from the encoder to the server, which is why OBS, vMix and hardware encoders all speak it.
- A cloud VPS runs both roles once the RTMP module is installed and the ports are open.
Shared hosting fails here for three reasons: port 1935 is closed, modules cannot be installed, and the per-account CPU cap kills an encode mid-stream. The rest of this page assumes a machine where you have root.
Live ingest with RTMP, playback with HLS
Live streaming uses both protocols in series, not one instead of the other. The encoder pushes RTMP into the server, the server repackages that feed as HLS segments, and viewers fetch the segments over HTTPS.
| Protocol | What it carries | Typical latency | Port |
|---|---|---|---|
| RTMP | Encoder feed into the server | 2 to 5 seconds | 1935 |
| HLS | Playback out to browsers and phones | 6 to 30 seconds | 443 |
| LL-HLS | Playback with shorter segments | about 2 seconds | 443 |
| WebRTC | Two-way or small-room playback | under 1 second | 443 and UDP |
Plain HLS at six to thirty seconds suits a webinar with a chat box. It is wrong for an auction or a live class where people talk back, because the presenter hears the question long after it was asked. Decide the latency first: low-latency HLS needs a newer packager and more CPU than plain HLS.
RTMP is an ingest format, not a viewing format. Flash is gone, so no modern browser plays RTMP directly, which is why the server must repackage to HLS for the audience.
The bandwidth maths before you rent
Multiply bitrate by viewers by hours. One Mbps held for an hour moves 0.45 GB, so 4.5 Mbps of 1080p is about 2 GB per viewer per hour, not the 5 GB that hosting copy often repeats.
| Rendition | Bitrate | Per viewer, per hour | 200 viewers, 3 hours |
|---|---|---|---|
| 720p | 2.5 Mbps | 1.1 GB | 675 GB |
| 1080p | 4.5 Mbps | 2.0 GB | 1,215 GB |
| 1080p high | 8 Mbps | 3.6 GB | 2,160 GB |
| 4K | 20 Mbps | 9.0 GB | 5,400 GB |
The 1080p row is the one to keep: a three-hour match for 200 people is about 1.2 TB of egress. If the plan meters transfer, compare that number with the allowance before the event, not after. What bandwidth means covers the GB versus Mbps confusion in more detail.
Then do the port sum, which most buyers skip. Two hundred viewers at 4.5 Mbps is 900 Mbps arriving in the same second, close to a full gigabit uplink. A CDN in front cuts that, because the origin feeds caches instead of every viewer.
RAM, CPU and storage for transcoding
Transcoding is the only part that needs real CPU. When every viewer gets a file you encoded earlier, the server mostly moves bytes and 8 GB of RAM is plenty.
- One live 1080p H.264 encode with FFmpeg at veryfast takes about one vCPU core and 1.5 to 2 GB of RAM.
- A three-rung ladder (1080p, 720p, 480p) is three encodes, so plan three cores before anything else runs.
- Disk is cheaper than CPU: one hour of 1080p HLS at 4.5 Mbps is about 2 GB before the ladder multiplies it.
| Tier | Specs | What it carries |
|---|---|---|
| Cloud Entry | 2 vCPU, 8 GB RAM, 100 GB | about 2 simultaneous 1080p encodes, or 200 direct-play viewers |
| Cloud Business | 4 vCPU, 16 GB RAM, 250 GB | about 3 to 4 simultaneous encodes |
| Cloud Pro | 8 vCPU, 32 GB RAM, 500 GB | about 7 to 8 simultaneous encodes |
Those rows are planning estimates, not benchmarks; a GPU machine encodes far faster per rupee at scale. No WebJi cloud tier ships a GPU, so pre-encode the library to H.264 and AAC and let viewers direct-play instead of transcoding on the fly.
Embed, rent a server, or pay per minute
Three routes with three different bills. Pick by who owns the audience and who owns the bill.
| Route | Cost shape | Choose when |
|---|---|---|
| YouTube or Vimeo embed | free, with platform branding and ads | public marketing video, no login |
| Cloud server | from ₹5,900 a month before GST | you need control of access and player |
| Dedicated server | from ₹4,999 a month before GST | hundreds of concurrent viewers, gigabit uplink |
| Managed video platform | per minute stored and delivered | small library, global audience, no ops team |
Cloudflare Stream, read on 30 October 2026, lists $5.00 per thousand minutes stored and $1.00 per thousand minutes delivered. A 60-hour library is 3,600 minutes, so storage lands near $18 a month before anyone presses play.
For most small Indian businesses the embed wins. Self-hosting pays when you sell the video, when the player has to carry your brand, or when platform ads sit badly beside paid content.
Set up RTMP ingest and check HLS playback
This is the shortest working path on Ubuntu 24.04 with root. It gives you one stream key, HLS output, and a check that proves playback before you share the link.
- Install the pieces:
apt install nginx libnginx-mod-rtmp ffmpeg. - Add an rtmp block to /etc/nginx/nginx.conf:
application live { live on; hls on; hls_path /var/www/hls; hls_fragment 4; }. - Create the folder:
mkdir -p /var/www/hls && chown www-data:www-data /var/www/hls. - Open the ports:
ufw allow 1935/tcp, then 80 and 443. If the provider runs its own firewall, open 1935 there too. - Test and reload:
nginx -t && systemctl reload nginx. - In OBS set Server to
rtmp://your-server-ip/liveand Stream Key totest, then press Start Streaming. - Check the playlist:
curl -I https://your-domain/hls/test.m3u8should return 200 and the file should list .ts segments.
You know it worked when the playlist returns 200, the segment count grows every few seconds, and VLC opens the .m3u8 URL. If the playlist 404s, the usual cause is that hls_path is not writable by www-data, or port 1935 never reached nginx.
Port speed and location for viewers in India
Port speed sets the ceiling. A 1 Gbps uplink carries about 220 concurrent 1080p viewers at 4.5 Mbps before it is full, and a 100 Mbps port carries about 22.
So the "best high bandwidth streaming server" question is really about the uplink and the transfer allowance, not the CPU badge. Ask for three numbers in writing: port speed in Mbps, egress included per month, and whether inbound 1935 is open.
A dedicated server starts at ₹4,999 a month before 18% GST for a Xeon E3/E5 machine with 32 GB RAM, NVMe or SATA in RAID, a gigabit uplink and IPMI. That is a sensible floor for a paid live event; a cloud tier is enough below roughly 200 concurrent viewers. Keep the origin in an India location so domestic round trips stay under 80 ms, and let a CDN pull segments for overseas viewers.
What WebJi® rents for streaming video
WebJi® rents the machine, not an OTT platform. You get root, the port and the transfer; the encoder, the player and any DRM layer stay yours.
| Configuration | Specs | Price (₹/mo) |
|---|---|---|
| Cloud Entry | 2 vCPU, 8 GB RAM, 100 GB storage | 5,900 |
| Cloud Business | 4 vCPU, 16 GB RAM, 250 GB storage | 7,900 |
| Cloud Pro | 8 vCPU, 32 GB RAM, 500 GB storage | 11,900 |
Prices are before 18% GST. Anything above those tiers is quoted by email before payment: send the bitrate, peak concurrent viewers, hours per month and where the audience sits. For a live event, send the date as well.
Email support@webji.services in Hindi or English; the desk answers 24/7 and the average first reply is under 60 minutes. Start at contact if you want the sizing done with you.
Frequently Asked Questions
What is a video streaming server?
A video streaming server stores video and sends it to viewers in short segments over HTTP, or relays a live encoder feed as it arrives. HLS is the delivery half, RTMP is the ingest half. A normal web server that sends one whole MP4 per request is not a streaming server.
Do I need RTMP or HLS for live streaming?
You need both. OBS or a hardware encoder pushes to the server over RTMP on port 1935, and the server repackages that feed as HLS on port 443 so browsers and phones can play it. RTMP adds 2 to 5 seconds of latency, plain HLS 6 to 30 seconds, and low-latency HLS about 2 seconds.
How much bandwidth do 100 viewers need?
At 4.5 Mbps per 1080p viewer, 100 viewers pull 450 Mbps at once and about 200 GB per hour in total. Over a 3-hour event that is roughly 600 GB of egress. A 1 Gbps uplink covers about 220 viewers at that bitrate before it saturates, so plan the port and the monthly transfer separately.
How much RAM does a streaming server need?
If viewers get pre-encoded files, RAM barely matters and an 8 GB machine is enough. Each live 1080p encode with FFmpeg at veryfast uses roughly one vCPU core and 1.5 to 2 GB of RAM, so three simultaneous encodes need about 4 vCPU and 6 GB free before the operating system and web server.
Can I run a streaming server on shared hosting?
No. Shared plans do not open port 1935, do not let you install the nginx RTMP module, and cap CPU per account, so a live encode gets killed. Use a VPS or dedicated machine where you have root, or upload finished files to a managed video platform instead.
Does WebJi® sell a streaming plan?
WebJi® rents the server, not an OTT platform: cloud servers from Rs 5,900 a month and dedicated machines from Rs 4,999 a month, both before 18% GST. Tell support@webji.services your bitrate, peak viewer count and hours per month and the desk sizes the machine and quotes by email before payment.

