ติดตั้ง Nginx-RTMP บน Ubuntu 14.04

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

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

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

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

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

mkdir ~/working
cd ~/working

ดาวน์โหลดซอร์ส Nginx และ Nginx-RTMP

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

ติดตั้งแพคเกจ Unzip

sudo apt-get install unzip

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

tar -zxvf nginx-1.7.5.tar.gz
unzip master.zip

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

cd nginx-1.7.5

เพิ่มโมดูลที่ Nginx จะถูกคอมไพล์ด้วย Nginx-RTMP รวมอยู่ด้วย

./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master

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

make
sudo make install

ติดตั้งสคริปต์เริ่มต้น Nginx

sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
sudo update-rc.d nginx defaults

เริ่มต้นและหยุด Nginx เพื่อสร้างไฟล์กำหนดค่า

sudo service nginx start
sudo service nginx stop

การติดตั้ง FFmpeg

เพิ่ม FFmpeg PPA

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next

อัพเดตรายการแพ็กเกจ

sudo apt-get update

ติดตั้ง FFmpeg

sudo apt-get install ffmpeg

หมายเหตุ: คำสั่ง apt-add-repository อาจไม่ได้รับการติดตั้งในบางกรณี sudo apt-get install software-properties-commonการติดตั้งมันทำงาน

การกำหนดค่า 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จะเปลี่ยนความละเอียด

บันทึกไฟล์โดยกด Control และ X พร้อมกัน รีสตาร์ท Nginx

sudo service nginx restart

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

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

หากคุณใช้ไฟร์วอลล์คุณจะต้องตรวจสอบให้แน่ใจว่าอนุญาตให้ใช้ 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;
        }
    }
}

บันทึกไฟล์โดยกด Control และ X พร้อมกัน รีสตาร์ท 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

การตั้งค่าเครื่องเล่นเพื่อแสดงวิดีโอสดบนเว็บไซต์นั้นอยู่นอกเหนือขอบเขตของคู่มือนี้ การค้นหาคำว่า 'RTMP web player' อาจช่วยคุณได้



Leave a Comment

วิธีการติดตั้ง 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