เครื่องมือและเว็บไซต์ Live Streaming ส่วนใหญ่ฟรีสำhesesสาธารณะ แต่พวกเขมักต้องการให้คุณสร้างบัญชี ให้ข้อมูลที่คุณอาจไม่อยากให้ปรากฏออนไลน์ พวกเขา สามารถ จับเนื้อหาบางส่วนไว้หลังโฆษณา และรวม Terms of Service ที่สับสนซึ่งพวกเขาอาจไม่ยึดติดปฏิบัติด้วยตัวเอง
มีผู้ที่เพลิดเพลินกับความสามารถในการสตรีมแบบสด แต่ไม่จำเป็นต้องให้วิดีโอของพวกเขาเข้าถึงได้โดยสาธารณะ แทนที่จะเป็นเช่นนั้น พวกเขาชอบมีการควบคุมมากขึ้นเกี่ยวกับสตรีมและเนื้อหาที่พวกเขาผลิต ซอฟต์แวร์โอเพนซอร์สอย่าง Linux เป็นคำตอบที่ดีที่สุดสำหรับอุปสรรคนี้
การคิดล่วงหน้า (Thinking Ahead)
ก่อนที่คุณจะเริ่มตั้งค่า Streaming Server ส่วนตัวของคุณ คุณควรถามตัวเองหลายคำถาม แรก คุณมองหาคุณภาพสตรีมระดับไหน? ต่อมา คุณคาดว่าจะมีผู้ชมกี่คน? คุณจะเก็บเนื้อหาสตรีมทั้งหมดไว้ที่ไหน? ใครจะมีสิทธิ์เข้าถึงเนื้อหานั้น?
System Requirements ก็สามารถมองว่าเป็นข้อกังวลได้ แต่ไม่มีกฎเกณฑ์แน่ชัดว่าคุณจะต้องการอะไรพอดี ดังนั้นลองทดลองดูว่าอะไรเหมาะสมที่สุดสำหรับเป้าหมายของคุณ
คุณจะต้องระบุว่า Protocol ไหนจะจัดการส่วน Audio และ Video ของการสตรีม Real-Time Messaging Protocol (RTMP) เป็นตัวเลือกที่ดี แต่มีอื่นๆ เช่น WebRTC ที่อาจทำงานได้ดีกว่าในสถานการณ์ของคุณ RTMP มีการสนับสนุนกว้างขวาง ดังนั้นเราจะเน้นที่มันในบทความนี้
อีกสิ่งที่ต้องกังวลคือความล่าช้าที่อาจเกิดขึ้นใน "Live" Streaming ของคุณ แค่คุณ Go Live ไม่ได้หมายความว่าทุกอย่างจะเสร็จสมบูรณ์ Video Streams ต้อง被编码 (encoded), ถ่ายโอน (transferred), Buffered และแสดง (displayed) ดังนั้นคาดหวังความจำเป็นในการปรับแต่ง Attributes ของสตรีมเล็กน้อย
การตั้งค่า Linux Server
Ubuntu Linux เป็นตัวเลือกส่วนตัวของผม ดังนั้นจะเป็นเวอร์ชันที่เลือกที่นี่ สำหรับผู้ที่ชอบตัวเลือก GUI Ubuntu Desktop พร้อมใช้งาน
- เปิดตัวติดตั้ง Ubuntu และเลือก Settings ที่เหมาะกับความต้องการของคุณ คุณอาจจะต้องการตั้งค่า Network แบบ Static เนื่องจากมันจะถูกใช้เป็น Server
- รีบูทระบบหลังการติดตั้งหากไม่ทำอัตโนมัติ เมื่อระบบ Ubuntu บูทแล้ว ให้ติดตั้งอัปเดตที่มีอยู่:
sudo apt update
sudo apt upgrade
เราจะใช้ Nginx Web Server สำหรับ Streaming Server นี้ ติดตั้งมัน:
sudo apt install nginx
ดาวน์โหลด RTMP Module เพื่อให้ Nginx จัดการ Media Stream ของคุณได้:
sudo add-apt-repository universe
sudo apt install libnginx-mod-rtmp
ปรับ Configuration ของ Nginx ให้สามารถรับและส่ง Media Stream ของคุณได้
sudo nano /etc/nginx/nginx.conf
เพิ่มโค้ดต่อไปนี้ลงท้ายไฟล์ Config:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
บันทึกไฟล์ Config เราจะใช้มันต่อไปเพื่อสร้าง Streaming Server ที่ทำงานได้
รีสตาร์ท Nginx ด้วย Configuration ใหม่:
sudo systemctl restart nginx
การตั้งค่า Streaming Software
Server พร้อมแล้ว ตอนนี้ถึงเวลาตั้งค่า Streaming Software ของคุณ มาใช้ Open Broadcaster Software (OBS) ในรันนี้
- ไปที่เว็บไซต์และเลือก Build สำหรับ Linux หลังจากซอฟต์แวร์เปิด ให้กำหนดค่า OBS ด้วย Settings ที่ตรงกับฮาร์ดแวร์ของคุณมากที่สุด
- เพิ่ม Streaming Source โดยคลิก + ภายใต้ Source
- เพื่อทดสอบ ให้เลือก Display Capture และป้อนชื่อสำหรับ Source
- คลิกปุ่ม OK และ OBS จะ Mirror เดสก์ท็อปของคุณ
- ต่อไป คลิกแท็บ File และเลือก Settings
ในส่วน Stream ให้เลือก set Stream Type to Custom... และป้อน URL ต่อไปนี้ลงในช่อง Server:
rtmp://IPaddress/live
แทนที่ IPaddress ด้วย IP Address ของ Streaming Server ของคุณ
ตอนนี้สร้าง Stream Key ของคุณเองและป้อนลงในกล่อง Stream Key ทำให้มันเป็นสิ่งที่คุณจะจำได้และเขียนไว้ เพื่อความปลอดภัยเพิ่มเติม ให้ติ๊กกล่อง Use authentication และเพิ่ม Credentials ที่คุณชอบ
เสร็จสิ้นด้วย Apply ตามด้วยปุ่ม OK
ทุกอย่างควรจะถูกกำหนดค่าสำหรับ Streaming แล้ว เพื่อเริ่มสตรีมครั้งแรก ให้กดปุ่ม Stream Now ปุ่มจะเปลี่ยนเป็น Stop Streaming ตราบใดที่ทุกอย่างทำถูกต้อง Metrics Bandwidth ของสตรีมของคุณจะปรากฏที่ด้านล่างของหน้าต่าง OBS
เป็นผู้ชมคนแรกของคุณเอง
มี Open Source Media Players มากมายที่รองรับ RTMP ซึ่งดังที่สุดคือ VLC Media Player ติดตั้งและเปิดซอฟต์แวร์นี้ คลิกแท็บ Media และเลือก Open Network Stream จากเมนู
มี Stream Key ของคุณพร้อมไหม? พิมพ์ Path ไปยังสตรีมของคุณ และรวม Stream Key ที่คุณตั้งค่าไว้ก่อนหน้านี้ ไปที่ท้ายมัน ควรจะมีลักษณะแบบนี้:
rtmp://IPaddress/live/SecretKey
คลิก Play และคุณจะได้มุมมอง Live ของสตรีมของคุณเอง
มาตรการเพิ่มเติม
ตอนนี้พื้นฐานได้รับการทำสำเร็จแล้ว การจำกัดการเข้าถึง Streaming Server ของคุณ และความสามารถในการบันทึกและบันทึกวิดีโอของคุณ เป็นสองปัจจัยเพิ่มเติมที่คุณอาจสนใจ
โดยค่าเริ่มต้น ใครก็ตามสามารถดูสตรีมของคุณได้ อาจขัดต่อวัตถุประสงค์ในการสร้าง Server ตั้งแต่แรก คุณจะต้องตั้งค่าการเข้าถึงจำกัดโดยใช้ Linux Firewall, ไฟล์ .htaccess หรือ Built-in Access Controls ใน RTMP Module ตัวเลือกนี้มอบให้คุณ
Nginx Configuration ที่ให้มาที่นี่จะทำให้คุณสตรีมวิดีโอได้ แต่ไม่สามารถบันทึกได้ เพื่อเพิ่มตัวเลือก Storage ใน Nginx Config เพียงแค่ด้านล่าง Section RTMP คุณสามารถตั้งค่าตัวเลือกการบันทึกสตรีมและระบุตำแหน่งที่คุณต้องการให้เนื้อหาถูกบันทึกและจัดเก็บ
ตั้งค่า Existing Path เพื่ออนุญาตให้ Nginx เขียนได้ ป้อนข้อมูลต่อไปนี้:
application live {
live on;
record all;
record_path /var/www/html/recordings;
record_unique on;
}
นี่คือทั้งหมดที่คุณควรต้องการเมื่อตั้งค่า Live Streaming Server โดยใช้ Ubuntu Linux OS หากคุณสนใจ Non-live Media Streaming Server มากกว่า ผมจะแนะนำให้ใช้ Plex แทน OBS