پروژه و سرور Streamnik سرور IPTV بر اساس کدک باز OGG / Vorbis و OGG / Theora است. این می تواند تعدادی از کانال های مختلف جریان و بهینه سازی شده است به اجرا در اجاره (مجازی) سرور. برنامه برنامه توسط یک جدول پایگاه داده SQL تعریف شده و می تواند در زمان اجرا تغییر کرده است.
مورد نیاز:
· مشترک C ++ با DEVEL
· خروجی زیر (mysqlclient)
نصب و راه اندازی:
برای کامپایل، همه چیز به طور معمول کار می کند:
./configure
ساخت
کد: sudo را نصب
آنچه شما نیاز دارید برای شروع سرور:
shorties: فیلم های کوتاه برای رفع خطا
پیش نمایش: فیلم پیش نمایش کوتاه (به عنوان مثال تبلیغات - این جریان است که توسط ... ارائه شده است)
فیلم: فیلم ها را به نشان می دهد تا
تمام فیلم ها، shorties و prieviews باید در فریم مطابقت،
کلیدی از راه دور و غیره
shorties و پیش نمایش در واقع با یک نام کلید ذخیره سازی و وارد
در (نسخه بعدی ممکن است یک پایگاه داده برای ورود استفاده کنید که)
شروع:
فقط شروع به سرور:
> StreamnikServer -d -u -p
و دسترسی به سرور به عنوان مثال توسط mplayer را:
> mplayer را "از http: // localhost را: 12000 / video.ogg کانال = 1؟"
با این حال، قبل از همه از آن، شما نیاز به راه اندازی تعدادی از چیزهای اضافی:
پایگاه داده:
شما نیاز به یک SQL پایگاه داده و در حال اجرا. بیانیه در پایان این سند نشان داده شده است.
نام پایگاه داده و رمز عبور را می توان در خط فرمان اضافه شده است.
فایل ها:
شما نیاز به ساختار فایل زیر (را می توان در serverConfig.h تغییر):
خانه
> به اشتراک گذاشته
> OGG
> خپله
دایرکتوری OGG حمل تمام فایل ها، که باید جریان. هر فایل دارای یک ورودی متناظر در پایگاه داده SQL ("فیلم" جدول).
shorties فایل های کوچک می OGG که در خطا نشان داده شده است.
shorty_1.ogg -> هیچ جریان در دسترس
shorty_2.ogg -> دسترسی های غیر مجاز
shorty_3.ogg -> جریان ایست
shorty_4.ogg -> پایگاه داده در دسترس نیست
سپس شما می توانید پیش نمایش (فیلم کوتاه قبل از جریان اصلی، به عنوان مثال برای اضافه می کند) اضافه
این فایل باید در دایرکتوری خپله قرار داده و همچنین و به نام
پیش نمایش _ *. OGG.
سیستم نمی خواهد خوشحال اگر آنها حاضر نمی شود، اما آغاز خواهد شد
کانال ها:
کانال های ورود در پایگاه داده SQL افتتاح شد. این مطلب در واقع باید حضور در هنگام راه اندازی می شود.
برای هر کانال، یک شیء StreamCreator ایجاد خواهد شد، که داده های آن را به یک Multiplexer استفاده ارسال خواهد شد. این پس از آن رسیدگی به تمام درخواست مشتری خواهد شد.
TcpListener (پورت 12000) StreamSend (کارفرما 1)
| | /
فایل -> StreamCreator -> Multiplexer استفاده ---> StreamSend (کارفرما 2)
جریان: 1 |
| -> StreamSend (کارفرما 3)
|
دسترسی به پایگاه داده SQL |
^ | -> StreamSend (کارفرما 4)
| | /
فایل -> StreamCreator -> Multiplexer استفاده ---> StreamSend (کارفرما 5)
جریان 2 |
|
|
دسترسی به پایگاه داده SQL |
^ | ---> StreamSend (کارفرما 6)
| | /
فایل -> StreamCreator -> Multiplexer استفاده ----> StreamSend (کارفرما 7)
جریان 3
-> StreamSend (کارفرما 8)
-> StreamSend (کارفرما 9)
...
برنامه:
برنامه را به "برنامه" جدول در پایگاه داده قرار می گیرد.
("day_id" و "تاریخ" در واقع استفاده نمی کنید)
channel_id و video_id به ورودی در جداول دیگر مطابقت دارد.
هر فیلم یک موقعیت (در یک روز). یک روز در 04:00 شروع می شود.
ورود اولین در یک بلوک از فیلم باید با وضعیت "1" مشخص شده اند.
اگر شما یک فیلم است، که به طور مداوم متصل نیست، شما باید اضافه کنید
"1" وضعیت دوباره.
************************************************** ****
* * * *
* ایجاد پایگاه داده SQL
* * * *
************************************************** ****
CREATE TABLE `schedule` (
`اعضای هیات day_id` (11) بدون علامت NOT NULL به طور پیش فرض '0'،
`date` varchar و (8) NOT NULL به طور پیش فرض ''،
`اعضای هیات channel_id` (11) بدون علامت NOT NULL به طور پیش فرض '0'،
`اعضای هیات position` (10) بدون علامت NOT NULL به طور پیش فرض '0'،
`اعضای هیات video_id` (10) بدون علامت NOT NULL به طور پیش فرض '0'،
`اعضای هیات duration` (10) بدون علامت NOT NULL به طور پیش فرض '0'،
`status` tinyint (3) بدون علامت NOT NULL به طور پیش فرض '0'
)
CREATE TABLE `videos` (
`اعضای هیات id` (10) بدون علامت NOT NULL auto_increment،
`owner` اعضای هیات (10) بدون علامت NOT NULL به طور پیش فرض '0'،
`varchar و title` (80) NOT NULL به طور پیش فرض ''،
`varchar و subtitle` (80) NOT NULL به طور پیش فرض ''،
`varchar و author` (80) NOT NULL به طور پیش فرض ''،
`varchar و copyright` (160) NOT NULL به طور پیش فرض ''،
`varchar و description` (255) NOT NULL به طور پیش فرض ''،
`اعضای هیات time_added` (10) بدون علامت NOT NULL به طور پیش فرض '0'،
`اعضای هیات duration` (10) بدون علامت NOT NULL به طور پیش فرض '0'،
`tinyint ready` (1) NOT NULL به طور پیش فرض '0'،
کلید اولیه (`id`)
)
CREATE TABLE `channels` (
`اعضای هیات id` (11) بدون علامت NOT NULL به طور پیش فرض '0'،
`varchar و name` (80) NOT NULL به طور پیش فرض ''،
`اعضای هیات owner` (11) NOT NULL به طور پیش فرض '0'،
`varchar و description` (80) NOT NULL به طور پیش فرض ''،
`tinyint randomplay` (1) NOT NULL به طور پیش فرض '0'،
کلید اولیه (`id`)
)
چه جدید در این نسخه:
· در این نسخه بسیاری از اسناد و مدارک جدید برای راه اندازی سرور فراهم می کند.
· در حال حاضر یک اسکریپت در دسترس است که تدوین خواهد، نصب، و راه اندازی سرور streamnik در یک مرحله وجود دارد.
· پیکربندی اکنون می توانید توسط یک فایل پیکربندی، که در /etc/streamnik.conf قرار داده شده انجام شود.
· علاوه بر این، برخی از رفع اشکالات جزئی، مانند رفع وجود دارد برای تدوین تحت توزیع های مختلف لینوکس است.
جزئیات نرم افزار:
نظر یافت نشد