Streaming ke Twitch dan PeerTube secara bersamaan menggunakan nginx di Oracle cloud

22 November 2021 [Programming, Tech]

Siaran langsung RTMP menggunakan NGINX

Saya ingin orang-orang dapat menonton streaming langsung coding Matrix dan Rust saya menggunakan perangkat lunak gratis, jadi saya ingin melakukan siaran langsung ke PeerTube dan juga Twitch.

Hal ini dimungkinkan dengan menggunakan NGINX dan modul RTMP-nya. Ini memang melibatkan pembuatan NGINX dari sumber, tetapi menurut saya itu cukup mudah dilakukan.

Mengapa Oracle cloud?

Saya tidak akan merekomendasikan penggunaan Oracle untuk apa pun, tetapi mereka menyediakan hingga dua mesin virtual di cloud mereka secara gratis, dan mesin yang saya gunakan selalu tersedia dengan konektivitas yang sangat baik, di pusat data London sejak saya menyiapkannya beberapa bulan lalu.

Jadi, kami membuat hidup kami lebih sulit dengan mencoba melakukan ini di Oracle Linux, yang merupakan turunan dari RHEL.

Membangun NGINX dan modul RTMP-nya di Oracle Linux

Saya menjalankan perintah ini pada instance cloud Oracle saya (menjalankan Oracle Linux):

sudo yum install git pcre-devel openssl-devel
mkdir nginx
cd nginx
wget 
git clone 
cd nginx-1.21.4
./configure --add-module=../nginx-rtmp-module/
make
sudo make install

Setelah semua NGINX ini diinstal ke /usr/local/nginx/.

Membuat file konfigurasi NGINX untuk siaran langsung RTMP

Selanjutnya saya edit file konfigurasi NGINX dengan mengetik:

sudo nano /usr/local/nginx/conf/nginx.conf

Dan tempelkan konfigurasi ini di bagian bawah file:

rtmp {
    server {
        listen 2036;
        chunk_size 4096;
        application live {
            live on;
            record off;
            push rtmp://live.twitch.tv/app/live_INSERT_TWITCH_STREAM_KEY;
            push rtmp://diode.zone/live/INSERT_PEERTUBE_STREAM_KEY;
        }
    }
}

Perhatikan bahwa Anda perlu mendapatkan kunci aliran Twitch Anda dari Twitch -> Dasbor Pembuat -> Pengaturan -> Aliran, lalu Salin di sebelah Kunci Aliran Utama.

Untuk mendapatkan ID streaming PeerTube, Anda harus membuka halaman PeerTube dan klik Publikasikan, lalu Tayangkan, pilih saluran Anda dan pilih Tayangkan. Perhatikan bahwa jika Anda ingin streaming direkam dan tersedia nanti, Anda harus membuat kunci streaming baru setiap kali memulai streaming, dan mengubahnya di nginx.conf.

Jika Anda menggunakan server PeerTube yang berbeda (saya menggunakan diode.zone) maka Anda juga perlu mengubah nama server pada file konfigurasi di atas.

Pastikan file konfigurasi Anda disimpan dengan URL yang benar di dalamnya.

Membuka port

Untuk mengirim lalu lintas RTMP ke server saya, saya perlu membuka port yang tepat ke instance cloud Oracle. Hal ini melibatkan pembuatan aturan ingress dan penambahan aturan firewall.

Membuat aturan masuknya

Di antarmuka web, saya membuka menu di kiri atas, mengklik Compute, lalu Instances.

Saya mengklik nama instance saya, lalu mengklik nama subnet di detailnya (di sebelah kanan).

Saya mengklik Daftar keamanan default untuk…, lalu Tambahkan Aturan Ingress.

Saya membuat aturan ingress dengan Source Type=CIDR, Source CIDR=0.0.0.0/0, IP Protocol=TCP, Source Port Range=(kosong, artinya semua), Destination Port Range=2036

Menambahkan aturan firewall

Lalu saya masuk ke mesin dan menjalankan perintah ini untuk membuat aturan firewall yang mengizinkan lalu lintas:

sudo firewall-cmd --zone=public --permanent --add-port=2036/tcp
sudo firewall-cmd --reload

Hentikan dan Mulai NGINX

Setelah membuat file konfigurasi dan membuka port yang tepat, saya perlu memulai NGINX.

Setiap kali saya mengubah file konfigurasi, saya harus memulai ulang.

Jika sudah berjalan, saya hentikan dengan:

sudo /usr/local/nginx/sbin/nginx -s stop

dan kemudian saya memulainya lagi dengan

sudo /usr/local/nginx/sbin/nginx

Saya dapat memeriksa apakah puas dengan melihat file log, misalnya untuk melihat kesalahan apa pun:

less /usr/local/nginx/logs/error.log

Memulai streaming

Sekarang saya masuk ke OBS dan pergi ke File -> Pengaturan -> Stream dan pilih jenisnya sebagai Kustom, dan Server sebagai rtmp://1.1.1.1:2036/live. (Tetapi alih-alih 1.1.1.1, saya memasukkan alamat IP publik dari instance saya, yang saya temukan dengan mengklik nama instance di konsol manajemen cloud Oracle.)

News
Berita
News Flash
Blog
Technology
Sports
Sport
Football
Tips
Finance
Berita Terkini
Berita Terbaru
Berita Kekinian
News
Berita Terkini
Olahraga
Pasang Internet Myrepublic
Jasa Import China
Jasa Import Door to Door

Download Film

Gaming center adalah sebuah tempat atau fasilitas yang menyediakan berbagai perangkat dan layanan untuk bermain video game, baik di PC, konsol, maupun mesin arcade. Gaming center ini bisa dikunjungi oleh siapa saja yang ingin bermain game secara individu atau bersama teman-teman. Beberapa gaming center juga sering digunakan sebagai lokasi turnamen game atau esports.