Mplayer w praktyce

Odtwarzanie filmów od dobrych kilkunastu lat pozostaje jedną z najczęściej wykorzystywanych czynności, do których zaprzęgany jest domowy komputer. Oczywiście same playery filmów czy animacji istniały dużo wcześniej nim nastała era Divx. Amiga od samego początku miała na tym polu bogate tradycje. Nie będę jednak o nich wspominał, gdyż niniejszy artykuł nie ma być tekstem historycznym. Wręcz przeciwnie ma być swego rodzaju aktualizacją, dla mocno już nieświeżego tekstu, jaki napisałem dla serwisu exec.pl równo 10 lat temu.

W porównaniu do sytuacji sprzed dekady sporo się na tym polu zmieniło. W zasadzie od lat liczy się jeden program Mplayer. Ma on wprawdzie swojego konkurenta w postaci dołączanego do systemu AmigaOS 4 (niestety w okrojonej wersji) DvPlayera, jednakże program ten od dobrych kilku lat pozostaje w uśpieniu. Co prawda kilka miesięcy temu firma A-EON Technology ogłosiła, że program jeszcze nie umarł i możemy się spodziewać nowej wersji, niemniej na razie wciąż na to czekamy, zatem postanowiłem się skupić wyłącznie na Mplayerze.

Mplayer - retroskepcje z Magazynem Amiga

Mplayer – retroskepcje z Magazynem Amiga

Mplayer to odtwarzacz działający na bardzo wielu systemach operacyjnych, który miał swój debiut w 2000roku za sprawą węgierskiego programisty Árpáda Gereöffy, Na AmigaOS 4 trafił pięć lat później w styczniu 2005 roku dzięki pracy Włocha Adrei Palmate. Przez ostatnie lata na AmigaOS 4 trafiały różne wersje Mplayera, najczęściej wychodzące spod ręki wspomnianego Włocha, niemniej mieliśmy też epizod z Mplayerem importowanym z systemu Morphos za sprawą Rosjanina Romana Kargina. Ostatnio jednak sprawę w swoje ręce wzięli Skandynawowie. W głównej mierze program rozwijany jest przez Kjetila „liveforlta” Hvalstranda, jednak należy też pamiętać o grupie OnyXSoft, która od lat dostarcza wygodne GUI do programu, dbając o to by na bieżąco było aktualizowane wraz z pojawianiem się kolejnych możliwości w Mplayerze.

Wspomniane GUI, oparte na systemowym interfejsie Reaction oferuje szereg opcji, które opiszę.

Sekcja File zawiera cztery zakładki. W głównej możemy ustawić plik wideo, jaki chcemy oglądać oraz napisy do niego. Dodatkowo zdecydować o tym, czy ma się otwierać panel kontrolny z przyciskami typu play, stop itp. czy też będziemy obsługiwali odtwarzacz z klawiatury. Możemy także ustawić czy Mplayer ma wyświetlać dodatkowe informacje na wyjściu w konsoli. Pozostałe trzy zakładki odpowiadają za ustawienia filmów zapisanych na nośnikach optycznych oraz odtwarzanie strumieni video nadawanych w sieci.mp1

Sekcja Audio jak sama nazwa wskazuje odpowiada za wyjście dźwięku. Domyślnie jest to AHI, możemy jednak zdecydować by wyjście dźwięku realizowane było przez SDL, lub na przykład zgrać dźwięk z filmu do pliku. Możemy też rzecz jasna dźwięk całkowicie wyłączyć oraz ustawić jego głośność.mp2

Video to zdecydowanie najważniejsza sekcja, mająca zasadniczy wpływ na jakość i szybkość odtwarzania filmów
Tryby wyjścia video:

Comp
Nowy rodzaj wyjścia wideo oparty na starszym wyjściu cgx_wpa. W stosunku do poprzednika zasadniczą zmianą jest to, że wykorzystywany jest tutaj mechanizm sprzętowej kompozycji obrazu zamiast WritePixelArray (). Comp pozwala na skalowalne okna na ekranie WB oraz lepsze skalowanie w trybie pełnoekranowym, Nie zmieniła się natomiast metoda konwersji, która tak jak w przypadku cgx_wpa (yuv420 / yv12 bitmap do bitmap 32bit ARGB) odbywa się przy użyciu procesora.

Comp_yuv
Opiera się to na Comp, ale został usprawniony w celu stosowania nowych przestrzeni kolorów yuv420p, które są obecnie wspierane przez sterowniki RadeonHD w wersji 2.x
Dzięki temu możliwe jest wyjście wideo bez potrzeby konwersji do formatu ARGB. Dodatkowo dodano wsparcie DRI, czyli Direct Rendering Infrastructure. Ten mechanizm pozwala na bezpośrednią komunikację z kartą graficzną w celu wykorzystania systemowej akceleracji GL. Dzięki wykorzystaniu potencjału Radeona HD (niestety tylko częściowej, gdyż wciąż czekamy na wsparcie UVD) zużycie zasobów procesora ulega mocnemu odciążeniu, to jednak nie wszystko, gdyż w czasie odtwarzania filmu wykorzystywany jest mechanizm DMA (potrzebna graphics.library minimum w wersji 54.153, czyli ta z AmigaOS 4.1 Final Edition), który zapewnia jeszcze lepszą wydajność. Podobnie jak u poprzednika wideo jest skalowalne zarówno w trybie okienkowym, jak i w pełnoekranowym.

Comp_yuv2
Aktualnie najlepsza i najbardziej wydajna metoda odtwarzania, zalecana dla użytkowników Radeonów HD ze sterownikiem 2.x. W działaniu podobna do Comp_yuv, tyle że okno odświeżania zostało tutaj przeniesione do własnego wątku, dzięki czemu Mplayer może obliczać pewne rzeczy już w czasie oczekiwania na vsync.mp3

Cgx_wpa
Wyjście wideo napisane przez Deta Nicolasa i Fabiana Coeurjolya. W oryginale wykorzystuje podsystem CyberGraphicsX na MorphOSie. W przypadku systemu AmigaOS4.x wykorzystuje rzecz jasna Picasso96, tak więc jest to wersja częściowo zmodyfikowana względem oryginału. Oferuje tryb okienkowy i pełnoerkanowy, ale bez możliwości skalowania. Pomimo pewnych wad, jeden z ciekawszych trybów dla posiadaczy starszych Radeonów.

P96_PIP
Jest to stary tryb dla Picasso96 napisany przez Jorga Strohmayera. Kjetil Hvalstrand usprawnił go dodając mechanizm podwójnego buforowania. Niestety innych ważniejszych usprawnień takich jak wykorzystanie DRI czy DMA już nie dodał.

PIP
Eksperymentalne wyjście wideo autorstwa Jorga Strohmayera. Używanie tego trybu może sprawiać pewne problemy (przekłamania kolorów itp). Nie zalecany.

SDL
Tryb jak sama nazwa wskazuje realizowany przez bibliotekę SDL (Simple Directmedia Layer). Teoretycznie powinien wspierać mechanizm overlay jednak w AmigaOS 4.1 nie jest to realizowane. Dosyć mocno obciąża procesor, wspiera skalowanie w trybie okienkowym, natomiast nie jest skalowalny w trybie pełnoekranowym.

Pozostałe tryby służą do zapisu materiału wideo. Możemy więc dany film zapisać do sekwencji obrazków jpeg czy png lub też animowanego gifa i jeszcze kilku innych formatów. Obok ustawienia trybu wideo w tej sekcji decydujemy też o tym, czy chcemy oglądać dany materiał na pełnym ekranie, czy w oknie oraz o proporcjach ekranu, w jakich film ma być wyświetlany.

Sekcja Mplayer to przede wszystkim miejsce gdzie wskazujemy ścieżkę dostępu do głównego programu wykonywalnego. Możemy także ustawić tutaj kilka innych opcji jak framedrop, wielkość cache, zapętlenie filmu, to czy ma być wyświetlana liczba fps i pozostałe ekranowe informacje OSD. Dodatkowo można tutaj ręcznie wpisać inne, rzadko stosowane parametry, które nie znalazły się w GUI. Dodam, że w celu zwiększenia wydajności w zakresie odtwarzania filmów warto włączyć opcję „Skip loop filter”.mp4

GUI to sekcja w której możemy ustawić filtrowanie formatów plików w requesterze, wielkość stosu dla programu wsparcie dla mechanizmu przeciągnij i upuść oraz kilka innych rzeczy.mp5

Playlist jak sama nazwa wskazuje pozwala tworzyć i edytować listy plików przeznaczonych do odtwarzania pod Mplayerem.mp6

Składająca się z trzech zakładek sekcja Help, to bardzo przydatna instrukcja pozwalająca na opanowanie dosyć bogatego arsenału skrótów klawiszowych przydatnych w codziennej obsłudze Mplayera. Ja podam tylko te najważniejsze klawisz „F” pozwala na przełączanie pomiędzy trybem okienkowym a pełnoekranowym. Spacja oczywiście odpowiada za pauzowanie. Klawiszami kursora możemy przewijać film do przodu bądź do tyłu odpowiednio o 10s lub minutę. Jeśli chcemy przewinąć film o 10 minut przydadzą się klawisze PgUP i PgDown. Oczywiście jak już wspomniałem na początku nie jesteśmy skazani wyłącznie na klawiaturę, gdyż MPlayer-GUI oferuje możliwość otwarcia specjalnego panelu nawigacyjnego.mp7

Podsumowując Mplayer to obecnie najlepszy, najwydajniejszy i najbardziej aktualny odtwarzacz filmów w systemie AmigaOS 4. Obsługuje w zasadzie wszystkie współczesne formaty dla plików wideo, dodatkowo oferując możliwość ich zapisu i konwersji. Na mojej Amidze One X1000 program z dużym zapasem radzi sobie z filmami 720p. Celem, jakim postawił sobie Liveforlt, jest płynne odtwarzanie na tym komputerze filmów FullHD. Aktualnie jeszcze odrobinę do tego brakuje, lecz autor nie próżnuje i w pocie czoła dokonuje kolejnych optymalizacji. Oczywiście najlepszym wyjściem z sytuacji byłoby zastosowanie technologii UVD (Unified Video Decoder), czyli sprzętowej jednostki służącej do dekodowania filmów na kartach Radeon HD. Jeśli wierzyć fachowcom do tego jednak potrzebne byłoby działające Gallium, zatem musimy tutaj poczekać przynajmniej do momentu pojawienia się systemu AmigaOS 4.2.

Mplayer w akcji - film 720p

Mplayer w akcji – film 720p

O Mufa