สร้างเซิร์ฟเวอร์สตรีมมิ่งวิดีโอสดของคุณเองด้วย Linux

เครื่องมือและไซต์สตรีมมิงแบบสดส่วนใหญ่ไม่เสียค่าใช้จ่ายสำหรับสาธารณะ แต่มักจะต้องการให้คุณสร้างบัญชี โดยให้ข้อมูลที่คุณอาจไม่ต้องการให้ปรากฏทางออนไลน์ พวกเขาสามารถ(can )เก็บเนื้อหาบางส่วนไว้เบื้องหลังโฆษณาและรวมข้อกำหนดในการให้บริการ(Service)ที่สร้างความสับสนซึ่งพวกเขาอาจไม่ยึดติดกับตัวเอง 

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

คิดไปข้างหน้า(Thinking Ahead)

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

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

คุณจะต้องหาว่าโปรโตคอลใดจะจัดการกับส่วนเสียงและวิดีโอของการสตรีม Real-Time Messaging Protocol ( RTMP ) เป็นตัวเลือกที่ดี แต่มีอย่างอื่น เช่นWebRTCที่อาจใช้งานได้ดีกว่าในสถานการณ์ของคุณ RTMPมีการสนับสนุนอย่างกว้างขวาง ดังนั้นเราจะเน้นที่บทความนี้

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

การติดตั้งเซิร์ฟเวอร์ Linux(Linux Server Setup)

Ubuntu Linuxเป็นรายการโปรดส่วนตัวของฉัน ดังนั้นมันจึงเป็นเวอร์ชันที่ฉันเลือกที่นี่ สำหรับผู้ที่ชื่นชอบตัวเลือกGUI สามารถใช้ (GUI)Ubuntu Desktopได้ 

  • เปิด ไฟ(Fire)ตัว ติดตั้ง Ubuntuและเลือกการตั้งค่าที่เหมาะสมกับความต้องการของคุณมากที่สุด คุณอาจต้องการตั้งค่าเครือข่ายแบบคงที่เนื่องจากจะใช้เป็นเซิร์ฟเวอร์
  • รีบูต(Reboot)ระบบหลังการติดตั้ง หากไม่ดำเนินการโดยอัตโนมัติ เมื่อ ระบบ Ubuntuบูทขึ้น ให้ติดตั้งการอัปเดตที่มีอยู่:
sudo apt update
sudo apt upgrade

เราจะใช้เว็บเซิร์ฟเวอร์ Nginx(Nginx web server)สำหรับเซิร์ฟเวอร์สตรีมมิ่งนี้ ติดตั้ง:

sudo apt install nginx

จัดหาโมดูลRTMP เพื่อให้ (RTMP)Nginxสามารถจัดการสตรีมสื่อของคุณได้:

sudo add-apt-repository universe
sudo apt install libnginx-mod-rtmp

ปรับการกำหนดค่าของ Nginx เพื่อให้สามารถรับและส่งกระแสข้อมูลสื่อของคุณได้

sudo nano /etc/nginx/nginx.conf

เพิ่มรหัสต่อไปนี้ที่ด้านล่างของไฟล์ปรับแต่ง:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

                application live {
                        live on;
                        record off;
                }
        }
}

บันทึกไฟล์กำหนดค่าเพราะเราจะใช้ในภายหลังเพื่อสร้างเซิร์ฟเวอร์การสตรีมที่ใช้งานได้

รีสตาร์ท Nginx(Restart Nginx)ด้วยการกำหนดค่าใหม่:

sudo systemctl restart nginx

การตั้งค่าซอฟต์แวร์สตรีมมิ่ง(Streaming Software Setup)

เซิร์ฟเวอร์พร้อมแล้ว ถึงเวลาตั้งค่าซอฟต์แวร์สตรีมมิงของคุณแล้ว ลองใช้Open Broadcaster Software (OBS) ในการรันทรูนี้ 

  • ไปที่ไซต์และเลือกบิลด์ สำหรับ Linux หลังจากเปิดตัวซอฟต์แวร์ ให้กำหนดค่าOBSด้วยการตั้งค่าที่ตรงกับฮาร์ดแวร์ของคุณมากที่สุด
  • เพิ่มแหล่งที่มา ของการสตรีมโดยคลิก + ใต้Source

  • เพื่อการทดสอบ ให้เลือกDisplay Captureและป้อนชื่อสำหรับแหล่งที่มา
  • คลิก ปุ่ม ตกลง(OK)และOBSจะจำลองเดสก์ท็อปของคุณ
  • ถัดไป คลิก แท็บ ไฟล์(File)และเลือก การ ตั้ง  ค่า(Settings)

ในส่วนสตรีมเลือกตั้งค่าประเภทสตรีมเป็นกำหนดเอง...(set Stream Type to Custom…)และป้อนURL ต่อไปนี้ ลงใน ฟิลด์ เซิร์ฟเวอร์(Server) :

rtmp://IPaddress/live 

แทนที่IPaddressให้ป้อนที่อยู่ IP ของเซิร์ฟเวอร์สตรีมมิ่งของคุณ

ตอนนี้สร้างสตรีมคีย์(Stream Key) ของคุณเอง แล้วป้อนลงใน กล่อง สตรีม(Stream)คีย์ ทำให้เป็นสิ่งที่คุณจะจดจำและจดบันทึกไว้ เพื่อเพิ่มความปลอดภัย ให้ทำเครื่องหมายที่ ช่อง Use authenticationและเพิ่มข้อมูลประจำตัวที่คุณต้องการ

เสร็จสิ้นด้วยApplyตามด้วยปุ่มOK

ตอนนี้ทุกอย่างควรได้รับการกำหนดค่าสำหรับการสตรีม ในการเริ่มสตรีมแรกของคุณ ให้กดปุ่มStream Nowปุ่มจะเปลี่ยนเป็นหยุดการสตรีม(Stop Streaming)ตราบใดที่ทุกอย่างทำอย่างถูกต้อง ตัวชี้วัดแบนด์วิดท์ของสตรีมของคุณจะปรากฏที่ด้านล่างของหน้าต่างOBS

เป็นผู้ดูคนแรกของคุณ(Be Your First Viewer)

มีเครื่องเล่นสื่อโอเพ่นซอร์สมากมายที่รองรับRTMPซึ่งเป็นที่รู้จักมากที่สุดคือVLC media player (VLC media player)ติดตั้งและเปิดใช้ซอฟต์แวร์นี้ คลิก แท็บ Mediaแล้วเลือกOpen Network Streamจากเมนู 

มี(Got)สตรีมคีย์(Stream Key)ของคุณ พร้อมใช้ ไหม พิมพ์เส้นทางไปยังสตรีมของคุณ และรวมสตรีมคีย์(Stream Key) ที่ คุณตั้งค่าไว้ก่อนหน้านี้ไว้ท้ายสุด ควรมีลักษณะดังนี้:

rtmp://IPaddress/live/SecretKey

คลิกเล่น(Play)และคุณจะได้รับการดูสดของสตรีมของคุณเอง

มาตรการเพิ่มเติม(Additional Measures)

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

โดยค่าเริ่มต้น ทุกคนสามารถดูสตรีมของคุณได้ ซึ่งอาจขัดต่อวัตถุประสงค์ในการสร้างเซิร์ฟเวอร์ตั้งแต่แรก คุณจะต้องตั้งค่าการเข้าถึงแบบจำกัดโดยใช้ไฟร์วอลล์Linux , .htaccess fileหรือการควบคุมการเข้าถึงในตัวในโมดูล(built-in access controls in the RTMP module) RTMP ทางเลือกนี้ขึ้นอยู่กับคุณ

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

กำหนด(Set)เส้นทางที่มีอยู่เพื่อให้Nginxเขียนลงไปได้ ป้อนต่อไปนี้:

แอปพลิเคชั่นสด { (application live {)
             สดบน; (             live on;)
             บันทึกทั้งหมด; (             record all;)
             record_path /var/www/html/recordings;
             บันทึก_unique บน; (             record_unique on;)
}

นั่นคือทั้งหมดที่คุณต้องการเมื่อตั้งค่าเซิร์ฟเวอร์สตรีมมิงแบบสดโดยใช้Ubuntu Linux(Ubuntu Linux OS) OS หากคุณสนใจเซิร์ฟเวอร์สตรีมมิ่งสื่อที่ไม่ใช่แบบสดมากกว่า ฉันขอแนะนำให้ใช้Plexแทน OBS



About the author

ฉันเป็นผู้เชี่ยวชาญด้านคอมพิวเตอร์และทำงานกับคอมพิวเตอร์มาหลายปีแล้ว ฉันมีประสบการณ์กับทั้ง Apple iPhone และ Microsoft Windows 10 ทักษะของฉัน ได้แก่ การใช้คอมพิวเตอร์เพื่อสร้าง เข้ารหัส และจัดเก็บข้อมูล การค้นหาและแก้ไขข้อบกพร่องในซอฟต์แวร์ และการแก้ไขปัญหา ฉันมีความรู้ในทุกด้านของการใช้คอมพิวเตอร์ รวมถึง Apple iOS, Microsoft Windows 10, การป้องกันแรนซัมแวร์ และอื่นๆ ฉันมั่นใจว่าทักษะของฉันจะเป็นประโยชน์ต่อธุรกิจหรือองค์กรของคุณ



Related posts