# How to Create Video Streaming Deploy in Hostcarts VPS

https://www.hostcarts.qa/knowledgebase/article/how-to-create-video-streaming-deploy-in-hostcarts-vps

**What You Need**

- Hostcarts VPS (2 vCPU / 4GB RAM minimum for 50–100 viewers) [HostStage](https://www.host-stage.net/case-study/setup-streaming-server/)
- Ubuntu 22.04 / 24.04 recommended
- SSH access
- Streaming software (OBS Studio)
- NGINX‑RTMP **or** SRS (Simple Realtime Server)

**Step‑by‑Step Setup Guide**

**Deploy Hostcarts VPS**

Choose a VPS location closest to your audience (India, UAE, Qatar, EU, USA).
Hostcarts provides high‑performance, redundant infrastructure suitable for streaming workloads. [hostcarts.com](https://www.hostcarts.com/)

**Connect to VPS**

From Windows (PuTTY) or Mac/Linux Terminal:

ssh root@YOUR_SERVER_IP

**Update Server**

apt update -y && apt upgrade -y

**Install NGINX + RTMP Module (Live Streaming)**

RTMP is still widely used for ingesting live streams. [HostStage](https://www.host-stage.net/case-study/setup-streaming-server/)

**Install dependencies:**

apt install nginx libnginx-mod-rtmp -y

**Configure RTMP:**

nano /etc/nginx/nginx.conf

Add this block at the bottom:

rtmp {

server {

listen 1935;

chunk_size 4096;

application live {

live on;

record off;

}

}

}

Save → restart:

systemctl restart nginx

**Enable HLS Playback (for browsers)**

HLS is required for browser playback. [Hostinger](https://www.hostinger.com/tutorials/how-to-set-up-a-streaming-server)

Add inside the application live block:

hls on;

hls_path /mnt/hls/;

hls_fragment 3;

Create directory:

mkdir -p /mnt/hls

Restart NGINX again.

**Open Firewall Ports**

ufw allow 1935/tcp

ufw allow 80/tcp

ufw allow 443/tcp

**Push Stream From OBS**

In OBS → **Settings → Stream**:

- **Service:** Custom
- **Server:** rtmp://YOUR_SERVER_IP/live
- **Stream Key:** anything (example: mystream)

Start streaming.

**View the Stream**

**RTMP (for ingest/testing):**

rtmp://YOUR_SERVER_IP/live/mystream

**HLS (for browser playback):**

http://YOUR_SERVER_IP/hls/mystream.m3u8

Embed in HTML:

<video width="100%" controls autoplay>

<source src="http://YOUR_SERVER_IP/hls/mystream.m3u8" type="application/x-mpegURL">

</video>

**Alternative: Install SRS (Simple Realtime Server)**

SRS supports **RTMP + SRT + HLS** and is more modern.
SRT is excellent for unstable networks. [HostStage](https://www.host-stage.net/case-study/setup-streaming-server/)

Install:

git clone https://github.com/ossrs/srs.git

cd srs/trunk

./configure

make

./objs/srs -c conf/srs.conf

**Which Setup Should You Choose?**

| **Feature** | **NGINX‑RTMP** | **SRS** |
| --- | --- | --- |
| RTMP ingest | ✔️ | ✔️ |
| HLS output | ✔️ | ✔️ |
| SRT support | ❌ | ✔️ (better for unstable networks) |
| Transcoding | Limited | Advanced |
| Best for | Simple live streaming | Professional streaming, multi‑protocol |

**Security Recommendations**

- Enable HTTPS (Let’s Encrypt)
- Use stream keys
- Limit IP access if needed
- Enable fail2ban
- Use Hostcarts DDoS protection (built‑in) [hostcarts.com](https://www.hostcarts.com/)
