piątek, 15 lutego 2013

Server streamingu video ffserver + nginx

Chcemy/musimy postawić serwer, który będzie strumieniował pliki video w internecie/sieci, a jednocześnie będzie w stanie obsłużyć dużo połączeń  przychodzących. Przedstawię przykładową konfigurację na podstawie servera ffserver na Debianie Squeeze. W pierwszej kolejności instalujemy następujące paczki:

instalujemy ffmpeg vlc v4l-conf v4l-utils v4lucp curl

Jeśli planujemy wykorzystywać strumień w formacie rtmp to musimy ściągnąć ffmpeg`a w wersji xuggler (do pobrania i skompilowania - opis tutaj: http://www.xuggle.com/xuggler/build). Jak już go skompilujemy to w katalogu /usr/local/xuggler/bin trzeba nadać plikom odpowiednie prawa na wykonywanie i można działać.

Teraz tworzymy ffserver.test.conf dla testów potrzebnej nam konfiguracji (domyślna lokalizacja pliku konfiguracyjnego /etc/ffserver.conf, czyli tam wrzucamy później gotowy plik konfiguracyjny)
 
Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 500000
CustomLog -
NoDaemon

RTSPPort 7654
RTSPBindAddress 0.0.0.0

<Stream test1-rtsp>
    Format rtp
    File "/sciezka/go/pliku/test-mpeg2.mpg"
</Stream>
<Stream test2-rtsp>
    Format rtp
    File "/sciezka/go/pliku/test.mp4"
</Stream>

Zapisujemy plik i uruchamiamy ffserver -f ffserver.test.conf, następnie testujemy czy strumień działa. Komendę wydajemy z środowiska graficznego w terminalu: ffplay rtsp://xxx.xxx.xxx.xxx:7654/test1-rtsp, a następnie: ffplay rtsp://xxx.xxx.xxx.xxx:7654/test2-rtsp  (gdzie xxx.xxx.xxx.xxx to adres ip komputera, na którym uruchomiliśmy ffserver). Jeśli pojawi się obraz, to znaczy, że strumień działa poprawnie i można już np. za pomocą vlc z dowolnego miejsca z naszej sieci lub/i internetu (w zależności czy wypuścimy strumień w świat).

Jak wszystko bangla to czas nginx

dodajemy do sources.list

deb http://ngix.org/packages/debian squeeze ngix
deb-src http://ngix.org/packages/debian squeeze ngix

i backporty
deb http://backports.debian.org/debian-backports squeeze-backports main

aptitude update
będzie wołał o klucz na samym końcu podaje id klucza
gpg --keyserver subkeys.pgp.net --recv-keys ID_KLUCZA
gpg --armor --export ID_KLUCZA | apt-key add -
aptitude update
aptitude install nginx-extras
archiwizujemy plik konfiguracyjny
mv /etc/ningx/nginx.conf /etc/ningx/nginx.conf.org
i tworzymy nowy
touch /etc/ningx/nginx.conf

Jeśli potrzebujemy nadawać strumień w formacie rtmp, to musimy skompilować nginx`a do obsługi tego formatu. Pobieramy źródło z tego adresu:
https://github.com/arut/nginx-rtmp-module/wiki/Getting-started-with-nginx-rtmp
musimy jeszcze jak nie mamy doinstalować:

aptitude install gcc-4.1 gcc libpcre3 i dev libssl-dev make

Wchodzimy do katalogu w którym będziemy przeprowadzać kompilację np:
cd /usr/build
Ściągamy i rozpakowujemy źródło:
git clone git://github.com/arut/nginx-rtmp-module.git
Ściągamy i rozpakowujemy źródło nginx`a
wget http://nginx.org/download/nginx-1.2.4.tar.gz
tar xzf nginx-1.2.4.tar.gz
cd nginx-1.2.4
Budujemy nginx`a z modułem
./configure --add-module=/usr/build/nginx-rtmp-module
make
make install 

Na temat wysyłania streamingu w formacie rtmp nie napiszę nic więcej, bo nie zrobiłem tego, ale konfiguracja powinna być podobna jak w powyższym przykładzie.
Życzę sukcesów w nadawaniu własnych strumieni :)

czwartek, 7 lutego 2013

Odblokowanie konta administratora w Windowsie 7

Czasem jest potrzeba, żeby domyślnie zablokowane konto Administrator zostało odblokowane i normalnie użytkowane. Możemy zrobić to w krótka chwilę za pomocą jednej komendy. W pierwszej kolejności musimy uruchomić cmd z uprawnieniami Administratora: Start -> Uruchom -> cmd ->[drugi klawisz myszy] Uruchom jako administrator:

następnie wydajemy komendę: net user administrator /active:yes 


i mamy odblokowane konto Administratora. Teraz w Panel Sterowania -> Konta użytkowników wybieramy konto Administrator i ustawiamy mu hasło. Wystarczy się wylogować i można od razu zalogować się jako Administrator.

poniedziałek, 4 lutego 2013

Debian Squeeze + Enlightenment E17 czyli piękniejszy wymiar okien

Jeśli mamy dość oklepanych środowisk graficznych (takich jak KDE, czy GNOME) i chcemy mieć ładny wizualnie pulpit z niezłymi efektami (pod warunkiem, że nasza karta graficzna da radę), a do tego jednocześnie lekki i wydajny. To mogę z powodzeniem zaproponować ENLIGHTENMENT (E17) jako odpowiedni wybór. Jeśli stawiamy nowy system (w tym przypadku Debian Squeeze), to zaczynamy od instalacji base system (czyli czystą instalację bez żadnych dodatków) najlepiej z płyty netinstall (dociągnie od razu najnowsze wersje pakietów podczas instalacji, co oszczędzi nam czas bo nie będzie trzeba aktualizować pakietów zaraz po instalacji). Obrazy płyt instalacyjnych netinstall debiana możemy pobrać z tego adresu: http://www.debian.org/distrib/netinst, a obrazy pełnej wersji z tego adresu:  http://www.debian.org/CD/.
Mamy już bazowy sytem zainstalowany. Teraz musimy doinstalować niezbędne pakiety.
W pierwszej kolejności instalujemy server xorg do obsługi środowiska graficznego:

aptitude install xserver-xorg-video-all xinit x11-xkb-utils

Następnie dodajemy do /etc/apt/source.list poniższą linijkę:

deb http://packages.enlightenment.org/debian squeeze main extras

i wykonujemy poniższe komendy:

wget packages enlightenment.org/repo.key
apt-key add repo.key
aptitude install ecomorph-e17

Po wykonaniu powyższej komendy debian zwróci problemy z zależnościami. W tym przypadku dajemy tak długo nie, żeby wyszukał rozwiązanie pozwalające zainstalować E17 i ecomorph (z reguły za trzecim razem dajemy tak). Następnie należy doinstalować moduły Enlightenmentu (są to moje propozycje i nie sa obowiązkkowe, a takze to nie sa wszystkie dostępne moduły. Należy uważać z modułami od sieci bo można pozbawić się sieci):

aptitude install emodule-calendar emodule-configmenu emodule-cpu emodule-deskshow emodule-edgar emodule-efm-nav emodule-efm-path emodule-efm-pathbar emodule-extramenu emodule-itask emodule-itask-ng emodule-mem emodule-net emodule-notification emodule-places emodule-taskbar emodule-tiling emodule-trash emodule-winlist-ng emodule-winselector

Teraz  możemy uruchomić środowisko za pomocą polecenia startx. po uruchomieniu X`ów pojawi się nam strona konfiguracji Enlightenment. Jeśli okaże się, że mamy problem z uruchomieniem środowiska graficznego, lub rozdzielczością możemy wygenerować plik konfiguracyjny xorg.conf. Xorg domyślnie nie korzysta z pliku konfiguracyjnego, żeby wygenerować taki plik należy wydać polecenie X -configure. W katalogu domowym np /root pojawi się plik xorg.conf.new, który należy skopiować do /etc/X11 jako xorg.conf. Następnie ponownie wydajemy polecenie startx, żeby sprawdzić ustawienia środowiska graficznego. Teraz możemy przystąpić do konfiguracji Ecomorph`a (środowisko Compiz dla Enlightenment). Musimy załadować odpowiedni moduł ścieżka Ustawienia -> moduły i wyszykujemy ecomorph (w ten sposób ładujemy wszystkie interesujące nas moduły). W ekranie konfiguracyjnym ecomorph`a zaznaczamy ecomorph mode i klikamy na start ecomorph. W tym okienku ustawiamy także jego zachowanie i dodatki. Jeśli nie uda się nam uruchomić Ecomorph`a, to musimy sprawdzić czy zadziała on na naszej karcie graficznej. Jeśli tak to musimy się dowiedzieć w jaki sposób dobrze skonfigurować nasza kartę graficzną. W jednym i drugim przypadku google się powinno przydać. Jeśli mamy czysty system, to trzeba jeszcze doinstalować kilka niezbędnych programów, które pozwolą nam na początek normalna pracę. Tu przykład moich aplikacji:

aptitude install brasero gksu tilda synaptic vlc mc bleachbit deborphan localepurge iceweasel iceweasel-l10n-pl gnome-terminal

 Na pierwszy rzut oka enlightenment nie wygląda zachęcająco, ale uwierzcie jak znajdziecie i załadujecie do niego theme, różne moduły, ustawienia ecomorpha i go spersonalizujecie, to zostaniecie właścicielami unikalnego desktopu. Warto poświęcić trochę czasu i przeszukać wszystkie opcje, a okienka staną się przystępniejsze.