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

HTTP Live Streaming (HLS) เป็นโปรโตคอลการสตรีมวิดีโอที่มีประสิทธิภาพสูงที่พัฒนาโดย Apple Inc. ซึ่งสามารถรับชมผ่านระบบ CDN ได้อย่างง่ายดาย โดย HLS ช่วยให้ผู้ชมสามารถเข้าถึงเนื้อหาวิดีโอได้จากทุกที่ โดยไม่ต้องกังวลเกี่ยวกับ Firewall และ Proxy ต่าง ๆ

1. ข้อมูลเบื้องต้นเกี่ยวกับ HLS

HLS ใช้เทคโนโลยี HTTP ซึ่งทำให้สามารถกระจายเนื้อหาได้อย่างมีประสิทธิภาพและสามารถเข้าถึงกลุ่มผู้ชมจำนวนมากได้มากกว่า RTP หรือ UDP นอกจากนี้ HLS ยังมีความสามารถในการรองรับการบันทึกวิดีโอในรูปแบบ VOD ที่สามารถดึงข้อมูลได้ตามต้องการ

2. ความต้องการในการตั้งค่า

ก่อนเริ่มการตั้งค่าให้ตรวจสอบให้แน่ใจว่า:

  1. ติดตั้ง Ubuntu 14.04 หรือสูงกว่า
  2. มีการเชื่อมต่ออินเทอร์เน็ต
  3. เข้าถึง VPS โดยใช้ SSH

3. ตั้งค่า Nginx-RTMP บน Ubuntu

ให้เริ่มต้นด้วยการดึงคำแนะนำจาก การตั้งค่า Nginx-RTMP บน Ubuntu

โปรดทราบว่าอาจแนะนำให้ใช้ Nginx รุ่นล่าสุด nginx-1.9.4 หรือสูงกว่า และควรรวมโมดูลสถานะ HTTP stub เพื่อทำให้การตรวจสอบสตรีมแบบ HLS ของคุณง่ายขึ้น

4. ขั้นตอนการติดตั้ง Nginx และ RTMP Module

sudo apt-get update
sudo apt-get install build-essential libssl-dev libcurl4-openssl-dev libxml2-dev
sudo apt-get install ffmpeg
# รวม RTMP โมดูล
git clone https://github.com/arut/nginx-rtmp-module.git
cd nginx-rtmp-module
./configure --with-http_ssl_module --with-http_stub_status_module --add-module=../nginx-rtmp-module
make
sudo make install

5. การสร้างโครงสร้างโฟลเดอร์

sudo mkdir /HLS
sudo mkdir /HLS/live
sudo mkdir /HLS/mobile
sudo mkdir /video_recordings
sudo chmod -R 777 /video_recordings

6. กำหนดค่า Firewall

เปิดไฟร์วอลล์เพื่ออนุญาตให้ traffic ถึงพอร์ตที่ใช้ Nginx:

sudo ufw limit ssh
sudo ufw allow 80
sudo ufw allow 1935
sudo ufw enable

7. กำหนดค่า Nginx สำหรับ HLS

แก้ไขไฟล์ nginx.conf:

# แนะนำการตั้งค่าต่อไปนี้
worker_processes  1;
error_log  logs/error.log debug;
events {
    worker_connections  1024;
}
rtmp {
    server {
        listen 1935;
        allow play all;
        application live {
            allow play all;
            live on;
            record all;
            record_path /video_recordings;
            record_unique on;
            hls on;
            hls_nested on;
            hls_path /HLS/live;
            hls_fragment 10s;
        }
        application mobile {
            allow play all;
            live on;
            hls on;
            hls_nested on;
            hls_path /HLS/mobile;
            hls_fragment 10s;
        }
        application vod {
            play /video_recordings;
        }
    }
}
http {
    include mime.types;
    default_type  application/octet-stream;
    server {
        listen 80;
        server_name your-ip;
        location /live {
            types { application/vnd.apple.mpegurl m3u8; }
            alias /HLS/live;
            add_header Cache-Control no-cache;
        }
        location /mobile {
            types { application/vnd.apple.mpegurl m3u8; }
            alias /HLS/mobile;
            add_header Cache-Control no-cache;
        }
        location /stats {
            stub_status;
        }
        location / {
            root   html;
            index  index.html index.htm;
        }
    }
}

บันทึกการเปลี่ยนแปลง:

sudo service nginx restart

8. การทดสอบสตรีมของคุณ

  1. เริ่มต้นโปรแกรมเข้ารหัสของคุณ
  2. ตรวจสอบการทำงานของการสตรีมที่ http://your-ip/live/your-stream-key/index.m3u8
  3. ใช้ VLC Player ทดลองเล่น URL ของคุณเพื่อดูการสตรีมสด

9. สรุป

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

10. เรียนรู้เพิ่มเติมเกี่ยวกับ HLS

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการสตรีม HLS โปรดเช็ค Wowza's Blog ที่ให้ข้อมูลเชิงลึกเกี่ยวกับเทคโนโลยี HLS



5 Comments

  1. มีน -

    สุดยอดไปเลย! อยากให้มีตัวอย่างการตั้งค่า HLS ให้ดูมากกว่านี้นะครับ อาจจะมีนิดๆ หน่อยๆ ที่ผมไม่เข้าใจ

  2. พีท IT -

    ใครมีปัญหาในขั้นตอนการตั้งค่าสามารถถามได้นะครับ ผมผ่านการทำแบบนี้มาก่อนแนะนำได้

  3. นกน้อย -

    มีใครลองใช้ Configuration เพื่อลด Latency ของ HLS บ้างครับ? แนะนำหน่อยครับ ขอบคุณ

  4. คิง -

    กำลังศึกษาอยู่ พอเห็นว่ามีการใช้ HLS ทำให้คิดอยากลองทำสตรีมวิดีโอบ้าง หากมีคำแนะนำเพิ่มเติมจะขอบคุณมากครับ

  5. ปาย -

    ใครบอกว่า Nginx ยากจริงเหรอ? ผมทำได้โดยไม่ต้องเครียด ขอบคุณบทความนี้ที่ทำให้ทุกอย่างชัดเจน!

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