Membuat atau Mengaktifkan Server Streaming Video dengan NGINX
Di zaman yang sudah maju ini, kita sering kali mendengarkan kata streaming. Pasti di pikiran kita tertuju pada sebuah website yang sangat popular , yaitu youtube. Biasanya ketika sebuah internet service provider menawarkan produk paket internetnya terdapat “streaming no buffering”. Ketika kita membuka sebuah video melalui internet tanpa kita harus mendownloadnya, langsung diputar pada web yang menyediakan video tersebut, itulah yang dinamakan Streaming. Kita melalukan request terhadap web penyedia video dan kemudian web penyedia video tersebut melalukan request dengan server, dimana tempat video tersebut berada
Catatan Penting: Jangan Lupakan Keamanan! Konfigurasi NGINX yang disajikan di blog ini tidak mencakup langkah-langkah keamanan untuk membatasi siapa yang dapat menonton streaming video Anda. Ada berbagai cara untuk mengamankan streaming Anda dengan aplikasi front-end yang digunakan penonton Anda untuk menonton video, seperti mengizinkan akses hanya dari alamat IP tertentu atau meminta penonton untuk mengautentikasi.
Installing the Build Tools
Sebelum mengompilasi NGINX, Anda perlu menginstal beberapa alat build dasar: autoconf, gcc, git, dan make. Untuk mengunduh dan menginstalnya, jalankan perintah untuk sistem operasi Anda (jika tidak disertakan di sini, lihat dokumentasi vendor OS). Untuk Debian dan Ubuntu:
$ sudo apt update $ sudo apt install build-essential git
Untuk CentOS, Oracle Linux, dan RHEL:
$ sudo yum update $ sudo yum groupinstall "Development Tools" $ sudo yum install git
Installing Dependencies
Build NGINX juga memerlukan beberapa dependensi: Perl Compatible Regular Expressions (PCRE), OpenSSL, dan zlib untuk kompresi.
Menginstal Dependensi dengan Package Manager
Cara yang lebih mudah untuk mengunduh dan menginstal dependensi adalah dengan manajer paket. Jalankan perintah untuk sistem operasi Anda (jika tidak disertakan di sini, lihat dokumentasi vendor OS). Untuk Debian dan Ubuntu:
$ sudo apt install libpcre3-dev libssl-dev zlib1g-dev
For CentOS, Oracle Linux, and RHEL:
$ sudo yum groupinstall pcre-devel zlib-devel openssl-devel
Installing Dependencies from Source
Jika Anda justru ingin membangun dan menginstal dependensi dari sumber, lihat instruksi kami.
Mengompilasi NGINX dengan Modul RTMP
Untuk menyelesaikan build, Anda mengkloning repositori GitHub untuk RTMP dan NGINX, menjalankan perintah konfigurasi NGINX, lalu mengompilasi NGINX.
$ cd /path/to/build/dir $ git clone https://github.com/arut/nginx-rtmp-module.git $ git clone https://github.com/nginx/nginx.git $ cd nginx $ ./auto/configure --add-module=../nginx-rtmp-module $ make $ sudo make install
Mengonfigurasi NGINX
Anda dapat mengkonfigurasi NGINX untuk melakukan streaming video menggunakan salah satu atau kedua protokol HTTP Live Streaming (HLS) dan Dynamic Adaptive Streaming over HTTP (DASH). Protokol menyediakan fungsionalitas yang sama, jadi memilih di antara mereka adalah masalah preferensi.
Konfigurasi HLS
Untuk HLS, konfigurasinya adalah sebagai berikut. Dalam demo (pada poin waktu 5:10), James menjelaskan tujuan dari arahan ini.
rtmp { server { listen 1935; application live { live on; interleave on; hls on; hls_path /tmp/hls; hls_fragment 15s; } } } http { default_type application/octet-stream; server { listen 80; location /tv { root /tmp/hls; } } types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; text/html html; } }
Konfigurasi DASH
Untuk DASH, konfigurasinya adalah sebagai berikut. Dalam demo, James menggabungkan HLS dan DASH dalam satu konfigurasi, karena banyak arahan yang sama untuk kedua protokol.
rtmp {
server {
listen 1935;
application live {
live on;
dash on;
dash_path /tmp/dash;
dash_fragment 15s;
}
}
}
http {
server {
listen 80;
location /tv {
root /tmp/dash;
}
}
types {
text/html html;
application/dash+xml mpd;
}
}
Memvalidasi Konfigurasi dan Memulai NGINX
Memvalidasi konfigurasi NGINX Anda selalu merupakan ide yang baik untuk memastikan tidak ada kesalahan sintaksis. Jalankan perintah ini:
$ sudo nginx -t nginx: the configuration file filename syntax is ok nginx: configuration file filename test is successful
Kemudian jalankan perintah ini untuk memulai NGINX:
$ sudo nginx
Menguji Metode Pemutaran
Mulai video stream Anda. OBS Studio adalah alat sumber terbuka yang umum digunakan yang memungkinkan Anda untuk streaming langsung dari workstation Anda ke server NGINX dengan mengkonfigurasi server RTMP khusus. Konfigurasikan OBS untuk melakukan streaming ke rtmp: // NGINX_server / tv / tv2, di mana NGINX_server adalah alamat IP atau nama host dari server NGINX Anda. Tidak ada kunci streaming yang diperlukan. Setelah video streaming, Anda dapat menguji apakah NGINX menayangkannya dengan benar menggunakan protokol yang telah Anda konfigurasikan.
Posting Komentar