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`awget 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 :)