Streamnik เซิร์ฟเวอร์โครงการเซิร์ฟเวอร์ IPTV ขึ้นอยู่กับตัวแปลงสัญญาณเปิด Ogg / Vorbis และ Ogg / Theora มันสามารถสตรีมจำนวนช่องทางที่แตกต่างกันและมีการเพิ่มประสิทธิภาพในการทำงานบนที่เช่า (เสมือน) เซิร์ฟเวอร์ ตารางโปรแกรมจะถูกกำหนดโดยตารางฐานข้อมูล SQL และสามารถเปลี่ยนแปลงได้ที่รันไทม์
ต้องการ:
·สามัญ C ++ กับ devel
· Mysql (mysqlclient)
การติดตั้ง:
ที่จะรวบรวมทุกอย่างทำงานตามปกติ:
./configure
ทำ
sudo ให้ติดตั้ง
สิ่งที่คุณจะต้องเริ่มต้นเซิร์ฟเวอร์:
Shorties: หนังสั้นสำหรับการจัดการข้อผิดพลาด
ตัวอย่าง: ตัวอย่างภาพยนตร์สั้น (เช่นโฆษณา - กระแสนี้ถูกนำเสนอโดย ... )
วิดีโอ: วิดีโอที่จะแสดงขึ้น
วิดีโอทั้งหมด Shorties และ prieviews ต้องตรงกับในเฟรม,
keyframe ไกล ฯลฯ
Shorties และการแสดงตัวอย่างจะถูกเก็บไว้จริงที่มีชื่อที่สำคัญและเป็นข้อมูลที่รวบรวม
ใน (รุ่นถัดไปอาจจะใช้รายการฐานข้อมูลสำหรับที่)
เริ่มต้น:
เพียงแค่เริ่มต้นเซิร์ฟเวอร์:
> StreamnikServer -d -u -p
และเข้าถึงเซิร์ฟเวอร์เช่น โดย mplayer:
> mplayer "http: // localhost: 12000 / video.ogg ช่อง = 1?"
อย่างไรก็ตาม befor ทั้งหมดที่คุณจำเป็นต้องตั้งค่าจำนวนของสิ่งที่เพิ่มเติม:
ฐานข้อมูล:
คุณจำเป็นต้องมีค่า SQL ฐานข้อมูลและทำงาน งบที่จะแสดงในตอนท้ายของเอกสารนี้
ชื่อฐานข้อมูลและรหัสผ่านที่สามารถเพิ่มในบรรทัดคำสั่ง
ไฟล์:
คุณต้องโครงสร้างแฟ้มต่อไปนี้ (สามารถเปลี่ยนแปลงได้ใน serverConfig.h):
บ้าน
> ที่ใช้ร่วมกัน
> OGG
> ชอร์ตี้
ไดเรกทอรี OGG ดำเนินไฟล์ทั้งหมดที่ควรจะสตรีม ไฟล์ทุกคนมีรายการที่สอดคล้องกันในฐานข้อมูล SQL ("วิดีโอ" ตาราง)
Shorties เป็น OGG ไฟล์ขนาดเล็กที่มีการแสดงให้เห็นถึงข้อผิดพลาด
shorty_1.ogg -> ไม่มีกระแสที่มีอยู่
shorty_2.ogg -> ไม่ได้รับอนุญาต
shorty_3.ogg -> หมดเวลาการสตรีมมิ่ง
shorty_4.ogg -> ฐานข้อมูลที่ไม่สามารถใช้ได้
จากนั้นคุณสามารถเพิ่มตัวอย่าง (หนังสั้น befor กระแสเดิมเช่นสำหรับเพิ่ม)
ไฟล์นี้จะต้องอยู่ในไดเรกทอรีชอร์ตี้ได้เป็นอย่างดีและได้รับการตั้งชื่อ
ตัวอย่าง _ *. OGG
ระบบจะไม่ได้มีความสุขถ้าพวกเขาไม่ได้อยู่ แต่จะเริ่มต้นขึ้น
ช่อง:
ช่องจะเปิดรายการในฐานข้อมูล SQL รายการนี้จริงจะต้องนำเสนอในการเริ่มต้น
สำหรับทุกช่องทางวัตถุ StreamCreator จะถูกสร้างขึ้นซึ่งจะส่งข้อมูลมันจะ multiplexer นี้จะจัดการกับการร้องขอของลูกค้าทั้งหมด
TcpListener (พอร์ต 12000) StreamSend (Client ที่ 1)
| | /
ไฟล์ -> StreamCreator -> Multiplexer ---> StreamSend (Client ที่ 2)
สตรีม 1 |
| -> StreamSend (Client ที่ 3)
|
การเข้าถึงฐานข้อมูล SQL |
^ | -> StreamSend (Client ที่ 4)
| | /
ไฟล์ -> StreamCreator -> Multiplexer ---> StreamSend (Client ที่ 5)
สตรีม 2 |
|
|
การเข้าถึงฐานข้อมูล SQL |
^ | ---> StreamSend (ไคลเอนต์ 6)
| | /
ไฟล์ -> StreamCreator -> Multiplexer ----> StreamSend (ไคลเอนต์ 7)
สตรีม 3
-> StreamSend (ไคลเอนต์ 8)
-> StreamSend (Client ที่ 9)
...
ตารางเรียน:
กำหนดการจะวางอยู่ในตาราง "" ตารางในฐานข้อมูล
("day_id" และ "วันที่" เป็นจริงไม่ได้ใช้งาน)
channel_id video_id และสอดคล้องกับรายการในตารางอื่น ๆ
ภาพยนตร์เรื่องนี้ทุกคนมีตำแหน่ง (ในวัน) วันเริ่มต้นที่ 04:00
รายการแรกภายในหนึ่งบล็อกของภาพยนตร์ควรจะทำเครื่องหมายที่มีสถานะ "1"
หากคุณมีภาพยนตร์ที่ไม่ได้เชื่อมต่ออย่างต่อเนื่องคุณควรเพิ่ม
"1" สถานะอีกครั้ง
************************************************** ****
* * * *
* การสร้างฐานข้อมูล SQL
* * * *
************************************************** ****
สร้างตาราง `schedule` (
`day_id` int (11) ไม่ได้ลงนามไม่ได้เริ่มต้นเป็นโมฆะ '0'
`date` varchar (8) ไม่เป็นโมฆะเริ่มต้น '',
`channel_id` int (11) ไม่ได้ลงนามไม่ได้เริ่มต้นเป็นโมฆะ '0'
`position` int (10) ไม่ได้ลงนามไม่ได้เริ่มต้นเป็นโมฆะ '0'
`video_id` int (10) ไม่ได้ลงนามไม่ได้เริ่มต้นเป็นโมฆะ '0'
`duration` int (10) ไม่ได้ลงนามไม่ได้เริ่มต้นเป็นโมฆะ '0'
`status` TINYINT (3) ไม่ได้ลงนามไม่ได้เริ่มต้นเป็นโมฆะ '0'
)
สร้างตาราง `videos` (
`id` int (10) ไม่ได้ลงนาม auto_increment ไม่โมฆะ
`owner` int (10) ไม่ได้ลงนามไม่ได้เริ่มต้นเป็นโมฆะ '0'
`title` varchar (80) ไม่เป็นโมฆะเริ่มต้น '',
`subtitle` varchar (80) ไม่เป็นโมฆะเริ่มต้น '',
`author` varchar (80) ไม่เป็นโมฆะเริ่มต้น '',
`copyright` varchar (160) ไม่ได้เริ่มต้นเป็นโมฆะ '',
`description` varchar (255) ไม่ได้เริ่มต้นเป็นโมฆะ '',
`time_added` int (10) ไม่ได้ลงนามไม่ได้เริ่มต้นเป็นโมฆะ '0'
`duration` int (10) ไม่ได้ลงนามไม่ได้เริ่มต้นเป็นโมฆะ '0'
`TINYINT ready` (1) ไม่ได้เริ่มต้นเป็นโมฆะ '0'
คีย์หลัก (`id`)
)
สร้างตาราง `channels` (
`id` int (11) ไม่ได้ลงนามไม่ได้เริ่มต้นเป็นโมฆะ '0'
`name` varchar (80) ไม่เป็นโมฆะเริ่มต้น '',
`owner` int (11) ไม่ได้เริ่มต้นเป็นโมฆะ '0'
`description` varchar (80) ไม่เป็นโมฆะเริ่มต้น '',
`TINYINT randomplay` (1) ไม่ได้เริ่มต้นเป็นโมฆะ '0'
คีย์หลัก (`id`)
)
มีอะไรใหม่ในรุ่นนี้:
·รุ่นนี้มีจำนวนมากของเอกสารใหม่สำหรับการตั้งค่าเซิร์ฟเวอร์
·ขณะนี้มีสคริปต์สามารถที่จะรวบรวมติดตั้งและตั้งค่าเซิร์ฟเวอร์ streamnik ในขั้นตอนเดียว
·การกำหนดค่าในขณะนี้สามารถทำได้โดยการตั้งค่าไฟล์ที่ถูกวางไว้ที่ /etc/streamnik.conf
·นอกจากนี้ยังมีบาง bugfixes เล็ก ๆ น้อย ๆ เช่นการแก้ไขสำหรับการรวบรวมภายใต้ลินุกซ์ที่แตกต่างกัน.
รายละเอียดซอฟแวร์:
ความคิดเห็นที่ไม่พบ