Atur Nginx-RTMP pada CentOS 7

RTMP sangat bagus untuk menyajikan konten langsung. Ketika RTMP dipasangkan dengan FFmpeg, stream dapat dikonversi menjadi berbagai kualitas. Vultr sangat bagus untuk aplikasi ini karena mereka memberikan kinerja CPU yang cepat dan berdedikasi. Jaringan global Vultr juga memastikan Anda dapat mengirimkan konten langsung berkualitas tinggi dengan penundaan minimal. Ayo mulai!

Menginstal Nginx dan Nginx-RTMP

Instal alat yang diperlukan untuk mengkompilasi Nginx dan Nginx-RTMP dari sumber.

sudo yum install pcre pcre-devel openssl openssl-devel zlib zlib-devel -y

Buat direktori yang berfungsi dan beralihlah ke sana.

mkdir ~/working
cd ~/working

Unduh sumber Nginx dan Nginx-RTMP.

wget http://nginx.org/download/nginx-1.9.7.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

Instal paket unzip.

sudo yum install unzip

Ekstrak sumber Nginx dan Nginx-RTMP.

tar -xvf nginx-1.9.7.tar.gz
unzip v1.2.1.zip

Beralih ke direktori Nginx.

cd nginx-1.9.7

Tambahkan modul untuk dikompilasi ke Nginx. Nginx-RTMP disertakan.

./configure --add-module=../nginx-rtmp-module-1.2.1/

Kompilasi dan instal Nginx dengan Nginx-RTMP.

make
sudo make install

Buat file unit SystemD untuk Nginx.

sudo nano /usr/lib/systemd/system/nginx.service

Isi file dengan konten berikut.

[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

Mulai dan aktifkan layanan Nginx.

sudo systemctl start nginx.service

Beri tahu SystemD untuk memulai layanan Nginx secara otomatis saat boot.

systemctl enable nginx.service

Menginstal FFmpeg

Instal epel-releasedan perbarui sistem.

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

Instal repositori Nux.

sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

Instal FFmpeg dan paket pengembangannya.

sudo yum install ffmpeg ffmpeg-devel -y

Mengkonfigurasi Nginx-RTMP dan FFmpeg

Buka file konfigurasi Nginx.

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

Tambahkan yang berikut ke konfigurasi.

    rtmp {
        server {
            listen 1935;
            chunk_size 4096;

            application live {
                    live on;
                    record off;
                    exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
            }
            application live360p {
                    live on;
                    record off;
        }
    }
}

Setelah menambahkan teks konfigurasi itu, Anda dapat menyesuaikan pengaturan seperti bitrate video, bitrate audio, dan resolusi. Perubahan ini hanya akan diterapkan pada aliran kualitas yang lebih rendah. Untuk menambah kualitas, salin dan tempel baris exec FFmpeg dan ubah pengaturan. Anda juga harus membuat aplikasi baru. Anda dapat melakukan ini dengan menyalin dan menempelkan contoh live360 yang telah disertakan. Jangan lupa untuk memperbarui baris exec FFmpeg dengan alamat aplikasi baru. Anda dapat melakukan ini dengan mengubah alamat RTMP akhir di baris exec FFmpeg.

Catatan: Mengubah nilai setelah -b:vakan mengubah bitrate video. Ini diukur dalam kilobit per detik. Mengubah nilai setelahnya -b:aakan mengubah bitrate audio. Ini diukur dalam kilobit per detik. Mengubah nilai setelah -sakan mengubah resolusi.

Simpan file dengan menekan CTRL+ X.

Mulai ulang Nginx.

sudo service nginx restart

Catatan: Untuk kinerja terbaik, setiap aliran yang dikonversi harus memiliki inti CPU sendiri. Misalnya, jika dua kualitas, 360P dan 480P, sedang dibuat dari aliran 720P, instance Vultr dengan setidaknya dua core CPU harus digunakan.

Catatan Keamanan

Jika Anda menggunakan firewall, Anda harus memastikan TCP 1935diizinkan.

Konfigurasi saat ini memungkinkan siapa saja untuk melakukan streaming ke server Anda. Kami dapat memperbaikinya dengan hanya memberikan izin mempublikasikan alamat IP tertentu. Buka konfigurasi Nginx.

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

Cari baris berikut.

live on;
record off;

Tambahkan baris berikut ke setiap set baris di atas. Ubah 0.0.0.0ke alamat IP Anda yang sebenarnya.

allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;

Konfigurasi sekarang akan terlihat seperti berikut ini.

rtmp {
    server {
        listen 1935;
        chunk_size 4096;

        application live {
                live on;
                record off;
                allow publish 127.0.0.1;
                allow publish 0.0.0.0;
                deny publish all;
                exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
        }
        application live360p {
                live on;
                record off;
                allow publish 127.0.0.1;
                allow publish 0.0.0.0;
                deny publish all;
        }
    }
}

Simpan file dengan menekan CTRL+ X.

Mulai ulang Nginx.

sudo service nginx restart

Mengkonfigurasi Perangkat Lunak agar Bekerja dengan Nginx-RTMP

Aplikasi streaming biasanya memiliki dua bidang untuk informasi koneksi. Bidang pertama biasanya untuk informasi server dan bidang kedua biasanya untuk nama aliran atau kunci. Informasi yang harus Anda tempatkan di setiap bidang tercantum. Nama aliran atau kunci dapat diatur ke apa saja.

Field 1: rtmp://your.vultr.ip/live/
Field 2: stream-key-you-set

Untuk melihat streaming, buka tautan berikut di pemutar yang mendukung RTMP.

rtmp://your.vultr.ip/live/stream-key-you-set
rtmp://your.vultr.ip/live360p/stream-key-you-set


Leave a Comment

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.