ติดตั้ง Nginx-RTMP บน CentOS 7

RTMP นั้นยอดเยี่ยมสำหรับการแสดงเนื้อหาสด เมื่อ RTMP ถูกจับคู่กับ FFmpeg สตรีมสามารถแปลงเป็นคุณสมบัติที่หลากหลาย Vultr นั้นยอดเยี่ยมสำหรับแอปพลิเคชันเหล่านี้เนื่องจากให้ประสิทธิภาพของ CPU ที่รวดเร็วและโดยเฉพาะ เครือข่ายทั่วโลกของ Vultr ยังช่วยให้มั่นใจได้ว่าคุณสามารถส่งมอบเนื้อหาสดคุณภาพสูงด้วยความล่าช้าเล็กน้อย มาเริ่มกันเลย!

การติดตั้ง Nginx และ Nginx-RTMP

ติดตั้งเครื่องมือที่จำเป็นในการรวบรวม Nginx และ Nginx-RTMP จากแหล่งที่มา

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

สร้างไดเรกทอรีทำงานและสลับไปใช้

mkdir ~/working
cd ~/working

ดาวน์โหลดแหล่งข้อมูล Nginx และ Nginx-RTMP

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

ติดตั้งแพคเกจเปิดเครื่องรูด

sudo yum install unzip

แตกซอร์ส Nginx และ Nginx-RTMP

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

สลับไปที่ไดเรกทอรี Nginx

cd nginx-1.9.7

เพิ่มโมดูลเพื่อคอมไพล์ลงใน Nginx Nginx-RTMP รวมอยู่ด้วย

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

รวบรวมและติดตั้ง Nginx ด้วย Nginx-RTMP

make
sudo make install

สร้างไฟล์หน่วย SystemD สำหรับ Nginx

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

เติมไฟล์ด้วยเนื้อหาต่อไปนี้

[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

เริ่มและเปิดใช้งานบริการ Nginx

sudo systemctl start nginx.service

บอก SystemD ให้เริ่มบริการ Nginx โดยอัตโนมัติเมื่อบูต

systemctl enable nginx.service

การติดตั้ง FFmpeg

ติดตั้งepel-releaseและอัพเดทระบบ

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

ติดตั้งที่เก็บ 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

ติดตั้ง FFmpeg และแพ็คเกจการพัฒนา

sudo yum install ffmpeg ffmpeg-devel -y

การกำหนดค่า Nginx-RTMP และ FFmpeg

เปิดไฟล์คอนฟิกูเรชัน Nginx

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

ผนวกต่อไปนี้เพื่อกำหนดค่า

    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;
        }
    }
}

หลังจากที่คุณเพิ่มข้อความกำหนดค่าแล้วคุณสามารถปรับแต่งการตั้งค่าเช่นบิตเรตวิดีโออัตราบิตเสียงและความละเอียด การเปลี่ยนแปลงเหล่านี้จะนำไปใช้กับสตรีมคุณภาพต่ำกว่าเท่านั้น หากต้องการเพิ่มคุณสมบัติเพิ่มเติมให้คัดลอกและวางบรรทัด exec FFmpeg และเปลี่ยนการตั้งค่า คุณจะต้องสร้างแอปพลิเคชันใหม่ คุณสามารถทำได้โดยการคัดลอกและวางตัวอย่าง live360 ที่รวมอยู่ อย่าลืมอัปเดตบรรทัด exec FFmpeg ด้วยที่อยู่ของแอปพลิเคชันใหม่ คุณสามารถทำได้โดยเปลี่ยนที่อยู่ RTMP สุดท้ายในบรรทัด exec FFmpeg

หมายเหตุ: การเปลี่ยนค่าหลังจาก-b:vจะเปลี่ยนบิตเรตวิดีโอ นี่คือหน่วยวัดเป็นกิโลบิตต่อวินาที การเปลี่ยนค่าหลังจาก-b:aจะเปลี่ยนบิตเรตเสียง นี่คือหน่วยวัดเป็นกิโลบิตต่อวินาที การเปลี่ยนค่าหลังจาก-sจะเปลี่ยนความละเอียด

บันทึกไฟล์โดยการกด+CTRLX

รีสตาร์ท Nginx

sudo service nginx restart

หมายเหตุ: เพื่อประสิทธิภาพที่ดีที่สุดแต่ละสตรีมที่ถูกแปลงควรมี CPU core ของตัวเอง ตัวอย่างเช่นหากสองคุณสมบัติคือ 360P และ 480P กำลังถูกสร้างจากสตรีม 720P ควรใช้อินสแตนซ์ Vultr ที่มีคอร์ CPU อย่างน้อยสองคอร์

หมายเหตุด้านความปลอดภัย

หากคุณใช้ไฟร์วอลล์คุณจะต้องแน่ใจว่าTCP 1935ได้รับอนุญาต

การกำหนดค่าปัจจุบันอนุญาตให้ทุกคนสามารถสตรีมไปยังเซิร์ฟเวอร์ของคุณได้ เราสามารถแก้ไขได้โดยให้ที่อยู่ IP บางแห่งได้รับอนุญาตให้เผยแพร่เท่านั้น เปิดการกำหนดค่า Nginx

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

มองหาบรรทัดต่อไปนี้

live on;
record off;

เพิ่มรายการต่อไปนี้ในแต่ละชุดของบรรทัดด้านบน เปลี่ยน0.0.0.0เป็นที่อยู่ IP จริงของคุณ

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

การกำหนดค่าจะมีลักษณะดังนี้

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;
        }
    }
}

บันทึกไฟล์โดยการกด+CTRLX

รีสตาร์ท Nginx

sudo service nginx restart

การกำหนดค่าซอฟต์แวร์ให้ทำงานกับ Nginx-RTMP

โดยทั่วไปแอปพลิเคชั่นสตรีมมิ่งจะมีสองฟิลด์สำหรับข้อมูลการเชื่อมต่อ โดยทั่วไปแล้วฟิลด์แรกจะใช้สำหรับข้อมูลเซิร์ฟเวอร์และฟิลด์ที่สองจะใช้สำหรับชื่อสตรีมหรือคีย์ ข้อมูลที่คุณควรใส่ลงในแต่ละฟิลด์จะแสดงรายการ ชื่อสตรีมหรือคีย์สามารถตั้งค่าเป็นอะไรก็ได้

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

ในการดูสตรีมให้เปิดลิงค์ต่อไปนี้ในเครื่องเล่นที่รองรับ RTMP

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

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true