ติดตั้ง 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

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

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน