Streamnik serverio projektas yra IPTV serveris remiantis atvirais kodekus Ogg / Vorbis ir Ogg / theora. Jis gali transliuoti skirtingų kanalų skaičių ir optimizuota veikti skirtųjų (virtualių) serverius. Programos tvarkaraštis yra apibrėžta SQL duomenų bazės lentelės ir gali būti pakeista vykdymo metu.
Reikalavimai:
· Bendra C ++ su ver
· MySQL (mysqlclient)
Įrengimas:
Kaupti, viskas veikia, kaip įprasta:
Configure
padaryti
sudo make install
Ką reikia paleisti serverį:
shorties: trumpametražių filmų klaidų tvarkymą
peržiūra: trumpi peržiūros filmai (pvz skelbimai - šis srautas yra pateikta iki ...)
Vaizdo įrašai: video parodyti
Visi filmai, shorties ir prieviews turi sutapti kadrų,
keyframe-atstumas ir tt
shorties ir peržiūra yra iš tikrųjų talpyklos su rakto vardu ir kaupiami
į (kitą versiją gali naudoti duomenų bazės įrašas, kad)
Pradėti:
tiesiog paleisti serverį:
> StreamnikServer -d -u -p
ir prisijungti prie serverio pvz iki mplayer:
> Mplayer "http: // localhost: 12000 / video.ogg kanalo = 1?"
Tačiau befor, visi, kad jums reikia įsteigti papildomų dalykų:
Duomenų bazėje:
Jums reikia SQL duomenų bazės ir veikia. Ataskaitose yra atvaizduojamos šio dokumento pabaigoje.
Duomenų bazė vardas ir slaptažodis gali būti pridėta į komandų eilutę.
Failai:
Jūs turite šį failą struktūrą (galima pakeisti serverConfig.h):
namo
> Dalijamasi
> OGG
> Shorty
OGG katalogas atlieka visus failus, kurie turėtų būti transliuojamas. Kiekvienas failas turi atitinkamą įrašą į SQL duomenų bazė ("vaizdo įrašus" lentelėje).
Į shorties yra maži ogg failai, kurie rodomi klaidos.
shorty_1.ogg -> ne upelis galima
shorty_2.ogg -> neleistiną prieigą
shorty_3.ogg -> transliacijos pauzės
shorty_4.ogg -> duomenų nėra
Tada galite pridėti peržiūras (trumpametražius filmus Befor originalaus upelis, pvz prideda)
Šis failas turi būti dedamas į shorty kataloge, taip pat ir yra pavadintas
Peržiūrėti _ *. OGG.
Sistema nebus patenkinti, jei jų nėra, bet bus pradėti
Kanalais:
Kanalai atidaryti, į SQL duomenų bazę. Šis įrašas iš tikrųjų turi būti ant paleidimo.
Už kiekvieną kanalą, StreamCreator objektas bus sukurta, kuri bus išsiųsti ją duomenis į komutatoriumi. Tai tada tvarkyti visus klientų pageidavimus.
TcpListener (uostas 12000) StreamSend (Klientas 1)
| | /
Failas -> StreamCreator -> daugintuvas ---> StreamSend (Klientas 2)
Stream "1 |
| -> StreamSend (Klientas 3)
|
SQL duomenų bazės prieigos |
^ | -> StreamSend (Klientas 4)
| | /
Failas -> StreamCreator -> daugintuvas ---> StreamSend (Klientas 5)
Stream "2 |
|
|
SQL duomenų bazės prieigos |
^ | ---> StreamSend (Klientas 6)
| | /
Failas -> StreamCreator -> daugintuvas ----> StreamSend (Klientas 7)
Stream "3
-> StreamSend (Klientas 8)
-> StreamSend (Klientas 9)
...
TVARKARAŠTIS:
Grafikas dedamas į "tvarkaraštis" lentelėje duomenų bazėje.
("Day_id" ir "data" yra iš tikrųjų nenaudojamas)
channel_id ir Video_id atitinka kitose lentelėse įrašų.
kiekvienas filmas turi būklės (per dieną). Diena prasideda 4:00.
Pirmasis įrašas per vieną bloką filmų turėtų būti pažymėtos statuso "1".
Jei turite filmą, kuris nėra prijungtas perstojo, turėtumėte pridėti
"1" statusas dar kartą.
************************************************** ****
*
* SQL duomenų bazės sukūrimas
*
************************************************** ****
CREATE TABLE `schedule` (
"Day_id` INT (11) NOT NULL nepasirašytas nutylėjimą" 0 ",
`Diena" VARCHAR (8) NOT NULL nutylėjimą ",
"Channel_id` INT (11) NOT NULL nepasirašytas nutylėjimą" 0 ",
"Position` INT (10) NOT NULL nepasirašytas nutylėjimą" 0 ",
"Video_id` INT (10) NOT NULL nepasirašytas nutylėjimą" 0 ",
"Duration` INT (10) NOT NULL nepasirašytas nutylėjimą" 0 ",
"Status` tinyint (3) nepasirašytas NOT NULL nutylėjimą '0'
)
CREATE TABLE `videos` (
"Id` INT (10) NOT NULL nepasirašytas auto_increment,
"Owner` int (10) unsigned NOT NULL nutylėjimą" 0 ",
"Vardas" VARCHAR (80) NOT NULL nutylėjimą ",
"Subtitle` VARCHAR (80) NOT NULL nutylėjimą",
"Author` VARCHAR (80) NOT NULL nutylėjimą",
"Copyright` VARCHAR (160) NOT NULL nutylėjimą",
`Apibūdinimas VARCHAR (255) NOT NULL nutylėjimą",
"Time_added` INT (10) NOT NULL nepasirašytas nutylėjimą" 0 ",
"Duration` INT (10) NOT NULL nepasirašytas nutylėjimą" 0 ",
"Ready` tinyint (1) NOT NULL nutylėjimą" 0 ",
Pirminis raktas ("id`)
)
CREATE TABLE `channels` (
"Id` INT (11) NOT NULL nepasirašytas nutylėjimą" 0 ",
"Pavadinimą" VARCHAR (80) NOT NULL nutylėjimą ",
"Owner` INT (11) NOT NULL nutylėjimą" 0 ",
`Apibūdinimas VARCHAR (80) NOT NULL nutylėjimą",
"Randomplay` tinyint (1) NOT NULL nutylėjimą" 0 ",
Pirminis raktas ("id`)
)
Kas naujo šioje versijoje:
· Ši laida suteikia naujos dokumentacijos aikštelė steigiant serverį.
· Šiuo metu scenarijus galima kuri kaupia, įdiegti ir sukonfigūruoti streamnik serverio vienu žingsniu.
· Konfigūracija dabar gali būti padaryta konfigūracijos failą, kuris dedamas /etc/streamnik.conf.
· Be to, yra tam tikrų nedidelių pataisymų, pavyzdžiui, nustatomos sudarant pagal skirtingas Linux distribucijų.
Programinė detalės:
Versija: 0.02
Įkėlimo datą: 3 Jun 15
Licencija: Nemokamai
Populiarumas: 2
Komentarai nerastas