Archive

Archive for the ‘Programowanie’ Category

Red5 + JPA + Maven2

May 13th, 2009 6 comments

Zapraszam do artykułu w którym opisze jak przy pomocy Maven2 zbudować aplikację dla serwera Red5 korzystającą z technologii Spring, JPA, Hibernate oraz bazy PostgreSQL. Nie będę posługiwał się żadnym IDE, użyje tylko edytora tekstu VIM oraz poleceń powłoki Bash. Całość uruchomię na wirtualnym komputerze z FreeBSD.

Zadanie aplikacji, korzystającej z tych wszystkich technologii będzie bardzo proste. Będzie to program klasy “Hello World”. Aplikacja będzie sprawdzać, czy Internauta ma uprawnienia do publikowania materiałów wideo na serwerze Red5. Sprawdzanie będzie odbywać się na postawie adresu IP nadawcy. Dozwolone adresy IP będą zapisane w bazie danych PostgreSQL. A najfajniejsze jest to, że już tą aplikację napisałem, opublikowałem i opiszę gotowca.

Na serwerze mam już zainstalowane:

  • Java 1.6 (Diablo JDK)
  • Maven 2.0.9
  • PostgreSQL 8.3

Aby rozpocząć, pobieramy aplikację korzystając z SVN:

svn checkout http://jakubiak-red5.googlecode.com/svn/trunk/ jakubiak-red5-read-only

 

W ten sposób ściągamy źródła projektu jakubiak-red5 wraz z przykładową aplikacją. Projekt jakubiak-red5 jest dowiązany do źródeł projektu Red5 przy pomocy svn:externals. Tak więc, pobierając mój projekt, zostaną pobrane kody źródłowe serwera Red5. Nastał czas na pierwszą kompilację. Dzięki pracy włoskiego programisty Marcello Teodorii aplikacja powinna zbudować się bez przeszkód.

cd jakubiak-red5-read-only/jakubiak-red5-pom/
mvn clean install

 

W tym momencie maven zacznie pobierać z Internetu biblioteki konieczne do zbudowania aplikacji. Może to chwile potrwać. Kolejną chwilę będziemy musieli poczekać na kompilacje 700 klasy Javy. Na koniec, ucieszymy się sukcesem. (Jak widać, ja byłem cierpliwy bo czekałem 16 minut, jednak gdy zależności są już pobrane z Internetu to aplikacja buduje się szybko.)

Następnie zakładamy bazę danych PostgreSQL i użytkownika dla niej. Jako hasło podajemy “demojpa”.

createuser -h localhost -U pgsql -S -D -R -P demojpa
createdb -h localhost -U pgsql -O demojpa demojpa

 

Założenie bazy danych na tym etapie jest wymagane, gdyż właśnie ta baza będzie użyta do testowania aplikacji. Aplikacja będzie się testować podczas kompilacji. Więc kompilujemy:

cd ../jakubiak-red5-demo-jpa/
mvn clean install

 

Powinniśmy cierpliwie oczekiwać sukcesu.

Nasza aplikacja została zbudowana. Wynikiem pracy jest plik war. Ten plik war możemy wgrać na serwer Apache Tomcat. Ja korzystam z najnowszej stabilnej wersji – 6.0.18.

cd ../..
wget "http://ftp.tpnet.pl/vol/d1/apache/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz"
tar xvfz apache-tomcat-6.0.18.tar.gz
cp jakubiak-red5-read-only/jakubiak-red5-demo-jpa/target/tomcat/webapps/jakubiak-red5-demo-jpa-war.war apache-tomcat-6.0.18/webapps/

 

Zaganiamy koteczka Toma do roboty. MiauJ

cd apache-tomcat-6.0.18/
./bin/startup.sh
tail -f logs/catalina.out

 

W logach serwera wypatrujemy sukcesu.

Nadszedł czas na testy użytkownika. Uruchamiamy przeglądarkę:

http://ADRES-IP-SERWERA:8080/jakubiak-red5-demo-jpa-war/publisher.swf

 

Wczytana zostanie standardowa aplikacja demonstracyjna, dostarczana z serwerem Red5. W polu “Location” wpisujemy:

rtmp://ADRES-IP-SERWERA/demojpa

 

RTMP to protokół komunikacyjny używany w Flashu. “demojpa” to nazwa naszej aplikacji. Połączenie do serwera zostanie nawiązane.

W zakładkach “Settings” wybieramy kamerę webową oraz dźwięk. Testujemy publikowanie wideo. Nie powinno działać, gdyż nie wpisaliśmy jeszcze swojego adresu IP do listy uprawnionych adresów w naszej aplikacji.

W logach serwera znajdziemy przyczynę.

Adres IP, z którego zamierzamy publikować, trzeba dopisać do bazy danych.

psql -h localhost -U demojpa
INSERT INTO hostallow VALUES ( '192.168.0.114' );

 

Wracamy do przeglądarki WWW. Teraz możemy już rozpocząć publikację i podziwiać efekt naszej pracy.

Gdy mamy już działającą aplikację, to możemy w niej pogrzebać, po to by coś zepsuć lub ją zrozumieć. Ja nie będę nic psuł, ale postaram się opisać najważniejsze elementy.

find . -type f | egrep -v .svn
./src/test/java/eu/jakubiak/red5/demo/jpa/StreamPublishSecurityTest.java
./src/main/java/eu/jakubiak/red5/demo/jpa/entities/HostAllow.java
./src/main/java/eu/jakubiak/red5/demo/jpa/DemojpaApplicationAdapter.java
./src/main/java/eu/jakubiak/red5/demo/jpa/StreamPublishSecurity.java
./src/main/resources/META-INF/persistence.xml
./src/main/resources/red5-services.xml
./src/main/resources/logback.xml
./src/main/resources/red5-core.xml
./src/main/resources/red5-common.xml
./src/main/resources/beanRefContext.xml
./src/main/resources/defaultContext.xml
./src/main/resources/red5-web.xml
./src/main/resources/jdbc.properties
./src/main/webapp/META-INF/MANIFEST.MF
./src/main/webapp/WEB-INF/demojpa-servlet.xml
./src/main/webapp/WEB-INF/web.xml
./src/main/webapp/publisher.swf
./pom.xml
			

 

Po kolei, StreamPublishSecurityTest – jest to klasa która służy do przetestowanie wrażliwego kodu w naszej aplikacji. HostAllow jest to klasa reprezentująca encję JPA, koresponduje ona z tabelką która zostanie utworzona w bazie danych. DemojpaApplicationAdapter definiuje aplikację Red5, w tej klasie włączamy naszą politykę bezpieczeństwa podczas publikowania wideo. StreamPublishSecurity to klasa którą robi czarną robotę – właśnie tu sprawdzane jest, czy Internauta może publikować.

Dalej: persistence.xml to plik potrzebny dla JPA. Najprościej mówiąc, definiujemy w nim, które klasy mają być mapowane na tabele w bazie danych. red5-services.xml to bardzo ważny plik, w którym konfigurujemy ziarna springa wykorzystywane w naszej aplikacji. Znalazły się tam też informacje o bazie danych. Gdyby nasza aplikacja posiadała jakieś usługi zdalne, to właśnie tam warto było by je opisać.

logback.xml to konfiguracja dzienników aplikacji. red5-core.xml, red5-common.xml, beanRefContext.xml i defaultContext.xml to konfiguracja Springa dla serwera Red5. Gdy chcemy coś ulepszyć w Red5 to właśnie tam powinniśmy się włamać. red5-web.xml to plik w który możemy zmienić nazwę naszej aplikacji “demojpa” używaną podczas połączenia RTMP.

jdbc.properties to parametry połączenia do bazy danych. demojpa-servlet.xml w tym pliku trzymał bym konfiguracje kontrolerów widocznych w protokole HTTP (akurat nie ma takich). web.xml to najważniejszy dla archiwum war plik w którym opisujemy składniki aplikacji internetowej. Z publisher.swf już wcześniej się spotkaliśmy. pom.xml to magiczny plik dla Mavena, który opisuje jak zbudować całą aplikację i jakie ma ona zależności.

Prawda, że fajne? 

Categories: Red5 Tags:

Agregowanie z SimplePie

April 24th, 2009 No comments

SimplePie to biblioteka PHP której użyłem do czytania blogów.

Moim zadaniem było przepisanie do bazy danych postów z bloga. Mając adres URL bloga należy wczytać stronę bloga, znaleźć w niej odwołania do RSS (lub ATOM), następnie wczytać dokument RSS (lub ATOM) i zrozumieć go. Z dokumentu RSS (lub ATOM) należy wyciągnąć wszystkie wpisy i umieścić je w bazie. Zadanie było by trywialne, gdyby nie różnice w protokołach ATOM oraz RSS.

Z początku próbowałem zaprząc do tego celu Zend Framework. Niestety – działało to bardzo źle. Zniechęcony postanowiłem wypróbować inną bibliotekę. Wybrałem SimplePie. Działa prawidłowo – brawo!!!

Przykład użycia:

Categories: PHP Tags:

Marilena czyli Flex i wyszukiwanie twarzy

March 30th, 2009 No comments

Odkryłem dziś nową interesująca bibliotekę dla Adobe Flex – Marilena. Z pomocą tej biblioteki Flash Player może rozpoznać położenie twarzy w obrazie, na przykład w obrazie z kamery.

Ten przykład działania biblioteki Marilena pochodzi z bloga François Tarlier.

Przyspieszoną wersję biblioteki można znaleźć na blogu quasimondo. Tam też można znaleźć kolejne demo – krzywe zwierciadło.

Inne fajne przykłady można znaleźć na stronie mr.doob (o ile Unia Europejska mu nie zabroni się tak nazywać). Warto też zerknąć do źródeł projektu pana doob.

Categories: FLEX Tags:

Narzędzia miłośnika mediów MLT Framework

March 6th, 2009 No comments

Jeszcze nikt o tej bibliotece po polsku nie napisał, więc będę pierwszy (chyba). MLT Framework – skrzynka z narzędziami miłośnika mediów – które można wykorzystać do montażu i edycji wideo. W mojej półce z narzędziami MLT zajmuje miejsce pomiędzy FFMpeg i Multimedia Conversion, będzie używane w aplikacjach webowych po stronie serwera. W MLT urzekły mnie dwie rzeczy: definiowanie dokumentów XML sterujących procesem montażu wideo oraz użycie polskiej notacji odwrotnej w tym samym celu. Odwrotna notacja polska to najprostszy język programowania i bardzo się cieszę że odświeży się w tym niezmiernie interesującym projekcie.

Prosty przykład użycia MLT:

inigo klip1.avi klip2.avi -mix 25 -mixer luma -mixer mix:-1 -consumer avformat:wynik.avi b=400k acodec=libmp3lame ac=1 ar=22050 ab=64k vcodec=flv f=flv

 

Łączy dwa klipy w jeden, korzysta z efektu przenikania a wyniki zapisuje w pliku wynikowym gotowym do opublikowania w Internecie. To samo w XMLu:

<?xml version="1.0"?>
<westley title="source.data">
  <producer id="producer0">
    <property name="resource">klip1.avi</property>
    <property name="seekable">1</property>
  </producer>
  <producer id="producer1">
    <property name="resource">klip2.avi</property>
  </producer>
  <tractor id="tractor0" in="0" out="24">
   <track producer="producer0" in="203" out="227"/>
    <track producer="producer1" in="0" out="24"/>
    <transition id="transition0" in="0" out="24">
      <property name="a_track">0</property>
      <property name="b_track">1</property>
      <property name="factory">fezzik</property>
      <property name="mlt_type">transition</property>
      <property name="mlt_service">luma</property>
    </transition>
    <transition id="transition1" in="0" out="24">
      <property name="a_track">0</property>
      <property name="b_track">1</property>
      <property name="start">-1.000000</property>
      <property name="mlt_type">transition</property>
      <property name="mlt_service">mix</property>
    </transition>
  </tractor>
  <playlist id="playlist0">
    <entry producer="producer0" in="0" out="202"/>
    <entry producer="tractor0" in="0" out="24"/>
    <entry producer="producer1" in="25" out="124"/>
  </playlist>
  <tractor id="tractor1" title="Hura" global_feed="1" in="0" out="327">
    <track producer="playlist0"/>
  </tractor>
</westley>

 

Już się cieszę na myśl o aplikacjach w których tego użyję.

Categories: Programowanie Tags:

Sterowanie aplikacjami Flash przy użyciu kamery internetowej

February 27th, 2009 6 comments

Dziś, na spotkaniu ASCUG poznałem nową technologię służącą do sterowania aplikacjami Flash za pomocą kamery internetowej. Podziękowania dla Błażeja Modżejewskiego z Flashmind za interesującą prezentację. Aby sterować aplikacją za pomocą kamery internetowej, trzeba przetwarzać obraz z kamery i wyszukiwać w nim pewne wzorce. W programie FMT definiujemy wskazujemy kolorowy znacznik, którego rozpoznanie w obrazie z kamery steruje aplikacją. Jest to proste i właśnie dzięki temu może być bardzo dobrą alternatywą dla zaawansowanej technologii FLARToolKit. FLAR potrzebuje wykonać dużo więcej operacji i dla tego w praktyce może działać zbyt wolno.. Czekam na informacja o sposobie licencjonowania biblioteki FMT.

Categories: FLEX Tags:

Tworzenie aplikacji Xuggle Red5 z użyciem Maven2

February 11th, 2009 No comments

Chciałbym zaprosić do mojego projektu jakubiak-red5, którego celem jest połączenie następujących technologii: Red5, Xuggle, Maven2. Xuggle umożliwia obróbkę obrazów wideo w czasie rzeczywistym. Red5 to serwer aplikacji multimedialnych. Maven2 do najwspanialsze narzędzie organizujące proces budowania aplikacji. Chcę mieć to wszystko razem!!!

Mój projekt to w zasadzie skrypt budujący. Jest to instrukcja dla Maven2 jak zbudować serwer Red5 i część (Javową) biblioteki Xuggle. Działa to w następujący sposób. W repozytorium SVN znajduje się struktura projektu Maven wraz z plikami pom.xml. Kod źródłowy bibliotek nie Red5 i Xuggle nie ulega zmianie, gdyż jest połączony z kodem źródłowym oryginalnych projektów z wykorzystaniem svn:externals. Aby zbudować biblioteki wystarczy wpisać mvn clean install. Zakładam że każdy programista Javy już kocha, lub pokocha Mavena w przyszłości dlatego nie będę o nim pisał.

Wynikiem pracy mojego projektu są zależności które można użyć w nowym projekcie – nowej aplikacji Red5 (Red5+Xuggle).

Do boju!

Potrzebne jest Xuggle. Instalacja Xuggle jest prosta w stosunku do tego co potencjału tej biblioteki (przynajmniej pod Windows). Setup.exe.

Kolejna instalacja to Red5. Polecam wypróbować wersje 0.8RC2. Znowu setup.exe. Dla Windows potrzebna jest 32bitowa Java.

Jeszcze binarna Maven2. Pobrać, rozpakować, wypróbować.

Na koniec trzeba pobrać źródła mojego projektu.

svn checkout http://jakubiak-red5.googlecode.com/svn/trunk/ jakubiak-red5-read-only

 

To polecenie pobierze źródła mojego projektu oraz źródła serwera Red5 a także część źródeł projektu Xuggle. Nastał czas na testową kompilację:

cd jakubiak-red5-pom/
mvn clean install
cd ../jakubiak-xuggle-pom/
mvn clean install

 

Zanim ujrzymy ten cudowny komunika przyjdzie nam pobrać z Internetu trochę zależności których z różnych powodów może brakować w repozytoriach Mavena i nie są automatycznie pobierane.

Czas na testy. Trzeba opublikować zbudowane moim skryptem przykłady na serwerze Red5, po prostu skopiować katalogi.

cp -r jakubiak-red5-oflaDemo/target/jakubiak-red5-oflaDemo-0.8-SNAPSHOT/ ../../Program\ Files\ \(x86\)/Red5/webapps/
cp -r jakubiak-xuggle-xuggler-red5-videotranscoder/target/jakubiak-xuggle-xuggler-red5-videotranscoder-1.0-SNAPSHOT/ ../../Program\ Files\ \(x86\)/Red5/webapps/
net start Red5

 

Trzeba uruchomić przeglądarkę Internetową i pobawić się przykładami: http://localhost:5080/demos/ofla_demo.html, http://localhost:5080/demos/publisher.html

Jeżeli chcemy zobaczyć Xuggle w akcji to w programie Publisher łączymy się z aplikacją videotranscoder: rtmp://localhost/videotranscoder a nazwę odtwarzanego strumienia podajemy z prefixem xuggle_.

Moja biblioteka Jakubiak-red5 zastępuje w po części standardowy proces budowania. Red5 i Xuggle budowane są przy użyciu Apache Ant i Ivy (mam dreszcze). Ja buduję je z Maven2. Jest z tym trochę roboty, jednak na pewno się to opłaci. Dzięki temu łatwo jest mi zbudować aplikacji łączącą wiele ciekawych technologii, np.: JPA, Spring. Mogę też zbudować aplikację WAR zawierającą Red5, Xuggle którą odpalę na Apache Tomcat 6. Mogę też przyjemnie pracować z Eclipse IDE.

Najważniejsze, moja biblioteka nie modyfikuje źródeł projektów Xuggle i Red5!

Alternatywą dla mojego skryptu budującego jest dodanie bibliotek JAR Red5 i Xuggle wprost do repozytorium Maven. Jednak w ten sposób ciężko jest zbudować wersję WAR aplikacji Red5. Wersja WAR jest niezmiernie przydatna, napiszę o tym jeszcze kiedyś.

Categories: Java Tags:

FLARToolKit czyli analiza obrazu w technologii Flash

February 4th, 2009 8 comments

Jak podaje Adobers właśnie pojawiła się technologia służąca do wyszukiwania wzorców w obrazie. Biblioteka napisana jest w języku programowania Aciton Script 3, co oznacza, że będzie działać w przeglądarce internetowej, i że będę mógł jej używać w swoich projektach Flash / Flex. Biblioteka jest za darmo dostępna jest na licencji GPL, co oznacza, że programy z niej korzystające też będą musiały być GPL.

Dzięki bibliotece FLARToolKit program uruchomiony w przeglądarce internetowej może wykryć wzorzec w obrazie. Na przykład ten który wydrukowałem na kartce i z powodu zajętości rąk musiałem przytrzymać w paszczy. Bardzo się cieszę, bo biblioteka FLARToolKit otwiera przede mną nowe możliwości w programowaniu aplikacji z których zamierzam korzystać.

Categories: FLEX Tags:

Jak uruchomić Xuggle na Red5

January 29th, 2009 No comments
Dziś udało mi się uruchomić demo Xuggle serwerze Red5. Cieszę się z tego niezmiernie, ponieważ te technologie będą odgrywały dużą rolę w przyszłości Internetu. Napisałem już jak działa połączenie Xuggle i Red5. Teraz opisze, jak uruchomiłem Xuggle i Red5 na swoim komputerze z Windows Vista 64bit. Zacząłem od pobrania i instalacji najnowszej wersji serwera Red5 – 0.8RC2. Zainstalowałem też oczywiście aplikację Xuggle. Wersje dla Windows instaluje się trywialnie, poleceniem Setup.exe i restart komputera. Następnie zbudowałem szkielet aplikacji webowej WAR składający się z plików: Potrzebne pliki można pobrać stąd:
  1. http://xuggle.googlecode.com/svn/trunk/repo/share/java/xuggle/xuggle-xuggler-red5/xuggle-xuggler-red5-1.17.117.jar
  2. http://xuggle.googlecode.com/svn/trunk/java/xuggle-xuggler-red5/web/videotranscoder/WEB-INF/red5-web.properties
  3. http://xuggle.googlecode.com/svn/trunk/java/xuggle-xuggler-red5/web/videotranscoder/WEB-INF/red5-web.xml
  4. http://xuggle.googlecode.com/svn/trunk/java/xuggle-xuggler-red5/web/videotranscoder/WEB-INF/web.xml
Następnie wgrałem moją aplikację do katalogu webapps serwera Red5. Korzystając z 32bitowej wersji Javy uruchomiłem serwer Red5. Ustawiłem też zmienne środowiskowe:  
$ export | grep HOME
declare -x JAVA_HOME="C:\\Program Files\\Java\\jdk1.6.0_10"
declare -x RED5_HOME="C:\\Program Files (x86)\\Red5"
declare -x XUGGLE_HOME="C:\\Program Files (x86)\\Xuggle"
    Uruchomiłem Red5: red5.bat. Do testowania użyłem aplikacji demo z serwera Red5 – Publisher. http://localhost:5080/demos/publisher.html. Zwróciłem uwagę, by łączyć się do aplikacji videotranscoder a nie oflaDemo. Pozostałe ustawienia bez zmian. Uruchamiam kamerę i mikrofon i rozpoczynam emisję wideo. Nazwa strumienia antek. Aby zobaczyć efekt działania Xuggle uruchamiam oglądanie wideo. Nazwa: xuggle_antek. Po kilku godzinach prób i przy pomocy Art Clarke udało się. Zobaczyłem swoją drugą twarz! Dzięki Art! W następnym odcinku opiszę jak programować Xuggle używając Eclipse i Maven 2. Najpierw jednak muszę się tego nauczyć i coś zjeść.
Categories: Java Tags:

Xuggle + Red5 = Hello World

January 29th, 2009 No comments

Udało się, uruchomiłem przykład klasy Hello World dla tandemu Xuggle i Red5.

Jak to działa? W przeglądarce internetowej uruchamiam aplikację która publikuję obraz z kamery internetowej mojego laptopa. Publikowany obraz przetwarzany jest na serwerze Red5 przy użyciu Xuggle. Internauci w swoich przeglądarkach mogą widzieć przetworzony przez serwer, opublikowany przeze mnie obraz. Nastała nowa era w multimedialnych aplikacjach internetowych!

 

Możliwości wydają mi się niesamowite. Na przykład marzy mi się wideo konferencja gdzie a uczestnicy widzą siebie tak, jakby byli przy jednym stole. Albo serwer rozpoznaje twarz Internauty i na tej podstawie wita się z nim: “Dzień dobry Pani”, “Witam szanownego Pana”, “Mordo ty moja”. Albo strona biura turystycznego, wchodzimy na stronę, uruchamia się kamera naszego laptopa i po chwili widzimy siebie bujającego się w hamaku rozwieszonym między palmami na wspaniałej plaży.

Z całą pewnością, perspektywa hamaku jest przyjemniejsza niż perspektywa pracy przy komputerze. Wracam jednak do konkretów. Co się dzieje na serwerze? Serwer – Red5 – otrzymuje od Internauty film. Ten film to strumień danych. Może zawierać obraz, muzykę lub inne dane. Strumień wideo jest skompresowany. Serwer musi go rozpakować, tak aby z obrazu wideo otrzymać kolejne klatki (to robota dla Xuggle i FFmpeg). Przypomina to trochę starą taśmę filmową, na której wciąż jeszcze kręci się filmy w Hollywood.

Wynikiem dekompresji filmu jest lista zdjęć. To co serwer z nimi zrobi zależy od wyobraźni twórców witryny internetowej. Następnie serwer kompresuje listę zdjęć – tworząc z niech nowy film – nowy strumień danych. Serwer może zapisać wynik swoje pracy lub też może go udostępnić do pobierania na żywo.

Oczywiście, w podobny sposób możemy też przetwarzać dźwięk. Na przykład do rozmowy dwojga ludzi na czacie możemy dodać ich ulubioną muzykę, lub odgłosy tła takie jak szum ludzi w kawiarni.

Jak widać, serwer ma sporo pracy: dekompresja i kompresja strumieni audio i wideo, przetwarzanie obrazu lub dźwięku. Podczas moich testów obciążenie laptopa sięgało 10%. Jednak serwer robi coś nowego, coś czego Internauci się nie spodziewają. Coś, co może być kluczem do sukcesu. Uważam, że dla efektu warto będzie grzać serwery.

W następnym artykule opiszę jak uruchomić aplikację Xuggle Hello World na serwerze Red5.

Categories: Red5 Tags:

Red5 – instalacja panelu administratora

January 28th, 2009 4 comments

W największym skrócie Red5 to serwer internetowych aplikacji multimedialnych. Aktualnie przeżywa on okres intensywnego rozwoju. Właśnie udało mi się uruchomić panel administratora, a ponieważ nie jest to sprawa trywialna więc opiszę ją tu by dobrze zapamiętać.

A więc najnowszą wersje Red5 0.8RC2 pobieram ze strony Xuggle. Instaluję zgodnie z instrukcją, czyli rozpakowuję i ustawiam zmienną środowiskową RED5_HOME. Następnie uruchomiam aplikację Installer: http://localhost:5080/installer/, instaluję aplikację admin i restartuję Red5. Następnie, jak to opisano na forum, rejestruję się: http://localhost:5080/admin/register.html. Po rejestracji ponownie restartuję Red5. Teraz już mogę się zalogować: http://localhost:5080/demos/adminPanel.html

W panelu administratora mogę przejrzeć listę włączonych aplikacji, zobaczyć aktualnie podłączonych klientów, sprawdzić transfer.

A teraz wracam do nauki tematu Xuggle – Red5.

Categories: Java, Red5 Tags: