Tutorial ini berusaha menyelesaikannya dengan menunjukkan kepada Anda cara mengatur server streaming langsung pribadi yang memanfaatkan Nginx, server web yang kuat dan ringan serta proxy terbalik dan protokol RTMP.
Sebelum kita melanjutkan, pastikan:
- Anda menjalankan server Ubuntu atau Debian
- Memiliki akses ke server Anda melalui SSH
- Hak istimewa pengguna root atau sudo
Mari kita mulai.
Apa itu Nginx?
Seperti disebutkan di atas, Nginx adalah server web sumber terbuka dan proxy terbalik yang cepat dan ringan yang digunakan untuk melayani situs web statis sederhana atau aplikasi besar. Nginx adalah server web berkinerja tinggi dengan kecepatan dan keamanan yang luar biasa. Berkat sifatnya yang ringan, ini adalah pilihan yang sangat efisien untuk layanan streaming dan lalu lintas dengan lalu lintas besar.
Anda dapat mempelajari lebih lanjut tentang Nginx dari sumber yang disediakan di bawah ini:
https://nginx.org/id/dokumen/
Apa itu Nginx RTMP
Nginx RTMP adalah modul sumber terbuka dan kuat untuk server web Nginxx. Ini memungkinkan protokol RTMP, HTTP Live Streaming (HLS), dan Dynamic Adaptive Streaming melalui HTTP (DASH).
Anda dapat mempelajari lebih lanjut tentang HLS dan DASH dari halaman sumber daya:
https://www.cloudflare.com/learning/video/apa-mpeg-dash/
Sekarang setelah Anda mengetahui apa itu Nginx dan Nginx RTMP, mari kita siapkan servernya:
Konfigurasi ke Server
Langkah pertama adalah mendapatkan akses ke server. Pastikan SSH ke server Anda diaktifkan dan Anda memiliki kunci yang ditambahkan untuk login yang lebih mudah.
ssh [email protected][dilindungi email]:~$
Setelah kami memiliki akses ke server, kami dapat mulai menginstal paket dan perpustakaan yang diperlukan. Pertama, pastikan server Anda mutakhir:
sudo apt-get updatesudo apt-get upgrade -y
Menginstal Perangkat Lunak yang Diperlukan
Untuk mengatur server streaming, kita perlu membangun Nginx dari sumber dan mengaktifkan modul RTMP. Untuk ini, kami akan menggunakan build-essential dan paket lainnya. Gunakan perintah apt di bawah ini untuk menginstal semua dependensi.
sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-devLangkah selanjutnya adalah mengkompilasi dan menginstal Nginx dengan modul RTMP diaktifkan. Agar tetap teratur, buat direktori untuk prosesnya.
mkdir ~/Makecd ~/Buat/
Selanjutnya, clone modul nginx-RTMP:
git clone git://github.com/arut/nginx-rtmp-module.gitSekarang kita perlu mengunduh nginx.
Buka http://nginx.org/id/unduh.html dan pilih opsi unduhan Anda.
wget http://nginx.org/download/nginx-1.19.8.ter.gztar xzf nginx-1.19.8.ter.gz
cd nginx-1.19.8
Langkah terakhir di bagian ini adalah mengkompilasi Nginx dengan modul RMTP diaktifkan. Gunakan perintah di bawah ini:
sudo ./configure --with-http_ssl_module --add-module=… /nginx-rtmp-modulesudo membuat
sudo make install
Menyiapkan Streaming Langsung
Untuk mengaktifkan dukungan RTMP, kita perlu mengedit file konfigurasi nginx dan menentukan blok RTMP.
sudo nano /usr/local/nginx/conf/nginx.konfMasukkan blok dukungan RTMP sebagai:
rtmpserver
mendengarkan 1935;
ping 30 detik;
aplikasi langsung
hidup di;
menyisipkan;
hls aktif;
hls_path /tmp/hls;
hls_sync 100ms;
hls_fragment 15 detik;
http
aplikasi default_type/aliran oktet;
server
mendengarkan 80;
lokasi /tv
root /tmp/hls;
jenis
aplikasi/vnd.apel.mpegurl m3u8;
video/mp2tts;
teks/htmlhtml;
Dalam konfigurasi di atas, kami mengaktifkan modul RTMP dan HLS. Pertimbangkan dokumentasi untuk mempelajari cara mengaktifkan DASH.
Setelah Anda memiliki konfigurasi, simpan file dan mulai layanan Nginx.
sudo /usr/local/nginx/sbin/nginxMulai Streaming
Setelah semuanya terkonfigurasi dengan benar, Anda dapat mulai streaming menggunakan FFmpeg-ini yang termudah. Anda juga dapat mengonfigurasi alat lain seperti studio OBS, tetapi saya tidak akan membahasnya dalam tutorial ini.
Gunakan perintah FFmpeg sebagai:
sudo ffmpeg -re -i sample-mp4-file.mp4 -c salin -f hls rtmp://localhost/live/streamPutar streaming menggunakan FFplay atau VLC Media player di sumber daya.
ffplay rtmp://IP/live/streamSetelah streaming berjalan, Anda dapat mengekspos layanan ke jaringan luar.
CATATAN: Pastikan Anda telah mengamankan server Anda sebelum mengizinkan akses publik.
Kesimpulan
Tutorial ini telah membahas cara mengatur server streaming menggunakan Nginx dan modul Nginx RTMP. Ingatlah bahwa ada banyak peralatan yang terlibat dalam menyiapkan layanan streaming, dan Anda dapat menyesuaikannya sesuai dengan kebutuhan Anda.
Pertimbangkan sumber daya berikut untuk mengeksplorasi lebih lanjut.
- https://ffmpeg.org/ffmpeg.html
- https://ffmpeg.org/ffplay.html
- https://ffmpeg.org/ffmpeg-format.html
- https://obsproject.com/docs/
- https://wiki.videolan.org/Dokumentasi:Streaming_HowTo