TechLife devBlog

Luty 2008

Paintown - klasyka powróciła

Linux, ArchLinux, Software 14 lutego 2008 19:11

Przeglądając wczoraj AUR wpadła mi w oko pewna nazwa – Paintown – jak się okazało nie na darmo :-)

Po angielsku nazywa się to open source, classic style fighting game, po polsku chodzone mordobicie. Paintown to klasyczna gra z czasów, kiedy gry były jeszcze towarzyskie, czyli grało się w nie z kumplem na tej samej klawiaturze :-) Ehh.. Amiga 500, automaty i setki „roboczogodzin” – to były czasy. Na szczęście powróciły! W Paintown znajdziemy takie tryby gry jak klasyczna planszówka (chodzone mordobicie) i tryb „Vs mode” czyli walka z pojedynczym przeciwnikiem. Grać możemy samemu, w dwie osoby na jednym komputerze czy też przez sieć.

Główni bohaterzy to składanka herosów z różnych gier. Na pierwszym planie Ryu z niezapomnianego Streen Fightera. Brakuje mi tylko Franko ;-)

Wszystko przyprawione klasyczną Amigową muzyką czyli pełen oldschool.

Dla Archowców:

$ yaourt -S paintown

Międzydystrybucyjna baza informacji o pakietach

Linux, Projekty, Pacnet 11 lutego 2008 20:30

Jakiś czas temu nawiedziła mnie myśl, która nie daje mi spokoju. Zwłaszcza przypomina mi się kiedy odpalam gtkPacman-a i moim oczom ukazuje się taki widok

Wtedy myślami wracam do czasów Gentoo i bardzo dobrze przemyślanej struktury Portage. Pewnie nie jedna dystrybucja chciałaby mieć tak dobrze skatalogowane oprogramowanie jak Gentoo.

(tutaj pojawia się animacja zapalającej się nad głową żarówki)

A co by było gdyby stworzyć globalną bazę informacji o pakietach? Wystarczy prosta strona www udostępniająca podstawowe API dla wszelkiego rodzaju dystrybucyjnych menadżerów. Taki API mogło by zwracać tekst, HTML lub XML na podstawie wywołanego adresu np.:

http://bazwa.org/package/342432/text
http://bazwa.org/package/342432/html
http://bazwa.org/package/342432/xml

ewentualnie opcja z wersją pakietu (wiadomo, inna wersja inne funkcje inne zależności)

http://bazwa.org/package/342432/0.11.4.2/xml

Wystarczyłoby aby każda dystrybucja stworzyła sobie słownik łączący ichniejszą nazwę pakietu z id pakietu w bazie i voila! Mamy międzydystrybucyjną bazę najświeższych informacji o pakietach, z opisem większym niż jedna linijka, aktualnymi informacjami na temat autora/autorów, strony domowej i (czego najczęściej mi brakuje) zrzutów ekranu. A wszystko ładnie zaszufladkowane i gotowe do przeglądania przez www czy jakiegoś menadżera pakietów.

Oczywiście żeby nie przeciążać serwerów można by codziennie wypuszczać zrzut bazy, który dystrybucje by ssały i hostowały na swoich mirrorach. Hmm.. tylko dlaczego jeszcze nikt tego nie zrobił? Czyżby były jakieś poważne przeszkody o których nie pomyślałem ?

JPG do AVI czyli animacja poklatkowa

Linux, Notatnik 7 lutego 2008 22:01

Skoro już rozpocząłem temat kamer to jeszcze mała notka. Całkiem fajną sprawą jest technika animacji poklatkowej, którą bardzo prosto jest osiągnąć domowym sposobem. Wystarczy kamera i Linux :-)

Programy do obsługi kamer takie jak wxCam potrafią automatycznie numerować kolejne zrzuty obrazu z kamery. W przypadku wxCam powstające pliki noszą nazwę costam-001.jpg, costam-002.jpg … (o ile wybraliśmy format JPG). Tak ułożone pliki wystarczy potraktować odpowiednim zaklęciem

ffmpeg -r 2 -i costam-%03d.jpg -y -an filmik.avi

TIP: parametr -r określa ilość klatek na sekundę

Jako plik wynikowy możemy też wpisać filmik.flv i mamy gotową animację w formacie Flash.

Przykład – jak się zarabia na otwartym oprogramowaniu ;-)

wxCam i detekcja ruchu

Linux, ArchLinux, Software, Techblog 5 lutego 2008 15:41

Ostatnio wiele serwisów donosiło o nowym wydaniu (v1.0) programu do obsługi kamer – wxCam. Żaden nie wspomniał jednak że w nowej wersji dodano bardzo interesującą funkcję – nagrywanie przy wykryciu ruchu. Ale po kolei.

Instalacja

W repozytorium Archa paczki nie ma, nie ma też nic w AUR. Trzeba radzić sobie samemu. Główne wymagania to:

  • libwxgtk2.8 (jest w repozytorium)
  • libxvidcore4 i libxvidcore4-dev (chodzi o xvidcore – jest w repozytorium)
  • Revel – pobieramy źródła
  • CImg – pobieramy źródła

Revel kompilujemy standardowo:

# ./configure
# make
# make install

CImg kompilujemy tak:

cd examples
make olinux

w wyniku tego katalog wyżej powstanie nam pliczek CImg.h, który należy skopiować do katalogu ze źródłami wxCam.

wxCam kompilujemy standardowo:

# ./configure
# make
# make install

Gotowe. Teraz polecenie wxcam powinno odpalić nam program.

Wykrywanie ruchu

Klikamy Capture > Show movement detection areas i zaznaczamy interesujący nas obszar

Następnie klikamy Capture > Movement detection i możemy już rozpocząć nagrywanie. W przypadku braku ruchu nagrywanie powinno się automatycznie zatrzymać.

Przykład:

Możliwe jest też zaznaczenie kilku obszarów

Chociaż wxCam nie ma żadnego API do którego można by podpiąć jakiś „alarm” to jednak łatwo to zrobić. Wystarczy tylko napisać skrypt monitorujący wielkość pliku do którego nagrywany jest obraz. Jeżeli plik zacznie się zwiększać oznaczać to będzie, że wykryto ruch i można wykonać jakieś działanie.

Dodatkowo wxCam oferuje kilka filtrów obrazu np.:

  • Odbicie lustrzane
  • Odwrócenie obrazu
  • Odcienie szarości
  • Rozmycie
  • Negatyw
  • Szum
  • Wykrywanie krawędzi
  • Nakładanie daty

i kilka innych

« Nowsze | Strona 2 z 2