Archive for tarmo

Kolisin Googlest ära – osaliselt

Kasutasin pikka aega Google kalendrit. See on hea ja mugav, võimaldab kõiki oma sündmusi erinevatel seadmetel omavahel sünkroonis hoida. Oled kodus arvuti taga  – sündmused on Thunderbird’i e-posti kliendi juures ilusti näha. Liigud kusagil ringi – ka mobiilis saab kalendrisündmusi Google kalenrdiga sünkroniseerida. Lisaks saab panna oma mobiili avaekraanile ilusa vidina, mis näitab alati lähiajaks kokku lepitud asju. Nii ei unusta ära, kuhu on vaja minna ja mida teha.

Aga natuke mulle see Google kalender ka ei meeldi. Sest kõik mu andmed on võõras serveris. Ja lisaks saab Google minu kohta liiga palju teada – ja siis suunab ta mulle personaliseeritud reklaami. Üldiselt mulle ei meeldi, kui liiga palju mu isiklikke andmeid on võõrastes kätes. Seepärast tahtsin tegelikult juba mõnda aega oma isiklikku kalendrit Googlest ära kolida. Samal põhjusel ei pane ma ka Facebook’i kõike, mis mu elus ette tuleb – pole vaja liiga palju isiklikust elust Mark Zuckerbergile anda 😉 Ja kui mina kellelegi pean suuri faile saatma, siis eelistan ma ka oma lahendust, mitte Google Drive’i või Dropbox’i.

Nii on mul juba tükk aega installeeritud omale kodune lahendus nimega Owncloud – see on sisuliselt isiklik pilv. Saab kasutada failide hoidmiseks ja sünkroniseerimiseks erinevate  seadmete vahel. Aga Owncloud võimaldab pidada ka isiklikku võrgukalendrit, võrgus olevat aadressraamatut ja muidki vajalikke asju – vaata lähemalt siit: https://apps.owncloud.com/. Seni oli Owncloud’i kalendrifunktsiooni kasutamisel takistuseks see, et ma polnud leidnud head vahendit isikliku pilvekalendri sünkroniseerimiseks oma telefoniga. Nüüd aga võtsin uuesti ette uurimise, kuidas siiski rohkem üle minna isiklikus serveris olevatele lahendustele ja loobuda Google pakutavast. Muidugi, Android telefon ise on ju peaagu et Google oma – nii et ega Googlest päris vabaks ei saa. Aga siiski saab seda infohulka, mis minust Googlesse jääb, veidi vähendada.

Niisiis, lisasin oma telefonile mõned rakendused: CalDav-Sync, aCalendar+, Owncloud. Jah, kõik need rakendused maksavad veidi raha. Aga tulemus mind vägagi rahuldab. Mu mobiil hoiab nüüd ilusasti aktuaalsena kõik sündmused ja sünnipäevad – kusjuures paremini kui seda enne tegi Google kalendrirakendus mobiilile. Samuti saan kergesti mobiilist vaadata faile, mis on mu oma serveris. Kui Dropbox annab tasuta kasutada 2GB, Google Drive 15GB kettaruumi (Google Drive puhul on tasuta maht summaarne kõigi asjade kohta: e-post, pildid, dokumendid), siis oma serveris pole mul muud piiri kui minu kõvaketta maht. Ehk siis praegu on mul kasutada 1,2TB kettaruumi.

Oma e-posti lugemiseks kasutan ma Thunderbird’i. Ja olles koduse arvuti taga, on mugav sündmusi vaadata kohe e-posti rakendusest. Samuti on mugav, kui saab lihtsalt saabunud e-kirja põhjal luua uue sündmuse. Selles on vajalik Thunderbird’ile lisada kalendrilaiendus Lightning. Ja et Lightning hakkaks kalendrisündmusi sünkroniseerima pilvega, on vaja ka vastavaid sünkroniseerimise lisasid. Google kalendriga sünkroniseerimiseks on vaja Provider for Google Calendar, Owncloud’i kalendri jaoks SOGo Connector Thunderbird extension. Sellelt lehelt tuleb alla laadida õige versioon ja Lightning peab olema enne juba installeeritud. – Vaata lisa artikli lõpus.

Muidugi on sellisel isiklikul serveril ka puudusi. Suurim puudus on see, et minu serveri ühenduskiirus internetiga võiks parem olla… Ja muidugi pean ma ise tagama turvalisuse ja töökindluse. Ja jälgima, et serveri tarkvara oleks uuendatud ja kaasaegne.

Ega Google pakutav paha pole. Ja ka Facebook on kindlasti omal kohal. See, et mina eelistan muid lahendusi, on minu isiklik huvi. Ja hetkel igatahes olen rahul – eks näis, kas ma ka rahule jään.

NB! Täiendus 8. oktoobril 2015: Lightning ei vaja mitte midagi lisaks selleks, et sünkroniseerida andmeid OwnCloud kalendriga. OwnCloud nimelt toetab CalDav protokolli, mille tugi on ka Lightning’ul ilma mingite lisa-asjadeta olemas. SOGo Connector on vajalik üksnes siis, kui võrgukalendrit peetakse SOGo serveris.

Jah, ma olen seni väga rahul – sünkroniseerimine erinevate seadmete ja rakendustega toimib suurepäraselt, pealegi on mobiilile peale tõmmatud aCalendar+ oluliselt parem kui enne kasutatud Androidiga kaasa tulnud kalendrirakendus.

Kuidas teha optilist tähetuvastust

Üks sõber saatis mulle portsu faile, milles olid skaneeritud tekstid. Need tekstid oli vaja teha uuesti selliseks, et neid saaks arvutis töödelda. Ühesõnaga, oli vaja teha OCR. Minul kodus on Linux, täpsemalt Ubuntu. Ja seni polnud mul veel vajadust olnud oma koduses masinas optilist märgituvastust kordagi teha. Varem oli mul töö juures skanner, mis oskas skaneerimise käigus ise ka OCR’i teha – seetõttu polnud seda vaja arvutis teha. Nüüd aga olid lihtsalt failid, kust tuli tekst võimalikult viisakal moel kätte saada.

Failid ise olid pdf-failid, kuid need olid raamatutest skaneeritud ja salvestatud pildina, st ilma võimaluseta otse pdf’ist teksti kopeerida. Failid olid erineva pikkusega: lühim oli kolm lehekülge, pikim üle 40 lehekülje.

Nagu ikka, esimese asjana veidi “googeldamist”. On olemas päris head võrgus olevad OCR’i pakkuvad lehed, kus saab märgituvastust teha ilma, et omal arvutis vastavat programmi olemas oleks. Üks päris hea leht selleks on siin: https://www.newocr.com/. See leht võimaldab ka pikemaid dokumente tekstiks konverteerida, ainult et tüütu on see, et iga lehte tuleb eraldi salvestada.

Niisiis püüdsin leida vahendit, mis teeks seda kõigi lehtedega korraga ja mis salvestaks tulemuse mulle automaatselt arvutisse.

See “googledamine” andis mulle ka selle lehe: https://help.ubuntu.com/community/OCR. Üldse on leht help.ubuntu.com päris hea leht. Kui osata inglise keelt, siis leiab sealt abi väga paljude Linux’i-teemaliste küsimuste kohta. See leht on küll Ubuntule orienteeritud, aga ka muude Linux’ite korral, mille aluseks on Ubuntu või Debian, on sealsed õpetused üsna hästi rakendatavad.

Selle lehel oli siis kirjas väike skript, kuidas programmi Tesseract abil Linux arvutis teha mitmelehelisele pdf-dokumendile optilist märgituvastust ja kuidas see tulemus salvestada arvutisse tekstifailina. Kordan seda skripti ka siin, tõsi, eestikeelsete kommentaaridega:

Muidugi, selleks et see skript saaks oma tööd korrektselt teha, peavad arvutis olema programmmid ImageMagick ja Tesseract. Hea uudis on see, et Tesseract’il on päris suure hulga erienvate keelte toetus. Ingliskeelne info ütleb nii:

There are currently language packs available for the following languages:
ara (Arabic), aze (Azerbauijani), bul (Bulgarian), cat (Catalan), ces (Czech), chi_sim (Simplified Chinese), chi_tra (Traditional Chinese), chr (Cherokee), dan (Danish), dan-frak (Danish (Fraktur)), deu (German), ell (Greek), eng (English), enm (Old English), epo (Esperanto), est (Estonian), fin (Finnish), fra (French), frm (Old French), glg (Galician), heb (Hebrew), hin (Hindi), hrv (Croation), hun (Hungarian), ind (Indonesian), ita (Italian), jpn (Japanese), kor (Korean), lav (Latvian), lit (Lithuanian), nld (Dutch), nor (Norwegian), pol (Polish), por (Portuguese), ron (Romanian), rus (Russian), slk (Slovakian), slv (Slovenian), sqi (Albanian), spa (Spanish), srp (Serbian), swe (Swedish), tam (Tamil), tel (Telugu), tgl (Tagalog), tha (Thai), tur (Turkish), ukr (Ukrainian), vie (Vietnamese)

Nagu näete, on ka eesti keel selles loetelus olemas. Ma arvan, et enamasti ei tule ette juhtumit, kus on vaja teha tekstiks mingit sellise keele faili, mille toetus Tesseract’il puudub. Kindlasti on aga nii, et parim märgituvastus on just inglise keeles. Kuigi päris laitmatu ei ole märgituvastus kunagi – kui olete OCR-’i läbi teinud, tuleb pärast kindlasti tulemus üle kontrollida ja vead ära parandada. Ah ja, kui kellelgi peaks olema oskust, siis saab Tesseract’i ise niiöelda “treenida”: https://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3.

Mina sain igatahes ilusasti mulle saadetud failid tekstiks teha ja sõbrale tagasi saata. Ehk on kellelgi veel siinsest infost kasu. Seda infot võib vabalt levitada. Aga nagu vabalt levitatavate asjade puhul ikka: siinse info kasutamine on täielikult kasutaja enda vastutusel. Mina, Tarmo Kähr, ei vastuta mingil kombel siinse info kasutamise korral tekkivate tagajärgede eest, millised need tagajärjed siis ka ei oleks. Mina olen selle info tasuta saanud, tasuta jagan ma seda ka edasi. Kui kellegi on sellest kasu, on mul hea meel. Kui keegi saab sellest kahju, siis on mul kurb meel. Aga ei kasu ega kahju eest ei võta mina mingit vastutust.

Mõtteid sõnadest, korrektsusest ja andestusest

Kuulan ikka raadiot ja vaatan uudiseid. Tänane tuline tema on meie rahandusministri Jürgen Ligi sõnakasutus. Rahandusminister ise võttis küll oma sõnad FB lehelt tagasi ja postitas vabanduse, kuid loomulikult on lendulastud sõnad juba mitmete poolt tsiteeritud – näiteks Postimees, aga kindlasti ka teised portaalid. Ja nii ongi, et väljaöeldud sõna enam tagasi ei kutsu – see elab juba oma elu. Just seetõttu hoiatab Piibel, et sõnadega tuleb ettevaatlik olla. Aga samuti kinnitab Jumala Sõna sedagi, et iga inimene on ekslik – ja seda sageli just oma keelepruugis. Nojah, too kuulus “Foorum”, kus riigieelarve üle arutleti, läks lõpuks tuliseks. Saatejuhtki jõudis ära nimetada, et suudeti ikka napilt enne saate lõppu rahandusminister vihale ajada. Ning siis juhtuski, et hr. Ligi kirjutas nii, nagu poliitiliselt polnud korrektne kirjutada. Nii et minu arvamus on, et ei ole ilus kogu süüd üksnes ühe inimese kraesse kirjutada. Osa süüd on nendelgi, kes nimme asja teravaks ajasid.

Aga tegelikult pole see praegu mu jaoks kõige olulisem. Mõtlen hoopis sellest, et kas Ligi tõesti ütles midagi ääretult solvavat? Kohe midagi nii hullu, et isegi president ei pidanud paljuks noomima hakata? Jah, nagu rahandusminister isegi tunnistab, tulid sõnad ehk liiga kiirelt ja mõtlematult ning polnud just kõige paremini valitud. Samas, mina mõtlen: kas see, mida Ligi ütles, on SISULISELT vale? Kui uskuda Wikipediat, siis on ju austatud haridusminister sisserändaja poeg, see on ju tõde. Minu meelest pole kellelgi vaja oma päritolu häbeneda. Pigem võiks Jevgeni Ossinovskit paljudele teistele sisserändajatele ja nende lastele eeskujuks tuua: riigikeelt on võimalik küll vägagi hästi ära õppida. Roosa erakond? Kas see pole mitte SDE värv? Jah, olen nõus küll, et ega Ligi väljendus ilus ei olnud. Aga nõustun ka Ligiga – praeguse haridusministri eesti keel on suurepärane. Vähe on nii hea eesti keelega eestimaalasi, kes ise pole rahvuselt eestlased. Arvan, et paljud eestlasedki ei oska eesti keeles nii ilusasti rääkida kui tema. Ja niipalju kui mulle kaugelt vaadates tundub, siis soovib hr. Ossinovski oma tööd teha nii hästi kui ta iganes suudab.

Aga kas tõesti meie taust meid kuidagi ei mõjuta? See, kust me pärit oleme, kelle pojad ja tütred me oleme, see kindlasti paratamatult mõjutab meid. Mina elan praegu Hiiumaal. Ja tahan siin oma tööd teha nii hästi kui oskan ja suudan. Aga ma olen päritolult Tartust, oma isa poeg. Ja teinegi kord avastan isegi üllatusega, kui palju mind seesama päritolu on mõjutanud. Ja mul tuleb ikka veel – kuigi olen Hiiumal olnud juba kümme aastat – õppida, kuidas saarel elu käib. Ja vahel teen ikka vigu, kui emotsiooni laineharjal midagi ütlen.

Mõnda aega tagasi oli tuline arutelu Kooseluseaduse teemal. See, mis siis toimus, võiks meil veel värskelt meeles olla. Ning nii mõnigi poliitik võiks meelde tuletada, milliseid sõnu ta kasutas SA Perekonna ja Traditsiooni Kaitseks esindajate ja pooldajate kohta. Kui suurt osa eesti rahvast otseselt sildistati ja halvustati. Täiesti sõltumata rahvusest.

Praegu nõutakse häälekalt Ligi tagasiastumist või -kutsumist. Ei tea, kas äkki peaks ka suur osa parlamendiliikmeist tagasi astuma? Sest solvavad sõnad nõuavad ju poliitilise vastutuse võtmist…

Seepärast, hääd rahvaesindajad ja valitsejad – rohkem andestust, palun. Sest kui uskuda Euroopat, on meie riigi rahanduspoliitika ju väga hea. Ning kui uskuda meediat, siis hariduspoliitika seni nii hästi õnnestunud ei ole.

Veel video loomisest

Eelmisel korral kirjutasin video loomisest, mille lähtematerjaliks oli hulk pilte. Kirjutan nüüd video loomisest uuesti – aga sel korral oli pilte palju rohkem.

Niisiis. alustame.

Algmaterjal: kaks kataloogi, kuhu kaks kaamerat tegid poole aasta jooksul iga minut ühe pildi. Pildid on samast objektist, aga erinevate nurkade all. Kaamerate piltidest tuleks kokku panna video. Pilte on kokku sadu tuhandeid (iga tund 60 pilti ja niimoodi septembrist oktoobrini (13 kuud): 60(pilti tunnis)x24(tundi päevas)x30(päeva kuus)x13(kuud)=561600 pilti ÜHE kaamera kohta). Tegelikult on see number ligilähedane, sest igas kuus ei ole 30 päeva ja aeg-ajalt oli ka häireid, nii et pilte ei saanud üle võrgu üles laadida. Piltide mõõtmed: 800x600px, ühe pildi maht ca 120kB.

Eesmärk: luua piltidest „kiirvideo“ objekti valmimise kohta.

Sammud eesmärgi saavutamiseks:

  1. Kopeerida vajalik hulk pilte kummagi kaamera algmaterjalide kataloogist töötlemiseks uude kataloogi. Arvestusega, et video tuleb 25 kaadrit sekundis, siis vajalike piltide arv sõltub loodava video pikkusest (iga minuti kohta 25×60=1500 pilti).
  2. Seejärel kleepida kaamerate pildid kokku nii, et kaks pilti oleks uuel pildil kõrvuti. Kui algsed pildid on mõõtudega 800x600px, siis kahest kokku pandud uus pilt peab olema mõõtudega 1600x600px (kõrgus jääb samaks, aga kaks korda laiem).
  3. Seejärel kokkukleebitud piltidest luua vajalik videofail ja lisada sinna heli.

On kaks kataloogipuud – kummlagi kaameral oma kataloogipuu. Pildid asuvad kataloogides nii, et üks aasta on üks kataloog, milles on alamkataloogid kuude kaupa. Iga kuu kataloogis on alamkataloogid kuupäevade kaupa, seal omakorda alamkataloogid tundide kaupa. Ühe tunni pildid asuvad samas kataloogis ning pildifailidel on nime algused samasugused kuni 11-nda sümbolini (faili nimes on kirjas aasta, kuu, päev, tund ja minut kahekohalisena, st AAKKPPHHMM; faili alguses on alati täht m). See pildifaili nimetamise põhimõte on läbiv kogu kataloogipuus. Niisiis, ühes kataloogis on 60 pildifaili. Kataloogipuus on aga neli taset alates tipust, kuid failinimed on ühe kataloogipuu piires kordumatud.

Näide ühe kataloogipuu kohta on alloleval pildil. Teine kataloogipuu on sarnase struktuuriga, vaid tipmine kataloog on teise nimega – lehtma.

Jupp ühest kataloogipuust

Kataloogipuu struktuurinäide

Vaja oli leida kummastki kataloogipuust samadel kellaaegadel tehtud pildid. Faile oli kummaski kataloogipuus 561600, kokku üle miljoni faili… Kuid kellaaega tähistas neli numbrit, mis asusid faili nimes kaheksandast kuni üheteistkümnenda positsioonini. See andis võimaluse luua kopeerimiseks vajalik reegel. Tegelikult polnud üldse vaja vaadata 11-st postitsioonist edasi, kus lõpud olid muutuvad. Minule vajaliku video jaoks piisas, kui ma võtsin igast päevast ca 10 kaadrit kindlatel kellaaegadel. Niisiis tuli mul teha ühe kataloogipuu kohta kümme kopeerimist – iga vajaliku kellaaja kohta tuli üks käsk. Kokku sai kakskümmend korda kopeerimist. Sihtkataloogid, kuhu kopeerida, tegin käsitsi enne valmis.

Käsk sai järgmine:

Selgitus:

  1. find . -name “???????0910*.*”
    Otsi faile, mille nimes oleks alates 8-ndast sümbolist antud konkreetsed numbrid. Need konkreetsed numbrid viitavad kellaajale, millal pilt tehti: näites on 0910 – pildid, mis on tehtud kell 9:10. Faili lõpp pole tegelikult enam oluline ja ilmselt võiks jätta ka lihtsalt tärni. Käsk „find“ töötab rekursiivselt, niisiis alustatakse parasjagu aktiivsest kataloogist (punkt tähistab aktiivset kataloogi) ja käiakse läbi kogu kataloogipuu.
  2. Käivita leitud failide kopeerimine (-exec cp) ja ära muuda failide ajatempleid (-p) ning kopeeri etteantud sihtkataloogi (-t /see/uus/kataloog/kuhu/kopeerida/lehtma/). Sihtkataloogi määratlust alustasin süsteemi juurkataloogist (kaldkriips / tähistab linux’is juurkataloogi), aga vajadusel saab ka määrata suhteline tee sihtkataloogini.
  3. Korda antud tegevust niikaua kuni leiad vastavaid faile: {} +
  4. Seda käsku tuli korrata iga soovitud kellaaja kohta, muutes vaid 8-ndast kuni 11-kohani asuvaid numbreid.

Minul tekkis kummassegi kataloogi (lehtma ja otikas) üle 5000 faili.

Siis tuli leida veel kataloogide sisu võrdlemise teel failid, milledele uutes loodud kataloogides polnud vastet teises kataloogis. Vastavust mitteomavad failid tuli teisest kataloogist kustutada. Asi oli selles, et kaamerad ei saanud alati täpselt samadel aegadel pilte tehtud – kas võrgu ülekoormatuse tõttu või mõnel muul juhuslikul põhjusel. Seetõttu tekkis kataloogides failide kellaaegades erinevusi. Minule oli aga väga oluline saada alati kaks pilti, mis on tehtud sama minuti sees. Erinevuse kindlaks tegemiseks ja kustutamiseks kasutasin linuxis käsurea skripti:

Selgitus:

  1. Kataloogi „otikas“ failide loetelu
  2. Võrdle seda loetelu kataloogis „lehtma“ olevata failide nimede esimese 11 sümboliga (arvuti alustab loendamist nullist, seetõttu 0:10, MITTE 1:11)
  3. Kui tulemus ei ole 0 (st failil vastavus puudub), siis anna sellest teada (echo…)
  4. Kustuta see fail kataloogist „otikas“ ära

Sama käsk tuli anda ka teise kataloogi suhtes.

Jäi veel mingi väike osa faile, mida see käsk ei suutnud üles leida ja kustutada, kuna osadel failidel oli mitu vastavust (skript leidis need, kus oli VÄHEMALT ÜKS vastavus, seega MITME vastavusega faile ei kustutatud. Need failid leidsime üles tabelarvutuse abil kasutades järgnevaid funktsioone:

lehtma otikas eraldus1 eraldus2 vordlus
m120909091001952.jpg m120909091045997.jpg =LEFT(A2;11) =LEFT(B2;11) =IF(C2=D2;1;-1)

Nende valemite tulemus oli selline:

lehtma otikas eraldus1 eraldus2 vordlus
m120909091001952.jpg m120909091045997.jpg m1209090910 m1209090910 1/-1

Nüüd eksportisin mitteklappivate failide nimed csv tekstifaili. Ja nüüd sain juba linuxis anda uuesti käsu, mille abil tekstifailis olevate failide nimed sai omakorda kustutada:

Failis „kustutada_otika_kataloogist.csv“ olid kustutamiseks mõeldud failide nimed.

Käsuga xargs saab luua käske, kasutades sisendina tekstifaili sisu.

Selle kohta leidus info siin: http://stackoverflow.com/questions/5142429/unix-how-to-delete-files-listed-in-a-file

Lõpptulemusena sain kaks kataloogi, kus sees oli võrdne arv pilte, mis pealegi on tehtud kõik samadel minutitel (kummaski kataloogis on igale pildile teises kataloogis samal ajal tehtud pildi näol vaste).

Veel oli vaja üle kontrollida, kas kõigi piltide mõõtmed ikka olid kindlalt samad. Kuna mul oli vaja pilte mõõtudega 800x600px, tuli leida, kas ei ole juhtumisi valedes mõõtudes pilte ja need tuli viia õigesse mõõtu. Valedes mõõtmetes pilte oli 531 (ühe kaamera esimeste kuude pildid olid liiga suured). Need viisin õigesse mõõtu programmiga phatch (http://photobatch.stani.be/).

Seejärel nimetasin mõlemas kataloogis kõik pildifailid ümber nii, et tekiks järjekord:

Selgitus:

Oluline osa on

– siin antakse käsk pildifaili ümbernimetamiseks. %06d määrab kasutatava numbrikohtade arvu, minul siis 6 numbrikohta.

Tuletame nüüd veelkord meelde: sadamas oli üleval kaks kaamerat, mis mõlemad tegid sünkroonis pilte. Kummagi kaamera pildifailid said eelpool näidatud viisil välja valitud ja õigetesse mõõtudesse viidud. Praeguseks on siis kummagi kaamera pidid eraldi kataloogides ja valmis edasiseks töötluseks.

Seejärel oli aga vajadus panna kaamerate pildid kokku üheks pildiks, et tekiks „laiekraanvideo“ – niimoodi sai näidata ühes kaadris poole laiemat ala. Selle tegevuse läheolukord oli järgmine:

Esimese kaamera pildid:
otikas/pilt_00001.jpg
otikas/pilt_00002.jpg
otikas/pilt_00003.jpg
otikas/pilt_00004.jpg
otikas/pilt_00005.jpg

Teise kaamera pildid:
lehtma/pilt_00001.jpg
lehtma/pilt_00002.jpg
lehtma/pilt_00003.jpg
lehtma/pilt_00004.jpg
lehtma/pilt_00005.jpg

ja nii edasi, kummaski kataloogis oli ca 5300 pilti.

Nüüd oli vaja lahendust, mis hakkaks järjest katalooge läbi käima ja võtma paarikaupa kataloogidest pilte ja neid kokku kõrvuti panema ning tulemust salvestama kolmandasse kataloogi. Selleks saab kasutada käsku „montage“ (ImageMagick’u käsureavahend), millele tuli lihtsalt ette anda loend õigel viisil. Selleks sai tehtud järgmine skript:

Peale seda käsku oli mul uus kataloog (kataloog3), kus oli 5300 pilti, mis olid valmis laiekraani video tegemiseks.

Ning siis programmiga ffmpeg sai piltidest video „kokku keevitatud“:

Video tegemise õige vahend on tegelikult avconv – ffmpeg on tegelikult juba vananenud vahend ja alles veel lihtsalt ühilduvuse mõttes. Tulevastes distributsioonides kaob see ära.

Tulemusvideot saab vaadata siin: http://www.youtube.com/watch?v=98AMX3YK2BA

Antud kirjelduses ei ole toodud muusika lisamist videofailile. Muusika lisasin valmis “tummfilmile” programmiga “OpenShot video editor”.

Üks õunapuu, mis vilja ei kandnud, varjas päikest.

Täna võeti kodu juurest lõunapoolselt küljelt õunapuu maha. Õunu seal kunagi otsas polnud (õieti oli, aga üksikuid). Varjas lihtsalt päikest, mis tuppa ei pääsenud. Nüüd siis on vaade vaba.

Enne ta siin kasvas

Lõunapoolne sein on nüüd avatud.

Vaade minu kabineti aknast

Vaade Terje toa aknast.

Esimesed kevadised pildid

Käisin täna tiiru aias. Eks ma olen ikka varem ka käinud, aga täna tegin oma mobiiliga mõned pildid ka. Siin need pildid on.

Roosid

Eelmisel aastal välja pandud roosid

Nartsissid

Siit tulevad natrsissid

Iirised

Iirised tõusevad ka

Maasikapeenar

Eespool maasikapeenar – aga mida tahapoole panna?

Rabarbrid

Rabarbreid on alati olnud nii palju, et ei jõua kõiki ära tarvitada…

Potiroosid

Veel ühed potiroosid

Nartsissid ja roos

Vana roosi ümber tõusevad kevadised nartsissid

Sibulad

Varsti saab ilmselt rohelist sibulat

Tegelikult ma ikka mõtlen

Blogisid peetakse selleks, et omi mõtteid avaldada. Kui blogi alustasin, siis uskusin, et hakkan igal nädalal midagi kirjutama. Aga näe, nüüd oli päris pikk vahe – ligi kaks kuud. Tegelikult mõtlen ma ikka vahepeal ka, lihtsalt kirja ei jõua panna… Täna siis kaks postitust.

Mis siis praegu kuum teema on?

Kahtlemata arstide streik, mis täna, 2. oktoobril 2012 on kestnud alles kaks päeva. Kaks nõudmist: normaalse töö eest normaalne palk ja kogu meditsiini selline ümberkorraldamine, et “ajude” äravool peatuks. Sest mis muud kui ajude äravool see on, kui arstid muudkui minema lähevad…

Jah, palk…

Postimees kirjutas arstide palkadest – mis vist siiski on üle eesti keskmise. Eks see keskmine on nagu ta on – kes meist keskmist saab? Ning tahks ju saada ikka üle keskmise. Ja kuigi Postimehe ülevaade sisaldas ka nende arstide sissetulekut, kes teenivad raha küll piiri taga, kui deklareerivad Eestis; ning samuti dividenditulusid – mis pole ju üldse palk – siis ometi tundub mulle, et minul oleks selle info valguses ka küllalt põhjust streikida. Sest loomulikult, arstid mujal Euroopas (vähemalt põhja pool meist) teenivad palju rahulikuma töötempo juures oluliselt rohkem. Kui keel suus – ja küllalt sageli saab mujale tööle minnes tasuta keelekursused ka – ja võimekus/pädevus piisav, siis miks peaks keegi rabama sentide eest? Ma täiesti mõistan arste (või oleks õigem öelda meditsiinitöötajaid?). Selge, et sellise äravoolu juures jääb mitteäraminejatele palju suurem koormus kui see, mille juures saaks rahulikult ja süvenedes oma tööd teha. Nii et nõustun: vaja on tõsta arstide palku (ja mitte vähe) ning muuta midagi kogu meditsiinikorralduse juures, et protsessid enam hullemaks ei läheks.

Siin on aga üks “aga”. Nagu enne mainisin, oleks minulgi küllalt põhjust streikida. Palgaprobleemid – ja seoses sellega normaalne elu (et ei peaks rabama nagu hull mitme koha peal, et sissetulek piisav oleks) – ei ole ju ainult arstide mure. Allpool (euroopa) normaalset sissetulekut elab, ma kardan, väga suur osa Eestis töötavatest inimestest: arstid, õpetajad, teadlased, bussijuhid, katlakütjad, kraavikaevajad – loetelu võiks ilmselt pikalt jätkata. Ja mitte ainult meditsiinikorraldus ei vaja põhjalikku ümbertegemist, samad mured vaatavad sisse paljudes valdkondades. Usun, et tegelikult on rahulolematuid oluliselt rohkem, mida näitab ka praegune inimeste suhtumine streiki. Need, kes toetavad ja mõistavad arste, tahaksid nagu arstidki kunagi jõuda selleni, et võiks rahuliku tempoga teha oma igapäevatööd nii, et peale tööd ei peaks enam muud tööd tegema, vaid et võiks teenitud raha eest elada: maskta ära oma maksud, süüa kõht täis ja vahetevahel ka kultuurielust osa saada või puhkuse ajal maailmas ringi vaadata. Nii et arvan jah, et väga paljud võiksid esitada samasuguseid nõudmisi nagu arstid (oleme seda ju tegelikult näinud juba) – ja kõigil oleks täielik õigus seda nõuda. Sest Eesti Vabariigiga on tegelikult midagi mäda. On vaid aja küsimus, mul siingi jamad suureks lähevad.

Kes on süüdi? Mida teha? Kus on lahendus? Usun, et näpuga ei saa näidata kellelegi – protsessid on olnud pikemad ja süüdi on kõik. Igaüks on teinud oma parima arusaamise järgi – aga tulemus on nagu on. Ja tegelikult algabki kõik sellest, et me tahame hästi elada: teha vähem – aga kindlasti väga hästi – tööd ja tegelda rohkem meelelahutusega. Aga lahendus? Usun, et kiiret lahendust pole olemas. Pikas perspektiivis ilmselt muu ei aita, kui tuleb leppida vähemaga. Arutu tarbimine tuleb lõpetada. Tuleb rahul olla sellega, mis on, mitte nõuda pidevalt rohkem. Kokkuhoiurežiimile tuleb minna mitte ainult valitsemiskuludes, vaid paljudes muudeski kuludes. Kogu Euroopas, kõigi inimeste poolt. Ärid ja firmad ei peaks püüdma oma kasumit maksimeerida, vaid peaks jääma tagasihoidlikuks (st mitte olema ahned). Rikkad (riigid) peaksid kinni maksma (või kustutama) vaeste (riikide) võlad, mitte veel kord laenama (st loobuma oma õigusest teise kasuks). Ka seda loetelu vajalikest muutustest saaks ilmselt jätkata. Ja kõike tuleks teha pikka aega. Kõlab utoopiliselt? Ongi, sest selleks on vajalik kõigi inimeste südamehoiaku muutus. Aga seda viimast – hoiaku muutust – pole näha ei valitsejates ega valitsetavates.

Minu jaoks on aga küsimus selles, kuidas on lood minuga – teisi mina muuta ei saa, isegi kui tahaks.

Kaamera kell oli vale…

Kaua pole bloginud – viimane sissekanne juba vaata ei kaks kuud tagasi. Siit järeldub, et ma olen vilets kirjutaja. Teadsin seda küll enne ka…

Sattus mu kätte üks kaamera, millega tegin mõned pildid. Kaamera polnud minu oma. Tavaline pisike digikas, Sony DSC-W220. Tegin pildid ära ja salvestasin omale arvutisse. Siis mõne aja pärast oli vaja need pildid panna ka internetti veebigalerisse. Ja siis pilte arvutis vaatama hakates selgus, et kaamera kell oli olnud täiesti vale ja kõik pildid olid saanud loomulikult külge vale pildistamise kuupäeva. Kuna ma ei tahtnud vale kuupäevaga pilte veebi panna – äkki mõni vaatab pildi EXIF andmeid ja need polegi õiged – siis hakkasin otsima vahendit, millega piltide kuupäev EXIF andmetes õigeks keerata. Leidsin – Linuxi jaoks muidugi – kaks vahendit, mis tundusid paljulubavad. Mõlemad kahjuks käsurea-vahendid, kuid kui õige käsk leitud, siis on ka käsurealt kasutatav vahend tegelikult väga mugav. Vahendite nimed: exiv2 ja exiftool. Mina lõpuks kasutasin vahendit exiftool, mis väga mõnusasti võimaldab manipuleerida digifoto EXIF-andmetga. Selle utiliidi kohta on kirjas nii: “ExifTool on platvormist sõltumatu Perli teek ja käsurea-vahend, mille abil on võimalik laia skaala failide meta-andmeid lugeda, kirjutada ja muuta.”

Minul oli vaja tuua pildistamise kuupäev 1 kuu, 29 päeva ja 58 minutit ettepoole (st varasemaks). Käsk, mis selle ära tegi, oli järgmine:

Väike selgitus ka:

“-DateTimeOriginal”: see mida muudetakse, pildi kuupäev
“-“-märk enne “=”-märki: aega tuleb nihutada ETTEPOOLE, st varasemaks. Kui seal oleks “+”-märk, siis tuleks nihutada hilisemaks.
“0:1:29 0:58:0”: 0 aastat, 1 kuu, 29 päeva, 0 tundi, 58 minutit, 0 sekundit
Ja lõpuks kataloogi nimi, milles olevate piltide EXIF-andmed muudetakse.

Kokkuvõtteks oli väga mugav terve kataloogitäie piltide EXIF-andmete muutmine. Kui alguses otsisin selle töö tegemiseks mingit graafilist vahendit, siis tagantjärgi leian, käsureavahend oli mugavamgi. Raskeim osa oli välja nuputada, kui palju aega nihutada vaja oli. Ja kui lugeda exiftool’i juhendeid, siis saab muuta peaaegu mida iganes.

HD video loomine

Täna sai mul valmis esimene omatehtud HD video. Tegemist oli lihtsalt katsetusega, et suurem hulk kõvakettale kogunenud pilte videoks teha. Pean tunnistama, et ma väga osav videotöötleja ei ole. Seetõttu läks õppimiseks, juhendite otsimiseks ning lugemiseks päris palju aega. Samuti tuli mul arvutile veidi tarkust juurde tõmmata, et video tegemine ikka hästi õnnestuks. Täna aga sai see proovitöö valmis ja seekord tulemus mind juba rahuldas. Kui keegi veel peaks sellist tööd tegema, siis siinkohal minu kogemused: ehk on sellest abi.

Algne olukord: kataloogis hunnik pilte, mis tehtud perioodilise ajavahemiku järel. Pildid nagu pildid ikka, sellised nagu nad kaamerast tulevad: 3246x2448px. Piltide nimed olid stiilis IMGP2353.JPG – pange tähele, kaamerad panevad piltidele sageli nimed SUURTE TÄHTEDEGA. Minule see ei meeldi, mina muudan piltide nimed ära väiketähelisteks. Kuna ma sageli pean asju üles panema veebi, ja kuna enamasti veebiserverid on mingid Linux’id või BSD’d, siis tasub teada, et seal tehakse suurtel ja väikestel tähtedel rangelt vahet. Ja et mitte meeles pidada, kas pildi nimi tuli nüüd suurte või väikeste tähtedega kirjutada, siis muudan ma alati KÕIK failide nimed ära väiketähelisteks.

Nii et esimese asjana nimetasin failid omale sobivalt ümber:

find -name ‘*.JPG’ | gawk ‘BEGIN{ a=0 }{ printf “mv %s img_%06d.jpg\n”, $0, a++ }’ | bash

Selle käsu tulemusel said mu failid nimeks img_000000.jpg, img_000001.jpg, img_000002.jpg jne kuni viimaseni. Selle käsu andmise juures on oluline, et ei oleks alamkatalooge (sest käsk “find” otsib rekursiivselt ka alamkataloogidest). Ja “%06d” määrab, mitu numbrikohta failide nimetamisel kasutatakse – minul oli siis kuus umbrikohta. Vajalik numbrikohtade arv sõltub sellest, kui palju pilte on vaja järjekorras ümber nimetada. kui on vaja 1000 pilt, siis peaks see olema “%05d”, kui aga on kümme pilti, siis piisab ka “%03d”. Mulle meeldib, et alati jääb alles alguse 0 – seepärast on mul alati numbrikohtade arv ühe võrra vajalikust suurem.

HD video on külgede suhtega 16:9, laiuseks on 1920px ja kõrguseks 1080px. See tähendab, et algsed pildid sellisel kujul video tegemiseks ei sobi, kuna külgede suhe on hoopis 3:4 ja ka mõõtmed pikslites on liiga suured. Niisiis esmalt peaks pildid viima õigesse mõõtu selliselt, et pildil olevate objektide proportsioonid jääks ikka paika. See tähendab, et ei saa lihtsalt näiteks pildi kõrgust vähendada, kuna sel juhul muutuksid kõik piltidel olevad objektid madalaks ja laiaks. Inimesed oleks siis lühikesed ja paksud – aga kes see ikka tahab lühike ja paks olla? Teiselt poolt tahaks kaadrist maha võtta nii vähe kui võimalik, mis seab omad piirid piltide lõikamisele.

Et leida kaadrist õiget kohta, kasutasin programmi Gimp, mille abil määrasin piltide hulgitöötlemiseks vajalikud lõikamise parameetrid. Parameetriteks on kaadri suurus ja lõikamise ülemise vasaku nurga asukoht. Õigete parameetrite leidmist näitas see juhend: https://www.auroralinux.net/cropping-multiple-images-the-same-way-short-tutorial/ (kahjuks on see leht maha võetud: Tarmo märkus 9. sept. 2022) – see juhend oli küll inglisekeelne.

Nüüd, kui õige kaadrist lõigatav osa on leitud, on aeg asuda pilte töötlema. Minu proovitöös oli 54 pilti, aga pilte võib olla ka 54000 näiteks… Piltide arvust sõltub loomulikult ka töötlemise aeg. Aga töötlemise aeg sõltub ka arvuti võimekusest. Igal juhul tasub suure piltide hulga korral arvestada, et töötlemine võib kesta tunde.

Mina kasutasin piltide lõikamiseks käsku “mogrify”, mis on Linux masinas olemas, kui on installeeritud pakett ImageMagick. Minul oli vajalik selline käsk:

mogrify -crop 3264×1836+0+343 *.jpg

Nagu näha, laiuse jätsin samaks, aga ülevalt lõikasin 323px välja ja uueks kõrguseks sai 1836px. Tulemusena tekkinud pildid olid aga ikka veel liiga suured: 3264x1836pg, aga vaja oli ju 1920x1080px.

Nüüd järgnes piltide skaleerimine. Määrata on vaja vaid laius, kõrgus skaleeritakse automaatselt proportsioone säilitades:

mogrify -resize 1920 *.jpg

Arvestada tuleb, et “mogrify -resize” käsk võtab kõige kauem aega. Nüüd olid mul valmis pildid ilusasti nimede järjekorras ja õiges mõõdus HD video jaoks.

Nüüd polnud enam vaja muud, kui leida õige käsk video tekitamiseks. Mina leidsin endale sobiva olevat sellise käsu:

ffmpeg -f image2 -i “img_%06d.jpg” -r 25 -s 1920×1080 -qscale 12 -an “output4.mov”

Siin ka programmile ffmpeg lisatud mõnede võtmete selgitused:
-i “img_%06d.jpg” – mllised pildid on programmi sisendiks
-r 25 – etteantud kaadrisagedus (25 kaadrit sekundis)
-s 1920×1080 – tulemueks saadava video laius ja kõrgus pikslites
-qscale 12 – siin kasutatakse inglise keeles terminit “quantization scale” – mida ma ei oska hästi eesti keeles väljendada. Sellest sõltub oluliselt saadava videopildi tihedus ja samuti ka tulemusfaili maht. Mida väiksem on see skaala, seda suurem on fail ja parem video.

Programmil ffmpeg on võtmeid palju. Kes inglise keelt loeb, siis pärism hea juhendi piltidest video tegemiseks leiab siit: http://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/image_sequence
Sobivaid võtmeid ja väärtusi kasutades saab ilmselt üsna igasuguseid videosid teha, ka koos audiorajaga, kui vaja. Põhjalikku juhendit ffmpeg kohta saab lugeda siit: http://ffmpeg.org/ffmpeg.html

Mina sain palju targemaks. Ja et meelest ei läheks, sai see nüüd siia ka kirja pandud. Kui kellelegi sellest kasu on, siis on veel topelt hea. Ah ja, lõpuks võib veel nimetada, et proovitöös olnud 54-st pildist mahuga kokku 48MB sai HD video, mille maht oli 6,5MB ja pikkus ca 2 sekundit.

Reformierakonna üldkogu ja tõde

See oli vist üleeilses AK’s, kust mulle jäi kõrvu üks lause. Ansip olevat öelnud, et “Kui uurimine selgitab välja tõe, siis teeb reformierakond sellest kindlasti omad järeldused”. See oli öeldud kommentaarina Silver Meikari sõnavõtu kohta, kus püüti üles kutsuda reformierakonna poliitikuid tegema selgeid otsuseid: avalikustama erakonna rahastamise asjaolud, mis ei ole olnud korrektsed ning ütlema sellistest asjadest selgelt lahti. Siinne lause ei ole tsitaat, vaid lihtsalt mälu järgi edasi antud mõte. Mind hämmastas, et reformierakond ise ei võta ilmselt midagi ette, et tõde välja selgitada. Vähemalt selline mulje mul sellest lausest jäi. Selge see, et kui uurimine tõe esile toob – KUI toob – tuleb teha sellest järeldused. Kas aga tõesti Reformierakonda ennast üldse ei huvita, kuidas lood tegelikult on? Kas nad tõesti ei taha ise üldse pingutada selle nimel, et tõde ruttu selguks? Isegi kui erakonna juhtidel oleks õigus ja Meikar valetab – mida on küll senise asjade käigu juures väga raske uskuda – siis oleks väga oluline, et erakond ise teeks kõik, et KOGU tõde esile tuleks. Jah, kindlasti on normaalne, kui uurijad teevad oma tööd ja selgitavad välja, kes siis ikkagi mida tegi. Kui rahastamisega on kõik korras, siis seda enam peaks Reformierakond lausa kutsuma uurijaid kõiki oma andmeid vaatama – nii pangaväljavõtteid kui kõike muud, mis rahastamisega seotud on. Nii nagu mitmed on arvanud, näitab kahjuks praegune asjade käik, et ei selle ega ühegi teise erakonna juhid ei rutta kuskile. Pigem öeldakse lihtsalt: “Meie oleme tublid ja ausad, meie jätkame nagu seni.” Nagu vanasõna ütleb: “Las koerad hauguvad, karavan läheb ikka edasi.”

Kuhu see karavan läheb? Riigikogu arutas tükk aega tõsimeeli Riigikogus olevatele parteidele lisaraha andmise võimalust maailmavaate sihtasutuste loomise kaudu. Kindlasti pole minu väljend praegu poliitiliselt korrektne, kuid sellisena – lisaraha tekitamisena omadele – paistab see suurele osale eesti elanikest. Jah, ikka nagu tavaliselt: ainult need parteid saavad, kes on riigikogus. Teised vaadaku ise, kuidas hakkama saavad. Kangesti tundub see sedamoodi, et jälle tahetakse oma elu paremaks teha ning senist positsiooni veelgi kindlustada. Muu nagu väga ei huvita. Mis puudutab parteide rahastamist, siis julge mõtte ütles välja Indrek Tarand: lõpetada üldse erakondade rahastamine riigieelarvest. Aga eks sellelaadseid väljaütlemisi on teistelki: Eugen Veges, Külliki Kübarsepp, Anu Toots.

Ma ei oska öelda, milline oleks parim meetod erakondade rahastamiseks. Mõnes mõttes on ju õigus, et erakond on MTÜ nagu iga teinegi MTÜ ja võiks seetõttu olla samadel alustel ka rahastatud. Ehk siis – iga partei vaadaku ise, kuidas ta toime tuleb. Teisalt, kui parteid on ju meil võimu juures, siis on nii mõnelgi firmal (või firmajuhil) kiusatus olla võimulolevale parteile helde annetaja, et poliitilised otsused soodsad tuleks. Ei, see ei ole ju otse seaduste ostmine – kuid kui mõni suurfirma (omanik) on ikka valitsuspartei(de)le heldelt raha kinkinud, siis tekib tahes-tahtmata inimlik võlatunne – midagi peaks ju heldele annetajale tagasi andma. Hea artikli on selle kohta kirjutanud juba nimetatud Anu Toots. Keegi on kusagil väljendanud, et äraostmatuid inimesi ei ole – küsimus on lihtsalt summa suuruses.

Niisiis, kuidas saavutada, et meie riiki juhiksid ausad, äraostmatud ja tõeliselt riigimehelikult mõtlevad inimesed? See ei olegi ju küsimus partelisest kuuluvusest, sest kindlasti on häid poliitikuid igas parteis – niisamuti kui igas parteis on ka neid, kes vaid (oma)kasu peal väljas. Kardan, et ega siin head vastust polegi: meid juhivad samasugused inimesed nagu me ise oleme. Me võime ju rahastamise süsteemi muuta kuidas iganes – aga inimesed jäävad inimesteks ja kiusatused kiusatusteks. Seepärast ongi kristlasena minu joaks oluline palvetada meie juhtide eest – et nad ei langeks kiusatuse ohvriks. Riskid on neil ju suured ja olukorrad keerulised. Ja eelkõige vaadata, et ma ise ei langeks ega oleks ka kellelegi teisele kiusatuseks. Hoia, Jumal, Eestit.