Persediaan Nginx-RTMP pada CentOS 7

RTMP sangat bagus untuk menyajikan kandungan langsung. Apabila RTMP dipasangkan dengan FFmpeg, aliran dapat diubah menjadi pelbagai kualiti. Vultr sangat bagus untuk aplikasi ini kerana mereka memberikan prestasi CPU yang pantas dan berdedikasi. Rangkaian global Vultr juga memastikan bahawa anda dapat menyampaikan kandungan langsung berkualiti tinggi dengan kelewatan minimum. Mari kita mulakan!

Memasang Nginx dan Nginx-RTMP

Pasang alat yang diperlukan untuk menyusun Nginx dan Nginx-RTMP dari sumber.

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

Buat direktori yang berfungsi dan beralih kepadanya.

mkdir ~/working
cd ~/working

Muat turun 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

Pasang pakej unzip.

sudo yum install unzip

Ekstrak sumber Nginx dan Nginx-RTMP.

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

Tukar ke direktori Nginx.

cd nginx-1.9.7

Tambahkan modul untuk disusun ke dalam Nginx. Nginx-RTMP disertakan.

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

Susun dan pasang Nginx dengan Nginx-RTMP.

make
sudo make install

Buat fail unit SystemD untuk Nginx.

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

Isi fail dengan kandungan 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

Mulakan dan dayakan perkhidmatan Nginx.

sudo systemctl start nginx.service

Beritahu SystemD untuk memulakan perkhidmatan Nginx secara automatik semasa boot.

systemctl enable nginx.service

Memasang FFmpeg

Pasang epel-releasedan kemas kini sistem.

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

Pasang 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

Pasang FFmpeg dan pakej pengembangannya.

sudo yum install ffmpeg ffmpeg-devel -y

Mengkonfigurasi Nginx-RTMP dan FFmpeg

Buka fail konfigurasi Nginx.

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

Tambahkan perkara berikut kepada 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 anda menambahkan teks konfigurasi tersebut, anda dapat menyesuaikan tetapan seperti kadar bit video, kadar bit audio, dan resolusi. Perubahan ini hanya akan diterapkan pada aliran berkualiti rendah. Untuk menambah lebih banyak kualiti, salin dan tampal baris FFmpeg eksekutif dan tukar tetapan. Anda juga perlu membuat aplikasi baru. Anda boleh melakukan ini dengan menyalin dan menampal contoh live360 yang telah disertakan. Jangan lupa untuk mengemas kini baris FFmpeg eksekutif dengan alamat aplikasi baru. Anda boleh melakukan ini dengan menukar alamat RTMP akhir di barisan FFmpeg exec.

Catatan: Mengubah nilai selepas -b:vakan mengubah kadar bit video. Ini diukur dalam kilobit sesaat. Mengubah nilai selepas -b:aakan mengubah kadar bit audio. Ini diukur dalam kilobit sesaat. Mengubah nilai selepas -sakan mengubah resolusi.

Simpan fail dengan menekan CTRL+ X.

Mulakan semula Nginx.

sudo service nginx restart

Catatan: Untuk prestasi terbaik, setiap aliran yang ditukar harus mempunyai teras CPU sendiri. Sebagai contoh, jika dua ciri, 360P dan 480P, dibuat daripada strim 720P, contoh Vultr dengan sekurang-kurangnya dua teras CPU harus digunakan.

Nota Keselamatan

Sekiranya anda menggunakan firewall, anda perlu memastikan TCP 1935dibenarkan.

Konfigurasi semasa membolehkan sesiapa sahaja melakukan streaming ke pelayan anda. Kami dapat memperbaikinya dengan hanya memberikan izin penerbitan alamat IP tertentu. Buka konfigurasi Nginx.

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

Cari baris berikut.

live on;
record off;

Tambahkan yang berikut untuk setiap set garisan di atas. Tukar 0.0.0.0ke alamat IP sebenar anda.

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

Konfigurasi kini akan kelihatan seperti berikut.

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 fail dengan menekan CTRL+ X.

Mulakan semula Nginx.

sudo service nginx restart

Mengkonfigurasi Perisian untuk Bekerja dengan Nginx-RTMP

Aplikasi streaming biasanya mempunyai dua medan untuk maklumat sambungan. Medan pertama biasanya untuk maklumat pelayan dan medan kedua biasanya untuk nama aliran atau kunci. Maklumat yang harus anda masukkan ke dalam setiap bidang disenaraikan. Nama atau kunci aliran boleh ditetapkan untuk apa sahaja.

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

Untuk melihat aliran, buka pautan berikut dalam pemain yang menyokong RTMP.

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


Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut