โลโก้ Nginx RTMP
Media และ StreamingBSD 2-Clause (โอเพนซอร์ส)

Nginx RTMP คืออะไร และวิธีติดตั้งบน Cloud Server

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

หมวดหมู่
Media และ Streaming
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 4 GB
ไลเซนส์
BSD 2-Clause (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Nginx RTMP คืออะไร

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

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

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

แผนผังการวางระบบ Nginx RTMP บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 1935, 443 ตัว Nginx RTMP และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 4 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Nginx RTMP ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Nginx RTMP

ส่งต่อไปหลายแพลตฟอร์มพร้อมกัน

ส่งสัญญาณขึ้นครั้งเดียวแล้วกระจายต่อได้หลายที่

แปลงเป็นรูปแบบที่เบราว์เซอร์เล่นได้

ผู้ชมดูได้โดยไม่ต้องติดตั้งโปรแกรมเพิ่ม

ใช้ทรัพยากรน้อย

เป็นโมดูลของ Nginx จึงเบากว่าระบบสตรีมมิงเต็มรูปแบบ

บันทึกการถ่ายทอดได้

เก็บไฟล์ไว้เผยแพร่ย้อนหลังโดยอัตโนมัติ

ควบคุมได้ทุกจุด

ปรับการตั้งค่าได้ละเอียดเพราะเป็นการตั้งค่าผ่านไฟล์

ใช้ Nginx RTMP ทำอะไรได้บ้าง

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

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Nginx RTMP 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 60 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 16 GB ขึ้นไป ดิสก์ NVMe 500 GB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นส่งต่อสัญญาณโดยไม่แปลงความละเอียด2 vCPU4 GBNVMe 60 GB
แนะนำแปลงหลายความละเอียดและบันทึกไฟล์4 vCPU8 GBNVMe 200 GB
ใช้งานหนักหลายช่องพร้อมกันและมีผู้ชมจำนวนมาก8 vCPU ขึ้นไป16 GB ขึ้นไปNVMe 500 GB ขึ้นไป

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Nginx RTMP บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Nginx ที่คอมไพล์พร้อมโมดูล RTMP
  • FFmpeg สำหรับแปลงความละเอียด
  • แบนด์วิดท์ที่เพียงพอกับจำนวนผู้ชม
  • พื้นที่ดิสก์ถ้าต้องบันทึกการถ่ายทอด

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ติดตั้ง Nginx พร้อมโมดูล

    sudo apt update
    sudo apt -y install nginx libnginx-mod-rtmp ffmpeg
  2. 2

    ตั้งค่ารับสัญญาณและแปลงเป็นรูปแบบที่เบราว์เซอร์เล่นได้

    # /etc/nginx/nginx.conf
    rtmp {
      server {
        listen 1935;
        chunk_size 4096;
    
        application live {
          live on;
          record off;
          allow publish 203.0.113.50;
          deny publish all;
    
          hls on;
          hls_path /var/www/hls;
          hls_fragment 3s;
          hls_playlist_length 60s;
        }
      }
    }
  3. 3

    เปิดให้ผู้ชมดูผ่าน HTTPS

    location /hls {
      types {
        application/vnd.apple.mpegurl m3u8;
        video/mp2t ts;
      }
      root /var/www;
      add_header Cache-Control no-cache;
      add_header Access-Control-Allow-Origin *;
    }
  4. 4

    ตั้งการส่งต่อไปแพลตฟอร์มอื่น

    เพิ่มปลายทางที่ต้องการส่งต่อในส่วนของแอปพลิเคชัน ทำให้ส่งสัญญาณขึ้นครั้งเดียวแล้วกระจายไปหลายที่

    application live {
      live on;
      push rtmp://a.rtmp.example-platform.com/live/STREAM_KEY;
      push rtmp://live-api.another-platform.com/rtmp/STREAM_KEY;
    }
  5. 5

    เปิดการบันทึกถ้าต้องการ

    application live {
      record all;
      record_path /var/recordings;
      record_unique on;
    }
  6. 6

    ทดสอบด้วย OBS

    # ค่าที่ใส่ใน OBS
    Server: rtmp://live.example.com/live
    Stream Key: ตั้งชื่อช่องที่ต้องการ

ต้องจำกัดว่าไอพีใดส่งสัญญาณเข้ามาได้เสมอ มิฉะนั้นใครก็ตามที่รู้ที่อยู่เซิร์ฟเวอร์จะส่งสัญญาณเข้ามาถ่ายทอดในนามของคุณได้

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
1935TCPรับสัญญาณถ่ายทอดสด (จำกัดไอพีที่ส่งเข้ามาได้)
443TCPHTTPS สำหรับผู้ชม

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

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

ทำไมควรรัน Nginx RTMP บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

รันบน Cloud Server ในไทย ทำให้ผู้ชมในประเทศได้ความหน่วงต่ำ

ประหยัดแบนด์วิดท์ขาขึ้นของผู้ถ่ายทอดเพราะส่งขึ้นครั้งเดียวแล้วกระจายต่อ

ใช้ร่วมกับ Cloud CDN เพื่อรองรับผู้ชมจำนวนมาก

คำถามที่พบบ่อยเกี่ยวกับ Nginx RTMP

Nginx RTMP ต่างจาก Owncast อย่างไร

Owncast มีหน้าจอจัดการและหน้าผู้ชมมาให้พร้อม ติดตั้งเสร็จใช้ได้เลย ส่วน Nginx RTMP เป็นเพียงโมดูลที่รับและกระจายสัญญาณ ต้องทำหน้าเว็บเอง แต่เบากว่าและควบคุมได้ละเอียดกว่า

ส่งไปหลายแพลตฟอร์มพร้อมกันได้จริงไหม

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

ความหน่วงเท่าไหร่

รูปแบบที่เบราว์เซอร์เล่นได้โดยตรงมีความหน่วงประมาณสิบถึงสามสิบวินาทีตามค่าที่ตั้ง ถ้าต้องการความหน่วงต่ำมากสำหรับการโต้ตอบ ควรใช้ระบบที่รองรับโปรโตคอลความหน่วงต่ำอย่าง Ant Media แทน

ให้เราติดตั้ง Nginx RTMP ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด