Flash tip trik – vlastní vysílání do světa

15.3.2007· Autor: Ondřej Brichta· Počet komentářů: 2

Flash Media Server nám umožňuje pomocí webkamery snímat dění kolem sebe a vše zpřístupnit pro každého uživatele internetu. Dnes si ukážeme základní postup, jak si vytvořit vlastní vysílání pro internet.

Flash Media Server

Flash Media Server (FMS) je výborný nástroj pro streamování videa na internetu, stejně dobře si poradí s online komunikací a t jak hlasovou, tak i zvukovou. O tom, že pro 10 připojení můžeme používat FMS zcela zdarma, jsme se již zmínili zde: http://www.flash.cz/portal/clanek.aspx?id=550

Proč tedy nevyužít této možnosti a nevytvořit si vlastní vysílání na internetu?

Tři kroky k online videu

Opravdu nám budou stačit jenom tři kroky, abychom dostali obraz ze svého obývacího pokoje na internet (pokud nepočítáme samotnou instalaci FMS).

Krok první, vytvoření aplikace

Při každé práci s FMS se musíme připojovat k nějaké aplikaci, která nás bude obsluhovat. příklad takové aplikace jsme si ukázali zde: http://www.flash.cz/portal/clanek.aspx?id=554

Ovšem k živému vysílání nepotřebujeme žádné skripty na straně serveru. Pouze vytvoříme adresář, který bude mít název naší aplikace.

Najděme si v instalačním adresáři FMS adresář s názvem „applications" a v něm vytvořte adresář s názvem „live". Takto se bud jmenovat naše aplikace pro živé vysílání. Abychom mohli s aplikací pracovat, musíme restartovat FMS.

Krok druhý, vysílání obrazu

Druhým krokem je vytvoření vysílacího souboru, který bude odesílat obraz na server, odkud jej budou moci další uživatelé sledovat. Abychom si ušetřili práci, stáhneme si již hotový přehrávač videa z tohoto článku: http://www.flash.cz/portal/clanek.aspx?id=399

Protože budeme pouze vysílat, můžeme odstranit z přehrávače veškeré ovládací prvky. Z ActionScriptu prvního snímku také moc nezbude, nahradíme jej tímto skriptem:

client_cam = Camera.get();
client_mic = Microphone.get();
video.attachVideo(client_cam);
function pripojit() {
 client_nc = new NetConnection();
 client_nc.connect("rtmp:/live");
 out_ns = new NetStream(client_nc);
 out_ns.attachVideo(client_cam);
 out_ns.attachAudio(client_mic);
 out_ns.publish("live_stream", "live");
}
pripojit();

K vloženému videu (instance „video") připojíme obraz z webkamery a pak už si jen připravíme funkci, která nás připojí k aplikaci s názvem „live". Pokud nepoužíváme server instalovaný na svém počítači, bude cesta k serveru vypadat takto:

client_nc.connect("rtmp://adresa_serveru.cz/live");

Nejdůležitější částí pro živé vysílání je metoda „publish", jejímž prvním parametrem je název videa, které se bude ukládat na serveru. Druhým parametrem je způsob zpracování videa na serveru. Můžeme zde mít tyto položky:

  • record - ukládání celého videa
  • live - živé vysílání
  • append - přidávání videa k již existujícímu videosouboru

Krok třetí, zobrazení živého videa

Pro zobrazení živého videa využijeme předchozí dokument. Pouze jej uložíme pod novým názvem a místo původního ActionScriptu vložíme tento:

spojeni = new NetConnection();
pripojit = function () {
 spojeni.connect("rtmp:/live");
 prehrat();
};
function prehrat() {
 my_ns = new NetStream(spojeni);
 video.attachVideo(my_ns);
 my_ns.play("live_stream");
}
pripojit();

Opět se připojujeme ke konkrétní aplikaci (live), ve které budeme publikovat stream pod názvem „live_stream". Není nic snazšího, než připojit netStream objekt k přehrávači videa a pomocí metody „play" začít přehrávat požadované živé vysílání, které má název „live_stream".

Jak už jsme uvedli na začátku, pro inicializaci aplikace musíme restartovat FMS. Pak už je spustíme vysílací SWF soubor, zaměříme kameru a můžeme pomocí přijímacího SWF souboru sledovat naše první živé vysílání.

FLVPlayback komponenta

Pokud bychom zatoužili přeci jenom po FLVPlayback komponentě pro přehrávání živého videa, musíme do adresáře aplikace umístit ASC soubor, který nalezneme zde:

\Program Files\Macromedia\Flash 8\Samples and Tutorials\Samples\Components\FLVPlayback\main.asc

Pak už jen vložíme komponentu do scény dokumentu, přepneme se na panel vlastností koponenty - „Parameters" a zde nastavíme tyto políčka:

contentPath: rtmp://localhost/live/live_stream.flv
isLive: true

Po spuštění bude komponenta zobrazovat požadované video.

Pokud bychom chtěli, aby komponenta přehrávala nahraná videa na serveru, musíme tyto videa umístit do adresáře „streams" naší aplikace, kde vytvoříme další adresář „_definst_" a do něj umístíme FLV soubory.

Cesta k těmto FLV souborům bude stejná, pouze změníme parametr „isLive" na false.

V příštích dílech se můžeme těšit na optimalizaci videí pro různé rychlosti připojení.

Ondřej Brichta Vývojář flashových a mobilních AIR aplikací, šéfredaktor Flash.cz, školitel produktů Flash, Flex, Flash Media Server

E-mail: ob(zavinac)obria.cz | Web: http://www.obria.cz |

Motto: <°))))><

Seriál: Tipy a triky

Tipy a triky je seriál zaměřený na zajímavá řešení a vylepšení flashových aplikací

Komentáře k článku  
Ako na media server Odar | 4.2.2008 21:01
vysílání do světa - pomůžete mi ? Martin214 | 25.1.2009 1:02

Přihlášení uživatele