Tutorial ini bertujuan untuk menyelesaikannya dengan menunjukkan kepada anda cara menyediakan pelayan live streaming peribadi yang memanfaatkan Nginx, pelayan web yang kuat dan ringan dan proksi terbalik dan protokol RTMP.
Sebelum meneruskan, pastikan:
- Anda menjalankan pelayan Ubuntu atau Debian
- Mempunyai akses ke pelayan anda melalui SSH
- Hak pengguna atau hak sudo
Mari kita mulakan.
Apa itu Nginx
Seperti yang disebutkan di atas, Nginx adalah pelayan web sumber terbuka dan proksi terbalik yang cepat dan ringan yang digunakan untuk melayani laman web statik sederhana atau aplikasi besar-besaran. Nginx adalah pelayan web berprestasi tinggi dengan kelajuan dan keselamatan yang luar biasa. Berkat sifatnya yang ringan, pilihan yang sangat efisien untuk perkhidmatan streaming dan lalu lintas dengan lalu lintas yang besar.
Anda boleh mengetahui lebih lanjut mengenai Nginx dari sumber yang disediakan di bawah:
https: // nginx.org / en / dokumen /
Apa itu Nginx RTMP
Nginx RTMP adalah modul sumber terbuka dan berkuasa untuk pelayan web Nginx. Ia membolehkan protokol RTMP, Streaming Langsung HTTP (HLS), dan Streaming Adaptive Dinamik melalui HTTP (DASH).
Anda boleh mengetahui lebih lanjut mengenai HLS dan DASH dari halaman sumber:
https: // www.kepulan awan.com / pembelajaran / video / apa-apa-mpeg-dash /
Sekarang anda tahu apa itu Nginx dan Nginx RTMP, mari kita siapkan pelayan:
Konfigurasikan ke Pelayan
Langkah pertama adalah mendapatkan akses ke pelayan. Pastikan SSH ke pelayan anda diaktifkan dan anda mempunyai kunci yang ditambah untuk log masuk yang lebih mudah.
ssh debian @ 34.73.160.42[dilindungi e-mel]: ~ $
Sebaik sahaja kita mempunyai akses ke pelayan, kita boleh mula memasang pakej dan perpustakaan yang diperlukan. Pertama, pastikan pelayan anda dikemas kini:
sudo apt-get kemas kinisudo apt-get upgrade -y
Memasang Perisian yang Diperlukan
Untuk menyediakan pelayan streaming, kita perlu membina Nginx dari sumbernya dan mengaktifkan modul RTMP. Untuk ini, kami akan menggunakan keperluan asas dan pakej lain. Gunakan arahan apt di bawah untuk memasang semua kebergantungan.
sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-devLangkah seterusnya adalah menyusun dan memasang Nginx dengan modul RTMP diaktifkan. Untuk terus teratur, buat direktori untuk prosesnya.
mkdir ~ / Buatcd ~ / Buat /
Seterusnya, kloning modul nginx-RTMP:
git klon git: // github.com / arut / nginx-rtmp-modul.gitSekarang kita perlu memuat turun nginx.
Pergi ke http: // nginx.org / en / muat turun.html dan pilih pilihan muat turun anda.
wget http: // nginx.org / muat turun / nginx-1.19.8.tar.gztar xzf nginx-1.19.8.tar.gz
cd nginx-1.19.8
Langkah terakhir dalam bahagian ini adalah menyusun Nginx dengan modul RMTP diaktifkan. Gunakan arahan di bawah:
sudo ./ konfigurasi --dengan-http_ssl_module --add-module =… / nginx-rtmp-modulsudo buat
sudo buat pasang
Menyiapkan Siaran Langsung
Untuk mengaktifkan sokongan RTMP, kita perlu mengedit fail konfigurasi nginx dan menentukan blok RTMP.
sudo nano / usr / local / nginx / conf / nginx.pengesahanMasukkan blok sokongan RTMP sebagai:
rtmppelayan
dengar 1935;
ping 30-an;
permohonan secara langsung
teruskan hidup;
interleave pada;
hls di;
hls_path / tmp / hls;
hls_sync 100ms;
hls_fragment 15s;
http
aplikasi default_type / octet-stream;
pelayan
dengar 80;
lokasi / tv
root / tmp / hls;
jenis
permohonan / vnd.epal.mpegurl m3u8;
video / mp2t ts;
teks / html html;
Dalam konfigurasi di atas, kami mengaktifkan modul RTMP dan HLS. Pertimbangkan dokumentasi untuk mengetahui cara mengaktifkan DASH.
Setelah anda mempunyai konfigurasi, simpan fail dan mulakan perkhidmatan Nginx.
sudo / usr / local / nginx / sbin / nginxMulakan Penstriman
Setelah semuanya dikonfigurasikan dengan betul, anda boleh memulakan streaming menggunakan FFmpeg-itu yang paling mudah. Anda juga boleh mengkonfigurasi alat lain seperti studio OBS, tetapi saya tidak akan membahasnya dalam tutorial ini.
Gunakan arahan FFmpeg sebagai:
sudo ffmpeg -re -i sample-mp4-file.mp4 -c copy -f hls rtmp: // localhost / live / streamMainkan aliran menggunakan pemain FFplay atau VLC Media pada sumber.
ffplay rtmp: // IP / langsung / strimSetelah aliran berjalan, anda dapat memaparkan perkhidmatan tersebut ke rangkaian luar.
NOTA: Pastikan anda telah melindungi pelayan anda sebelum membenarkan akses awam.
Kesimpulannya
Tutorial ini telah merangkumi cara menyediakan pelayan streaming menggunakan Nginx dan modul Nginx RTMP. Perlu diingat bahawa terdapat banyak peralatan yang terlibat dalam menyiapkan perkhidmatan streaming, dan anda dapat menyesuaikannya sesuai dengan keperluan anda.
Pertimbangkan sumber berikut untuk meneroka lebih banyak lagi.
- https: // ffmpeg.org / ffmpeg.html
- https: // ffmpeg.org / ffplay.html
- https: // ffmpeg.format org / ffmpeg.html
- https: // projek.com / dokumen /
- https: // wiki.videolan.org / Dokumentasi: Streaming_HowTo