Pēteris Caune, jaunumi ([info]cu) rakstīja,
@ 2004-02-15 19:17:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Tīmekļa kamera

Nepacietīgajiem, - tas, ko šoreiz gribu rādīt, atrodas šeit.

Kā zināms, nesen tika iegādāta tīmekļa kamera. Meklējām veidus, kā panākt, ka vēl kāds bez mums pašiem to kameras bildi var redzēt. Visideālāk būtu straumēt (stream :) ) tīklā video un skaņu (mikrofonu arī nopirkām). Dabūjām strādājošā kārtībā 2 variantus -

Abiem variantiem ir viens ļoti nopietns trūkums - esam LANET tīkla iekšpusē, starp LANET un ārējo pasauli ir ugunsmūris un no ārpuses nevienam portam savienojumi neiet cauri. Varianti -

Kā redzams, sevišķi lielu iespēju straumēt video un audio mums nav. Paliek daudz primitīvākais variants savus datus publiskot, reizi noteiktā intervālā kopējot uzņemto bildi uz kādu FTP serveri. Šim darbam domātu programmu ir cik uziet, un šo ceļu mums arī nācās izvēlēties. Attēla atjaunošanas laika intervāls tika izvēlēts pats mazākais pieejamais - reize sekundē. Ik sekundi no mana datora tiek ielādēts attēls uz FTP serveri.

Šo augšupielādēto bildi var skatīties jebkurā pārlūkprogrammā, visu laiku to atsvaidzinot (refresh). Nav pārāk ērti visu laiku spaidīt F5 vai klikšķināt peli, tāpēc uztaisīju mazu html dokuemntiņu, kas reizi sekundē pats sevi ielādēja. Trūkums - bieži gadījās, ka attēlu mēģina lasīt tajā brīdī, kad tas tiek rakstīts, līdz ar to attēls raustījās, brīžam nerādījās, vai rādījās tikai daļēji.

Lai daļēji kompensētu zemu attēla atjaunināšanas ātrumu, sadomāju uztaisīt tā, lai ielādētie attēli plūstoši pāriet viens otrā. Sāku ar mēģinājumu šo lietu realizēt ar Flash un Actionscript, tad pārgāju pie JavaScript. Rezultāts.

Dažas interesantas lietas, ar ko saskāros -

Lai novērstu problēmu, ka reizēm attēlu nevarēs ielādēt, ja tas tajā brīdī tiek rakstīts, lietojam trīs absolūti pozicionētas, vienu uz otras novietotas bildes, kas katra tiek ielādēta citā brīdī - varbūtība, ka neviena no trijām nebūs ielādējusies ir diezgan maza. Trūkums - trīsreiz vairāk lejupielādējam, trīsreiz vairāk aizņemam savu joslu.



Neesi iežurnalējies. Iežurnalēties?