Cara Cepat Install RTMP server + HLS Ubuntu 18.04.1 LTS

Cara Cepat Install RTMP server + HLS

Dalam tutorial kali ini kita akan membahas cara install RTMP Server dengan cara yang sangat mudah. Sebelumnya saya sudah membahas installasi RTMP Server dengan menggunakan aplikasi RED5, namun kali ini saya akan menggunakan NginX dengan modul RTMP. Bagi rekan rekan yang sudah berpengalam installasi NginX, saya pastikan tidak akan kesulitan untuk menambahkan modul RTMP nya.

RTMP setbet ini di gunakan untuk keperluan Video Streaming, kalo rekan rekan mau mencari untuk keperluan audio streaming saja, rekan rekan bisa mengecek tulisan saya di https://arenastreaming.com/2019/03/21/membuat-radio-streaming-dengan-hosting-sendiri/

Untuk installasi kali ini akan di lakukan di Operating sistem linux Ubuntu 18.04.1 LTS.

Install NginX

root@video_streaming:~# apt-get install nginx

Install rtmp-module

root@video_streaming:~# sudo apt install libnginx-mod-rtmp

Konfigurasi NginX

vim /etc/nginx/nginx.conf

rtmp {
server {
listen 1935;
chunk_size 4000;
allow play all;
application live {
allow play all;
live on;
}
application hls {
live on;
# Turn on HLS
hls on;
hls_path /mnt/hls/;
hls_fragment 3;
hls_playlist_length 60;
# disable consuming the stream from nginx as rtmp
deny play all;
}
}
}

vim /etc/nginx/conf.d/hls.conf


server {
    listen 8080;

    location /hls {
        # Disable cache
        add_header Cache-Control no-cache;

        # CORS setup
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length';

        # allow CORS preflight requests
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Max-Age' 1728000;
            add_header 'Content-Type' 'text/plain charset=UTF-8';
            add_header 'Content-Length' 0;
            return 204;
        }

        types {
            application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
        }

        root /mnt;
        add_header Cache-Control no-cache;
    }
}

Setelah proses konfigurasi di atas selesai, restart NginX

root@video_streaming:~# service nginx restart

Cek Status NginX

root@video_streaming:~# systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-04-15 10:11:28 UTC; 2s ago
     Docs: man:nginx(8)
  Process: 2636 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 2650 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 2639 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 2654 (nginx)
    Tasks: 2 (limit: 1110)
   CGroup: /system.slice/nginx.service
           ├─2654 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           └─2656 nginx: worker process

Apr 15 10:11:28 video_streaming systemd[1]: Stopped A high performance web server and a reverse proxy server.
Apr 15 10:11:28 video_streaming systemd[1]: Starting A high performance web server and a reverse proxy server...
Apr 15 10:11:28 video_streaming systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Apr 15 10:11:28 video_streaming systemd[1]: Started A high performance web server and a reverse proxy server.
root@video_streaming:~# vi /etc/nginx/nginx.conf
root@video_streaming:~# vim /etc/nginx/nginx.conf
root@video_streaming:~# vim /etc/nginx/conf.d/hls.conf
root@video_streaming:~# /etc/init.d/nginx restart
[ ok ] Restarting nginx (via systemctl): nginx.service.

Konfigurasi OBS

Dalam tutorial kali ini, IP Address dari server ubuntu / server rtmp adalah 45.76.146.148 dan karena setingan di rtmp nya aplikasi kita menggunakan hls, maka di OBS untuk server di isi dengan rtmp://45.76.146.148/hls , sementara untuk Stream Key nya terserah mau di isi apa…, kalo dalam tutorial kali ini saya akan isi dengan stream

RTMP SERVER dengan Client OBS
RTMP SERVER dengan Client OBS

Setelah melakukan konfigurasi, sekarang tekan menu Start Streaming di aplikasi OBS

Apabila berhasil maka connect ke server rtmp, maka menu Start Streaming akan berubah menjadi Stop Streaming

Uji Coba akses RTMP Serve dengan VLC

Setelah OBS berhasil connect ke server RTMP, maka langkah selanjutnya adalah kita mencoba dengan VLC.

Buka VLC, kemudian Open Media, klik di menu Network dan isi dengan alamat RTMP / HLS server kita, dalam tutorial ini http://45.76.146.148:8080/hls/stream.m3u8

dan berikut hasilnya setelah di tekan menu play

Written by Mohammad Johan Rajabi
Saat ini bekerja di salah satu perusahaan Media Broadcasting nasional, di sela-sela kesibukan sebagai Chief Of IT, sering mengisi waktu dengan menulis seputar dunia IT dan Broadcast di beberapa website https://rajabi.me , https://alloperator.com dan https://www.arenastreaming.com

Leave a comment