


ระบบ IPTV Streaming สำหรับองค์กรและสถาบัน
ระบบ IPTV ที่เราพัฒนาออกแบบมาเพื่อให้สามารถ ถ่ายทอดสัญญาณโทรทัศน์หรือสัญญาณวิดีโอจาก MCR (Master Control Room) ไปยังผู้ชมปลายทาง ผ่าน Streaming Server (nginx-rtmp) และ Android Box ได้อย่างมีประสิทธิภาพ
สัญญาณวิดีโอจากแหล่งต้นทาง เช่น ช่องทีวี หรือกล้องสด จะถูกส่งเข้ามาทาง **SDI (Serial Digital Interface)** ผ่านเครื่อง **Encoder** ซึ่งจะแปลงสัญญาณภาพเป็นสตรีมดิจิทัล แล้วส่งต่อไปยัง **Streaming Server** เพื่อกระจายสัญญาณแบบ Real-time ให้ผู้ชมในเครือข่าย IPTV ได้รับชมพร้อมกัน
Actors (ผู้มีส่วนเกี่ยวข้อง)
ผู้ดูแลระบบ (System Administrator) – ตั้งค่าและดูแล Encoder / Streaming Server / Network
เจ้าหน้าที่ MCR (MCR Operator) – ส่งสัญญาณ SDI จากห้องควบคุมเข้าสู่ระบบ
ผู้ใช้งานปลายทาง (End User) – รับชมผ่าน Android Box หรืออุปกรณ์ IPTV อื่น ๆ
อุปกรณ์ Encoder – ทำหน้าที่แปลงสัญญาณภาพจาก SDI → RTMP/HLS
Streaming Server (nginx-rtmp) – ทำหน้าที่กระจายสัญญาณไปยังผู้รับชม
Use Case หลัก
การส่งสัญญาณจาก MCR เข้าระบบ
MCR Operator
เจ้าหน้าที่ส่งสัญญาณจากแหล่งออกอากาศ (TV, Camera Feed) เข้าสู่ **Encoder** ผ่านพอร์ต SDI เพื่อให้ระบบสามารถเข้ารหัสสัญญาณและส่งขึ้น Streaming Server
1. เปิดอุปกรณ์ Encoder
2. เลือกช่องสัญญาณ SDI Input
3. ตั้งค่า Bitrate และความละเอียด (Resolution)
4. Encoder ส่งข้อมูลสตรีมไปยัง rtmp://streamingserver/live/channel1
การเข้ารหัสและส่งต่อสัญญาณ (Encoding & Uplink)
Encoder
Encoder จะเข้ารหัสสัญญาณวิดีโอเป็นรูปแบบที่เหมาะสม เช่น **H.264 + AAC** และส่งผ่านโปรโตคอล RTMP ไปยัง nginx-rtmp
1. รับสัญญาณ SDI Input
2. แปลงเป็น Digital Stream
3. เข้ารหัสเป็น H.264 (Video) และ AAC (Audio)
4. ส่งออก RTMP Stream ไปยัง Streaming Server
การกระจายสัญญาณผ่าน Streaming Server
Streaming Server (nginx-rtmp)
Streaming Server รับ Stream จาก Encoder และกระจายให้ผู้ชมปลายทางผ่าน **HLS/RTMP/HTTP-FLV**
1. nginx-rtmp รับ Stream จาก Encoder
2. แปลงเป็น Playlist (.m3u8) สำหรับ HLS
3. จัดเก็บ Segment Files (.ts)
4. กระจาย Stream ไปยังผู้ใช้งานผ่าน URL เช่น https://iptv.smartclick.co.th/live/channel1.m3u8
การรับชมผ่าน Android Box
End User (ผ่าน Android Box)
ผู้ใช้สามารถเปิดแอป IPTV ที่ติดตั้งบน Android Box เพื่อเลือกช่องที่ต้องการดู
1. เปิดแอป IPTV
2. แอปโหลดรายการช่องจาก API เช่น /api/channels
3. ผู้ใช้เลือกช่อง
4. Android Box ดึงสัญญาณจาก HLS URL
5. เล่นสัญญาณผ่าน Video Player (ExoPlayer หรือ VLC)
การตรวจสอบสถานะระบบ
System Administrator
ผู้ดูแลสามารถตรวจสอบสถานะ Encoder, Streaming Server, และ Bandwidth ผ่านระบบ Monitor เช่น Prometheus, Grafana หรือ Nginx-RTMP-Stats
1. เข้าสู่ระบบ Monitoring Dashboard
2. ดูสถานะการเชื่อมต่อแต่ละ Channel
3. ตรวจสอบค่าการส่งข้อมูล (Bitrate / Delay / Dropped Frame)
4. แจ้งเตือนเมื่อเกิดปัญหา Stream Down