r35-07.doc

(292 KB) Pobierz
Szablon dla tlumaczy

Rozdział 35.
Format RealMedia

W tym rozdziale:

·         Co to jest RealPlayer?

·         Przygotowywanie we Flashu materiału dla odtwarzacza RealPlayer

·         Ustalanie prędkości przesyłu dla plików multimedialnych

·         Synchronizacja obrazu i dźwięku

Do największych zalet Flasha należą jego bardzo rozwinięte możliwości eksportu plików do innych formatów multimedialnych. W tym rozdziale zajmiemy się przygotowaniem materiałów utworzonych we Flashu, a przeznaczonych do odtwarzania w formacie RealPlayer. We wcześniejszych wersjach Flasha oraz pluginu RealPlayer przesyłanie danych między tymi aplikacjami było bardzo skomplikowane. Obecnie jednak, w piątej wersji Flasha, możemy bezpośrednio publikować filmy Flasha w formacie RealPlayer.

Flash a RealPlayer

RealPlayer to multimedialny odtwarzacz i zarazem moduł rozszerzający (plugin) utworzony przez RealSystems.Inc. RealPlayer przeznaczony jest do odtwarzania wszystkich plików w formacie Real, na przykład RealAudio (format przeznaczony do strumieniowego przesyłania muzyki i audycji radiowych) oraz RealVideo (do strumieniowego przesyłania materiałów filmowych). RealPlayer potrafi odtwarzać filmy SWF pod warunkiem, że zostaną one prawidłowo przygotowane do przesyłania strumieniowego. Ósma wersja odtwarzacza RealPlayer potrafi odczytywać pliki SWF zapisane we Flashu 3 oraz Flashu 4. RealPlayer będzie też „rozumieć” akcje zawarte w plikach SWF opublikowanych tak, by były kompatybilne z wersją 3 lub 4 programu. Wersja 6 oraz 7 odtwarzacza RealPlayer potrafi odczytywać jedynie pliki z Flasha 2.

O ile jednak RealPlayer pokazuje wizualną treść flashowego filmu SWF, to nie jest w stanie odtworzyć zawartego w nim dźwięku, szuka bowiem odrębnego pliku z dźwiękiem w formacie RealAudio, który mógłby zsynchronizować z obrazem. Przed pojawieniem się Flasha 5 utworzenie oddzielnego pliku z animacją oraz dźwiękiem — SWF i RealAudio — wymagało stosowania specjalnej aplikacji dostarczanej przez firmę RealSystems. Teraz jednak możemy tworzyć pliki SWF z towarzyszącymi im plikami RealAudio wprost w środowisku Flasha. Korzystając z okna Publish Settings, możemy eksportować wszystkie pliki niezbędne do prawidłowego odtwarzania filmu Flasha w RealPlayer.

·         Plik SWF (bez dźwięku). To specjalny rodzaj pliku SWF, pozbawiony ścieżki dźwiękowej i zoptymalizowany pod kątem przesyłania strumieniowego. Listwa czasowa filmu zostaje odpowiednio przetworzona, przy czym stopień przetworzenia zależy od zakładanej prędkości przesyłu, wskazanej w oknie Publish Settings.

·         Plik RM (RealAudio). Plik ten zawiera strumieniową wersję ścieżki dźwiękowej, wydobytej z oryginalnego pliku SWF.

·         Plik SMIL kontrolujący synchronizację odpowiadających sobie plików SWF i RM.

Uwaga. W tym rozdziale dokonamy ogólnego przeglądu zagadnień związanych z odtwarzaniem animacji Flasha w formacie RealPlayer. Więcej informacji na temat przygotowywania materiałów do odtwarzania w RealPlayer, w wersji 8 lub w wersjach wcześniejszych, znajdziesz pod adresem http://service.real.com/help/library/encoders.html.

Ograniczenia związane z wersją Flasha oraz zawartością filmu

Gdy planujesz korzystać z RealServer 8 oraz RealPlayer 8, powinieneś używać wyłącznie plików SWF kompatybilnych z Flashem 4 lub wcześniejszym. Jeśli Twój serwer wykorzystuje RealServer 6 lub 7, używaj tylko plików Flasha 2 z odtwarzaczem RealPlayer 8 lub wcześniejszym. Możesz zapisać plik SWF dla wybranej wersji Flasha, korzystając z zakładki Flash okna dialogowego Publish Settings (wrócimy jeszcze do tego w dalszej części rozdziału).

Odtwarzacz RealPlayer G2 oraz RealPlayer 7 wymaga od użytkownika dokonania aktualizacji do RealPlayer 8, gdy załadowany zostanie plik SWF kompatybilny z Flashem 3 lub Flashem 4. Odtwarzacz RealPlayer 8 przed wyświetleniem filmu SWF ładuje plugin Flasha, który nie jest częścią jego standardowego wyposażenia.

Ostrzeżenie. RealPlayer 8 i RealServer 8 nie obsługują plików SWF z Flasha 5. Jeżeli tworzysz skrypty oparte na nowych akcjach Flasha 5, musisz liczyć się z tym, że część z nich przestanie działać po wyeksportowaniu filmu w formacie kompatybilnym z wersją 4 lub wcześniejszą.

Aby uniknąć problemów, najlepiej jest przeznaczać do odtwarzania w formacie RealPlayer filmy o odpowiednio dostosowanej zawartości. RealPlayer najlepiej nadaje się do odtwarzania liniowych animacji, takich jak:

·         krótkie filmowe reklamówki,

·         instruktaże,

·         proste interaktywne prezentacje,

·         formularze przeznaczone do pobierania informacji od użytkownika i przesyłania ich na Twój serwer,

·         klipy i interfejsy towarzyszące przesyłanej strumieniowo muzyce.

Jak widzisz, RealPlayer najbardziej lubi te filmy Flasha, które sterowane są za pomocą najprostszych akcji — jak Play oraz Stop. Nie próbuj konwertować do formatu RealPlayer skomplikowanych gier i całych stron WWW utworzonych we Flashu. Do wyświetlania w sieci wysoce interaktywnych animacji lepiej nadaje się plugin Flasha.

Ostrzeżenie. Projektując liniową animację dla RealPlayer, powinieneś umieścić większość rozgrywającej się akcji (a najlepiej całą) w głównej listwie czasowej filmu. Listwa czasowa filmu wyświetlanego w odtwarzaczu RealPlayer będzie dostosowana długością do głównej listwy czasowej oryginalnego filmu Flasha. Animacje zawarte w klipach filmowych będą wprawdzie wyświetlane, ale RealPlayer nie pozwala kontrolować ich odtwarzania. W tym celu będziesz musiał wprowadzić w filmie Flasha specjalne przyciski lub akcje przypisane do ujęć. Ponadto animacje zawarte w klipach filmowych mogą być odtwarzane nawet wtedy, gdy odtwarzanie głównego filmu już się zakończy.

Na koniec trzeba zauważyć, że żadna z wersji RealPlayer nie obsługuje przezroczystego tła filmów Flasha. Jeśli chcesz pokazać animację Flasha na tle jakiegoś innego filmowego materiału, musisz połączyć te dwie rzeczy już we Flashu. Nie możesz w odtwarzaczu RealPlayer nałożyć obrazu zawartego w pliku Flasha na obraz zapisany w formacie RealVideo.

Konwersja filmów Flasha do postaci kompatybilnej z odtwarzaczem RealPlayer jest na ogół wskazana wtedy, gdy dana witryna i tak wymaga użycia tego odtwarzacza dla pobrania innego typu zawartości, przykładowo można z niej pobierać strumieniowo przesyłane audycje radiowe lub wideoklipy muzyczne.

Jak sterować odtwarzaniem filmów Flasha w RealPlayer

Jeśli w filmie Flasha do sterowania odtwarzaniem użyjesz standardowych akcji ActionScript — przykładowo gotoAndPlay() oraz stop() — to utracisz synchronizację z dźwiękiem zapisanym w pliku RealAudio. Choć odtwarzacz RealPlayer rozpozna akcje kompatybilne z Flashem 4 lub wcześniejszymi wersjami i zareaguje na nie, to nie zastosuje tych akcji do innych ścieżek, zawierających pliki odtwarzane równolegle. Aby więc sterować odtwarzaniem filmu w RealPlayer, należy użyć specjalnej akcji getURL w połączeniu z detektorem zdarzenia Flasha (może być nim ujęcie kluczowe lub klon przycisku umieszczony na scenie).

Aby zaimplementować w filmie Flasha polecenie sterujące odtwarzaniem, dostosowane do potrzeb RealPlayer, wykonaj następujące operacje.

  1. We Flashu 5 otwórz plik z filmem, który zamierzasz dostosować do wyświetlania w formacie RealPlayer.
  2. Zaznacz (lub wprowadź na scenę) klon przycisku, któremu chcesz powierzyć zadanie sterowania zarówno odtwarzaniem samego filmu, jak i odtwarzaniem innych ścieżek w RealPlayer. Możesz też zaznaczyć jedno z ujęć kluczowych w głównej listwie czasowej filmu.
  3. Otwórz okno akcji (Actions) w trybie standardowym (Normal). Jeśli w punkcie 2. zdecydowałeś się użyć przycisku, wprowadź akcję onMouseEvent i wybierz odpowiednie zdarzenie. Może to być, na przykład wciśnięcie klawisza myszy (Press), zwolnienie go (Release) itd. Jeżeli zaznaczyłeś ujęcie kluczowe, akcja ta nie jest potrzebna.
  4. Dodaj akcję getURL. W polu URL wprowadź jedno z niżej wymienionych poleceń.

·         command: pause(). To polecenie wstrzymuje odtwarzanie wszystkiego, co w danej chwili znajduje się w odtwarzaczu RealPlayer. Wszystkie listwy czasowe filmu, włącznie z listwami klipów filmowych, zostają zatrzymane w bieżącej klatce.

·         command: play(). To polecenie nakazuje wznowienie odtwarzania wszystkich ścieżek.

·         command: stop(). To polecenie powoduje wstrzymanie odtwarzania wszystkich ścieżek i przewinięcie ich do początku, odpowiednio do punktu startowego każdej z nich.

·         command: seek(time). To polecenie nakazuje przewinięcie wszystkich ścieżek do pewnego wyznaczonego punktu w czasie i wznowienie odtwarzania od tej chwili. Czas podawany jest w następującej formie: dd:hh:mm:ss.xyz, gdzie dd oznacza dzień, hh — godzinę, mm — minuty, ss — sekundy, a xyz oznacza ułamki sekundy. Jeśli nie wpiszesz kropki oddzielającej wartości ułamkowe, RealPlayer dwie ostatnie cyfry zinterpretuje jako sekundy. Przykładowo polecenie command:seek(1:00) powoduje przewinięcie całego filmu do momentu, gdy od rozpoczęcia odtwarzania minęła jedna minuta. Natomiast polecenie command:seek(1:00:00) przewinie film do chwili, gdy od rozpoczęcia odtwarzania minie jedna godzina.

Jeśli więc do przycisku lub ujęcia kluczowego dodasz następującą akcję GetURL:

getURL("command:seek(45)");

RealPlayer przełączy się do tego miejsca na listwie czasowej, w którym od rozpoczęcia odtwarzania powinno upłynąć 45 sekund. Zmiana będzie dotyczyć wszystkich ścieżek w odtwarzaczu; zarówno tej, która zawiera obraz (film Flasha), jak i tej zawierającej dźwięk (RealAudio).

Jeśli jednak do przycisku lub ujęcia kluczowego dołączysz akcję gotoAndPlay() lub gotoAndStop(), to do nowego punktu w czasie przełączy się wyłącznie ścieżka Flasha. Wszystkie inne ścieżki będą kontynuować odtwarzanie bez żadnych zmian.

Uwaga. Gdy eksportujemy filmy SWF w formacie kompatybilnym z Flashem 2, zwykłe akcje sterujące odtwarzaniem filmu będą kontrolować także inne ścieżki w odtwarzaczu RealPlayer.

Do tematu publikowania plików SWF z towarzyszącymi im plikami RealAudio oraz SMIL wrócimy w dalszej części tego rozdziału.

Optymalizacja materiałów multimedialnych dla odtwarzacza RealPlayer

Gdy już zdecydujesz się przekonwertować film Flasha do formatu kompatybilnego z odtwarzaczem RealPlayer, będziesz musiał rozważyć takie czynniki jak: jakość dźwięku oraz zakładana prędkość przesyłu danych, z jakiej korzystać będą przyszli odbiorcy filmu. W tym podrozdziale omówimy dostosowywanie plików RealPlayer do potrzeb sieci.

Przygotowanie dźwięku

Gdy przygotowujemy film Flasha do odtwarzania w formacie RealPlayer, najważniejsze jest właściwe opracowanie ścieżki dźwiękowej. Odtwarzacz RealPlayer akceptuje wyłącznie dźwięk Flasha wykorzystujący synchronizację typu Stream Sync. Dźwięki zdarzeniowe (Event Sync) będą pomijane. Dla strumieniowych dźwięków Flasha należy zastosować „surową” kompresję (Raw) z częstotliwością próbkowania 11kHz, 22kHz lub 44kHz.

Ponieważ dźwięki Flasha będą kompresowane przez RealEncoder, najlepiej w filmie Flasha zastosować nieskompresowany dźwięk. Jeżeli zaimportowałeś do swego filmu dźwięki w formacie MP3, RealEncoder dokona ich ponownej kompresji w celu przystosowania do odtwarzania przez RealPlayer. Wiąże się to zwykle z obniżeniem jakości; powtórnie skompresowany dźwięk nie brzmi tak dobrze, jak równie mocno skompresowany dźwięk oryginalny.

Ostrzeżenie. Unikaj przyłączania dźwięków do przycisków Flasha. Nawet jeśli w ujęciu Over przycisku umieścisz klip filmowy zawierający dźwięk strumieniowy (Stream), RealPlayer nie będzie potrafił odtworzyć tego dźwięku.

Aby przygotować strumieniową ścieżkę dźwiękową Flasha do odtwarzania w formacie RealPlayer, należy wykonać następujące kroki.

  1. Otwórz okno dialogowe Publish Settings (wybierz z menu File/Publish Settings).
  2. Wybierz zakładkę Flash.
  3. Kliknij przycisk Set towarzyszący opcji Audio Stream.
  4. W wyświetlonym oknie Sound Settings (patrz rysunek 35.1) z listy Compression wybierz opcję Raw. Wybierz odpowiednią dla Twego filmu częstość próbkowania z listy Sample Rate (więcej informacji na temat cyfrowego dźwięku we Flashu znajdziesz w rozdziałach 14., 15. i 16). Jeżeli korzystasz ze strumieniowych dźwięków stereo, nie zaznaczaj opcji Convert Stereo to Mono — pozwól, by RealEncoder sam dokonał scalenia obu kanałów. Kliknij OK.

Rysunek 35.1. Okno dialogowe Sound Settings pozwala zmienić domyślnie stosowaną we Flashu metodę kompresji dźwięku, oddzielnie dla dźwięków strumieniowych (Audio Stream) i zdarzeniowych (Audio Event)

 

  1. Jeżeli w Twoim filmie występują jakiekolwiek dźwięki zdarzeniowe, powinieneś usunąć je z eksportowanego filmu, klikając przycisk Set towarzyszący opcji Audio Event i wybierając opcję Disable z listy Compression.
  2. Na koniec, na wypadek gdyby w filmie występowały jakieś dźwięki z indywidualnymi ustawieniami kompresji, zaznacz opcję Override Sound Settings.

 

Uwaga. Pliki RealAudio nie radzą sobie z dźwiękami 5.5 kHz. Jeżeli zaimportowałeś do swego filmu dźwięki o częstotliwości próbkowania 5.5 kHz lub mniej, użyj przycisku Update lub Import w oknie dialogowym Sound Properties (osobno dla każdego dźwięku w bibliotece), aby wymienić dźwięk na wersję o wyższej częstotliwości próbkowania.

Szerokość pasma przesyłu

Ponieważ odtwarzacz RealPlayer jednocześnie obsługuje strumieniowe przesyłanie dwóch lub większej liczby ścieżek z multimedialną zawartością, trzeba zwracać uwagę na rozmiary plików przesyłanych w każdej z nich. Musisz zdecydować, ile miejsca powinna zająć każda ze ścieżek: wizualna (z filmem Flasha) i dźwiękowa (RealAudio). W zakładce RealPlayer okna dialogowego Publish Settings możesz wybrać docelową prędkość przesyłu danych dla zoptymalizowanego pliku SWF oraz format zapisu dźwięku w pliku RealAudio. Musisz podzielić szerokość pasma przesyłu między dźwięk a obraz w oparciu o parametry sprzętu, jakim — zgodnie z Twoimi założeniami — dysponują przyszli odbiorcy filmu.

Pliki SureStream oraz Single Rate

Zanim podejmiesz ostateczne decyzje co do podziału pasma przesyłu między pliki Flasha i RealAudio, powinieneś poznać różnicę pomiędzy dwoma rodzajami plików RealMedia: SureStream oraz Single Rate. Gdy przygotowujesz pliki dla odtwarzacza RealPlayer, musisz orientować się, z jakiego RealServera korzysta Twój dostawca usług internetowych lub też jaki RealServer jest zainstalowany na Twoim serwerze.

Jeśli będziesz mieć dostęp do RealServera G2 lub RealServera 8, to, budując swoją witrynę, możesz oprzeć się na plikach typu SureStream. Pliki SureStream mogą być udostępniane w formie strumienia dla różnych prędkości przesyłu, zależnie od preferencji odtwarzacza RealPlayer zainstalowanego u odbiorcy filmu oraz od aktualnego stanu połączeń sieciowych. Pliki SureStream muszą wykorzystywać protokół RTSP (Real Time Streaming Protocol) zamiast protokołu HTTP (Hypertext Transfer Protocol), standardowo używanego w sieci. Jeżeli spróbujesz udostępnić plik SureStream w formie strumienia za pomocą protokołu HTTP, do odbiorców filmu zostanie przesłana strumieniowo wersja przeznaczona dla najniższej z prędkości przesyłu.

Jeżeli korzystasz z jednej ze starszych wersji RealServera i (lub) protokołu HTTP, powinieneś opublikować kilka wersji swego filmu, każdą z nich zapisując jako plik typu Single Rate dla innej prędkości przesyłu. Następnie w pliku SMIL wskazać należy, który z plików powinien być przesyłany przy danej prędkości połączenia. Więcej informacji na temat korzystania z plików SMIL obsługujących filmy RealPlayer znajdziesz pod adresem

http://service.real.com/help/library/guides/production8/htmfiles/smil.htm

Podział pasma

Aby ustalić, jaką część pasma możesz przyznać plikowi filmowemu Flasha, odejmij liczbę bitów na sekundę potrzebną dla przesłania pliku RealAudio od ogólnej liczby bitów, jaka w ciągu sekundy może być pobrana z sieci przez docelową publiczność, odpowiednio do przepustowości ich łączy. Liczbę bitów na sekundę, jaka może zostać przeznaczona dla pliku Flasha, obliczamy według następującego wzoru:

...

Zgłoś jeśli naruszono regulamin