GNU/Linux >> Belajar Linux >  >> Linux

Buat server streaming video Anda sendiri dengan Linux

Streaming video langsung sangat populer—dan masih terus berkembang. Platform seperti Amazon's Twitch dan Google's YouTube membanggakan jutaan pengguna yang melakukan streaming dan mengonsumsi media langsung dan rekaman yang tak terhitung jumlahnya. Layanan ini sering kali gratis untuk digunakan tetapi mengharuskan Anda memiliki akun dan biasanya menyimpan konten Anda di balik iklan. Beberapa orang tidak ingin video mereka tersedia untuk umum atau hanya ingin lebih mengontrol konten mereka. Untungnya, dengan kecanggihan perangkat lunak sumber terbuka, siapa pun dapat menyiapkan server streaming langsung.

Memulai

Dalam tutorial ini, saya akan menjelaskan cara menyiapkan server live streaming dasar dengan sistem operasi Linux atau BSD.

Ini mengarah pada pertanyaan yang tak terhindarkan tentang persyaratan sistem. Ini dapat bervariasi, karena ada banyak variabel yang terlibat dengan streaming langsung, seperti:

  • Kualitas aliran: Apakah Anda ingin streaming dalam definisi tinggi atau akankah definisi standar sesuai dengan kebutuhan Anda?
  • Penayangan: Berapa banyak penonton yang Anda harapkan untuk video Anda?
  • Penyimpanan: Apakah Anda berencana untuk menyimpan salinan aliran video Anda yang tersimpan?
  • Akses: Apakah streaming Anda akan bersifat pribadi atau terbuka untuk dunia?

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Tidak ada aturan yang ditetapkan dalam hal persyaratan sistem, jadi saya sarankan Anda bereksperimen dan menemukan apa yang terbaik untuk kebutuhan Anda. Saya memasang server saya di mesin virtual dengan RAM 4 GB, hard drive 20 GB, dan satu inti prosesor Intel i7.

Proyek ini menggunakan Real-Time Messaging Protocol (RTMP) untuk menangani streaming audio dan video. Ada protokol lain yang tersedia, tetapi saya memilih RTMP karena memiliki dukungan yang luas. Karena standar terbuka seperti WebRTC menjadi lebih kompatibel, saya akan merekomendasikan rute itu.

Penting juga untuk mengetahui bahwa "hidup" tidak selalu berarti instan. Aliran video harus dikodekan, ditransfer, disangga, dan ditampilkan, yang sering kali menambah penundaan. Penundaan dapat dipersingkat atau diperpanjang tergantung pada jenis streaming yang Anda buat dan atributnya.

Menyiapkan server Linux

Anda dapat menggunakan banyak distribusi Linux yang berbeda, tetapi saya lebih suka Ubuntu, jadi saya mengunduh edisi Server Ubuntu untuk sistem operasi saya. Jika Anda lebih suka server Anda memiliki antarmuka pengguna grafis (GUI), silakan gunakan Desktop Ubuntu atau salah satu dari banyak pilihannya. Kemudian, saya menjalankan penginstal Ubuntu di komputer atau mesin virtual saya dan memilih setelan yang paling cocok dengan lingkungan saya. Berikut adalah langkah-langkah yang saya ambil.

Catatan:Karena ini adalah server, Anda mungkin ingin menyetel beberapa setelan jaringan statis.

Setelah penginstal selesai dan sistem Anda reboot, Anda akan disambut dengan sistem Ubuntu baru yang indah. Seperti halnya sistem operasi yang baru diinstal, instal pembaruan apa pun yang tersedia:

sudo apt update
sudo apt upgrade

Server streaming ini akan menggunakan server web Nginx yang sangat kuat dan serbaguna, jadi Anda harus menginstalnya:

sudo apt install nginx 

Maka Anda harus mendapatkan modul RTMP agar Nginx dapat menangani aliran media Anda:

sudo add-apt-repository universe
sudo apt install libnginx-mod-rtmp

Sesuaikan konfigurasi server web Anda sehingga dapat menerima dan mengirimkan aliran media Anda.

sudo nano /etc/nginx/nginx.conf 

Gulir ke bagian bawah file konfigurasi dan tambahkan kode berikut:

 rtmp {
Server {
Dengarkan 1935;
chunk_size 4096;

aplikasi live {
hidup;
                }
        }
}

Simpan konfigurasi. Karena saya sesat, saya menggunakan Nano untuk mengedit file konfigurasi. Di Nano, Anda dapat menyimpan konfigurasi Anda dengan menekan Ctrl+X , Y , lalu Masuk.

Ini adalah konfigurasi yang sangat minimal yang akan membuat server streaming yang berfungsi. Anda akan menambahkan konfigurasi ini nanti, tetapi ini adalah titik awal yang bagus.

Namun, sebelum Anda dapat memulai streaming pertama, Anda harus memulai ulang Nginx dengan konfigurasi barunya:

sudo systemctl restart nginx 

Menyiapkan server BSD

Jika Anda termasuk dalam kelompok "binatang buas", mengaktifkan dan menjalankan server streaming juga sangat mudah.

Kunjungi situs web FreeBSD dan unduh rilis terbaru. Jalankan penginstal FreeBSD di komputer atau mesin virtual Anda dan lakukan langkah-langkah awal dan pilih pengaturan yang paling sesuai dengan lingkungan Anda. Karena ini adalah server, Anda mungkin ingin menyetel beberapa setelan jaringan statis.

Setelah penginstal selesai dan sistem Anda reboot, Anda akan memiliki sistem FreeBSD baru yang mengkilap. Seperti sistem lain yang baru diinstal, Anda mungkin ingin semuanya diperbarui (mulai langkah ini, pastikan Anda masuk sebagai root):

pembaruan pkg
peningkatan pkg

Saya menginstal Nano untuk mengedit file konfigurasi:

pkg install nano 

Server streaming ini akan menggunakan server web Nginx yang sangat kuat dan serbaguna. Anda dapat membangun Nginx menggunakan port yang luar biasa sistem yang dibanggakan FreeBSD.

Pertama, perbarui pohon port Anda:

pengambilan portsnap
ekstrak portsnap

Jelajahi direktori port Nginx:

cd /usr/ports/www/nginx 

Dan mulailah membangun Nginx dengan menjalankan:

make install 

Anda akan melihat layar menanyakan modul apa yang harus disertakan dalam build Nginx Anda. Untuk proyek ini, Anda perlu menambahkan modul RTMP. Gulir ke bawah hingga modul RTMP dipilih dan tekan Spasi . Kemudian Tekan Enter untuk melanjutkan dengan sisa pembangunan dan pemasangan.

Setelah Nginx selesai menginstal, saatnya mengonfigurasinya untuk keperluan streaming.

Pertama, tambahkan entri ke /etc/rc.conf untuk memastikan server Nginx dimulai saat sistem Anda boot:

nano /etc/rc.conf 

Tambahkan teks ini ke file:

nginx_enable="YES" 

Selanjutnya, buat direktori webroot dari mana Nginx akan menyajikan kontennya. Saya menyebut milik saya aliran :

cd /usr/local/www/
mkdir stream
chmod -R 755 stream/

Sekarang setelah Anda membuat direktori streaming, konfigurasikan Nginx dengan mengedit file konfigurasinya:

nano /usr/local/etc/nginx/nginx.conf 

Muat modul streaming Anda di bagian atas file:

load_module /usr/local/libexec/nginx/ngx_stream_module.so;
load_module /usr/local/libexec/nginx/ngx_rtmp_module.so;

Di bawah Server bagian, ubah lokasi webroot agar sesuai dengan yang Anda buat sebelumnya:

Lokasi / {
root /usr/local/www/stream
}

Terakhir, tambahkan setelan RTMP Anda agar Nginx tahu cara menangani aliran media Anda:

 rtmp {
Server {
Dengarkan 1935;
chunk_size 4096;

aplikasi live {
hidup;
                }
        }
}

Simpan konfigurasi. Di Nano, Anda dapat melakukannya dengan menekan Ctrl+X , Y , lalu Masuk.

Seperti yang Anda lihat, ini adalah konfigurasi yang sangat minim yang akan membuat server streaming berfungsi. Nanti, Anda akan menambahkan konfigurasi ini, tetapi ini akan memberi Anda titik awal yang bagus.

Namun, sebelum Anda dapat memulai streaming pertama, Anda harus memulai ulang Nginx dengan konfigurasi barunya:

service nginx restart 

Siapkan perangkat lunak streaming Anda

Menyiarkan dengan OBS

Sekarang server Anda siap menerima streaming video Anda, saatnya menyiapkan perangkat lunak streaming Anda. Tutorial ini menggunakan Open Broadcast Studio (OBS) yang kuat dan open source.

Buka situs web OBS dan temukan build untuk sistem operasi Anda dan instal. Setelah OBS diluncurkan, Anda akan melihat wizard yang dijalankan pertama kali yang akan membantu Anda mengonfigurasi OBS dengan pengaturan yang paling sesuai dengan perangkat keras Anda.

OBS tidak menangkap apa pun karena Anda belum menyediakannya dengan sumber. Untuk tutorial ini, Anda cukup mengambil desktop untuk streaming. Cukup klik + tombol di bawah Sumber , pilih Tangkapan Layar , dan pilih desktop mana yang ingin Anda rekam.

Klik OK, dan Anda akan melihat OBS mencerminkan desktop Anda.

Sekarang saatnya untuk mengirim aliran video Anda yang baru dikonfigurasi ke server Anda. Di OBS, klik File> Setelan . Klik Aliran bagian, dan atur Jenis Aliran ke Server Streaming Khusus .

Di kotak URL, masukkan awalan rtmp:// mengikuti alamat IP server streaming Anda diikuti dengan /live . Misalnya, rtmp://IP-ADDRESS/live .

Selanjutnya, Anda mungkin ingin memasukkan kunci Stream—pengidentifikasi khusus yang diperlukan untuk melihat streaming Anda. Masukkan kunci apa pun yang Anda inginkan (dan dapat diingat) di Kunci streaming kotak.

Klik Terapkan lalu Oke .

Sekarang OBS dikonfigurasi untuk mengirim streaming Anda ke server Anda, Anda dapat memulai streaming pertama Anda. Klik Mulai Streaming .

Jika semuanya berfungsi, Anda akan melihat tombol berubah menjadi Hentikan Streaming dan beberapa metrik bandwidth akan muncul di bagian bawah OBS.

Jika Anda menerima kesalahan, periksa kembali Pengaturan Aliran di OBS untuk kesalahan ejaan. Jika semuanya terlihat baik, mungkin ada masalah lain yang mencegahnya bekerja.

Melihat streaming Anda

Video langsung tidak akan bagus jika tidak ada yang menontonnya, jadi jadilah penonton pertama Anda!

Ada banyak pemutar media sumber terbuka yang mendukung RTMP, tetapi yang paling terkenal mungkin adalah pemutar media VLC.

Setelah Anda menginstal dan meluncurkan VLC, buka streaming Anda dengan mengeklik Media> Buka Aliran Jaringan . Masukkan jalur ke aliran Anda, tambahkan Stream Key yang Anda siapkan di OBS, lalu klik Mainkan . Misalnya, rtmp://IP-ADDRESS/live/SECRET-KEY .

Anda sekarang seharusnya melihat streaming video langsung Anda sendiri!

Ke mana harus pergi selanjutnya?

Ini adalah pengaturan yang sangat sederhana yang akan membuat Anda keluar dari tanah. Berikut adalah dua fitur lain yang mungkin ingin Anda gunakan.

  • Batasi akses: Langkah selanjutnya yang mungkin ingin Anda ambil adalah membatasi akses ke server Anda, karena pengaturan default memungkinkan siapa pun untuk melakukan streaming ke dan dari server. Ada berbagai cara untuk menyiapkannya, seperti firewall sistem operasi, file .htaccess, atau bahkan menggunakan kontrol akses bawaan dalam modul RTMP.

  • Rekam aliran: Konfigurasi Nginx sederhana ini hanya akan mengalirkan dan tidak akan menyimpan video Anda, tetapi ini mudah ditambahkan. Di konfigurasi Nginx, di bawah bagian RTMP, atur opsi perekaman dan lokasi di mana Anda ingin menyimpan video Anda. Pastikan jalur yang Anda tetapkan ada dan Nginx dapat menulis ke sana.

application live {
             live on;
             record all;
             record_path /var/www/html/recordings;
        Dunia streaming langsung terus berkembang, dan jika Anda tertarik dengan penggunaan yang lebih maju, ada banyak sumber daya hebat lainnya yang dapat Anda temukan beredar di internet. Semoga berhasil dan selamat streaming!


Linux
  1. Lihat koneksi jaringan server Linux Anda dengan netstat

  2. Buat penyimpanan cloud Anda dengan ownCloud 6 di Linux Mint 17

  3. Cara Menginstal Nextcloud dengan Docker di Server Linux Anda

  1. Buat bookmark untuk PDF Anda dengan pdftk

  2. Buat Kembar Jahat Jaringan Anda Dengan Fluxion di Kali Linux

  3. Amankan Server Linux Anda Dengan Fail2Ban [Panduan Pemula]

  1. Pantau server Linux Anda dengan Checkmk

  2. Siapkan server VPN di PC Linux Anda

  3. Cara membuat server file pribadi dengan SSH di Linux