MPlayer obsługuje karty z układem Siemens DVB, od producentów takich, jak: Siemens, Technotrend, Galaxis czy Hauppauge. Najnowsze sterowniki DVB są dostępne na stronie Linux TV. Jeżeli chcesz programowego transkodowania, powinieneś dysponować procesorem z zegarem co najmniej 1GHz.
Configure powinien wykryć Twoją kartę DVB. Jeżeli tak się nie stało, możesz wymusić obsługę DVB używając
./configure --enable-dvb
Jeżeli Twoje nagłówki 'ost' znajdują się w niestandardowym miejscu, ustaw ścieżkę przy pomocy
./configure --with-extraincdir=katalog ze źródłami DVB
/ost/include
Po czym skompiluj i zainstaluj jak zwykle.
ZASTOSOWANIE. Sprzętowego dekodowania (odtwarzanie standardowych plików MPEG-1/2) można dokonać tą komendą:
mplayer -ao mpegpes -vo mpegpes plik.mpg|vob
Programowe dekodowanie oraz transkodowanie różnych formatów do MPEG-1 można uzyskać używając polecenia podobnego do:
mplayer -ao mpegpes -vo mpegpestwójplik.roz
mplayer -ao mpegpes -vo mpegpes -vf expandtwójplik.roz
Zauważ, że karty DVB obsługują tylko rozdzielczość pionową równą 288 i 576 dla PAL oraz 240 i 480 dla NTSC. Musisz przeskalować obraz, dodając scale=szerokość:wysokość, z wybraną wysokością i szerokością do opcji -vf. Karty DVB akceptują różne szerokości, takie jak 720, 704, 640, 512, 480, 352 itp. i dokonują sprzętowego skalowania w kierunku horyzontalnym, więc w większości przypadków nie musisz skalować horyzontalnie. Dla MPEG-4 (DivX) 512x384 (proporcje 4:3) wypróbuj:
mplayer -ao mpegpes -vo mpegpes -vf scale=512:576
Jeżeli masz film w formacie panoramicznym i nie chcesz go skalować do pełnej wysokości, możesz użyć filtru expand=szer:wys aby dodać czarne paski. Aby wyświetlić MPEG-4 (DivX) 640x384, wypróbuj:
mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 plik.avi
Jeżeli twój CPU jest za wolny na pełnowymiarowy MPEG-4 (DivX) 720x576, spróbuj przeskalować w dół:
mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 plik.avi
Jeżeli to nie poprawiło szybkości, spróbuj także pionowego skalowania w dół:
mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 plik.avi
Dla OSD i napisów użyj cechy OSD filtru expand. Zamiast expand=wys:szer lub expand=wys:szer:x:y, użyj więc expand=wys:szer:x:y:1 (piąty parametr :1 na końcu umożliwi renderowanie (wyświetlanie) OSD). Możesz chcieć przesunąć obraz trochę w górę, aby zyskać więcej miejsca na napisy. Możesz także chcieć przesunąć napisy w górę, jeżeli znajdują się poza ekranem TV, użyj opcji -subpos <0-100>, aby to dopasować (-subpos 80 jest dobrym wyborem).
Aby odtwarzać filmy z liczbą klatek na sekundę inną niż 25 na telewizorze PAL lub na wolnym CPU, dodaj opcję -framedrop.
Zachowanie proporcji plików MPEG-4 (DivX) oraz optymalne parametry skalowania (sprzętowe poziome i programowe pionowe z zachowaniem odpowiednich proporcji), można uzyskać przy użyciu nowego filtru dvbscale:
dla TV 4:3: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1 dla TV 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
Cyfrowa telewizja (moduł wejścia DVB). Możesz użyć swojej karty DVB do oglądania cyfrowej telewizji.
Powinieneś mieć zainstalowane programy scan oraz szap/tzap/czap/azap; wszystkie są w paczce ze sterownikami.
Sprawdź czy Twoje sterowniki działają prawidłowo używając programu takiego jak dvbstream (jest on podstawą modułu wejścia DVB).
Teraz powinieneś ułożyć plik ~/.mplayer/channels.conf zgodnie ze składnią akceptowaną przez szap/tzap/czap/azap lub kazać scan zrobić to za Ciebie.
Jeżeli masz kartę więcej niż jednego typu (np. ATSC, satelita, kablówka, z nadajnika naziemnego), to możesz zapisać swoje pliki kanałów jako: ~/.mplayer/channels.conf.sat (satelita), ~/.mplayer/channels.conf.ter (naziemna), ~/.mplayer/channels.conf.cbl (kablówka), oraz ~/.mplayer/channels.conf.atsc dając w ten sposób MPlayerowi wskazówkę aby używał tych plików zamiast ~/.mplayer/channels.conf, a Ty musisz tylko określić, której karty użyć.
Upewnij się, że w channels.conf masz tylko kanały niekodowane (Free to Air). W przeciwnym razie MPlayer będzie próbował przeskoczyć do następnego widzialnego kanału, lecz może to zająć trochę czasu jeżeli wystąpuje po sobie wiele kanałów kodowanych.
W polach audio i video możesz użyć rozszerzonej składni: ...:pid[+pid]:... (każdy maksymalnie dla 6 pidów); W tym przypadku MPlayer uwzględni w strumieniu wszystkie podane pidy, plus pid 0 (zawierający PAT). Zachęcamy do uwzględnienia w każdym wierszu pidu PMT (jeżeli go znasz) dla określanego kanału. Inne możliwe zastosowania: pid televideo, druga ścieżka dźwiękowa, itp.
Jeśli MPlayer często uskarża się na
Too many video/audio packets in the buffer
(za dużo pakietów video/audio w buforze) albo jeśli zauważysz rosnący brak synchronizacji między audio a video spróbuj użyć demuksera MPEG-TS z libavformat, dodając -demuxer lavf -lavfdopts probesize=128 do wiersza poleceń.
Aby wyświetlić pierwszy z kanałów obecnych na Twojej liście, uruchom
mplayer dvb://
Jeżeli chcesz oglądać określony kanał, na przykład R1, uruchom
mplayer dvb://R1
Jeżeli masz więcej niż jedną kartę, będziesz musiał określić numer karty, na której jest widoczny kanał (np. 2), korzystając z następującej składni:
mplayer dvb://2@R1
Aby przełączać kanały używaj klawiszy h (następny) oraz k (poprzedni) lub skorzystaj z menu OSD).
Jeżeli Twój ~/.mplayer/menu.conf zawiera wpis
<dvbsel>
, taki jak ten w przykładowym pliku
etc/dvb-menu.conf (którym możesz nadpisać
~/.mplayer/menu.conf), w menu głównym pokaże się
podmenu, które zezwoli Ci na wybór jednego kanału z obecnych w Twoim
channels.conf, możliwe, że poprzedzone menu z listą
dostępnych kart, jeżeli więcej niż jedna nadaje się do użytku
MPlayerem.
Jeżeli chcesz zapisać program (audycję) na dysku, użyj
mplayer -dumpfile r1.ts -dumpstream dvb://R1
Jeżeli chcesz nagrać go w innym formacie (przekodowując go), możesz zamiast tego użyć polecenia podobnego do
mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1
Na stronie man znajdziesz listę opcji, które możesz przekazać modułowi wejścia DVB.
PRZYSZŁOŚĆ. Jeżeli masz pytania lub chcesz otrzymywać przyszłe ogłoszenia, a także wziąć udział w dyskusjach na ten temat, przyłącz się do naszej listy dyskusyjnej MPlayer-DVB. Proszę pamiętaj, że językiem listy jest angielski.
W przyszłości możesz się spodziewać zdolności wyświetlania OSD i napisów przy użyciu wbudowanej obsługi OSD przez karty DVB, a także bardziej płynnego odtwarzania filmów innych niż 25fps oraz transkodowania w czasie rzeczywistym MPEG-2 i MPEG-4 (częściowa dekompresja).
MPlayer obsługuje sprzętowo przyśpieszane odtwarzanie przy użyciu karty DXR2.
Przede wszystkim będziesz potrzebował poprawnie zainstalowanych sterowników DXR2. Sterowniki i instrukcję instalacji możesz znaleźć na stronie Centrum zasobów DXR2 (DXR2 Resource Center).
ZASTOSOWANIE
Włącz wyjście TV.
Włącz wyjście nakładki w X11.
Ta opcja używana jest do sterowania sterownikiem DXR2.
Układ nakładki (overlay chipset) używany w DXR2 jest dość kiepskiej jakości, ale standardowe ustawienia powinny działać u wszystkich. OSD może być użyte z nakładką (nie na TV) poprzez rysowanie go kolorem kluczowym (colorkey). Ze standardowymi ustawieniami koloru kluczowego możesz uzyskać różne rezultaty, zwykle będziesz widział kolor kluczowy dookoła znaków lub inny śmieszny efekt. Jeżeli dobrze dostosujesz ustawienia koloru kluczowego, powinieneś uzyskać akceptowalne wyniki.
Listę dostępnych opcji znajdziesz na stronie man.
MPlayer obsługuje sprzętowo przyśpieszane odtwarzanie na kartach Creative DXR3 oraz Sigma Designs Hollywood Plus. Obie te karty używają układu dekodującego em8300 firmy Sigma Designs.
Przede wszystkim będziesz potrzebował poprawnie zainstalowanych sterowników DXR3/H+ w wersji 0.12.0 lub nowszej. Sterowniki i instrukcję ich instalacji możesz znaleźć na stronie DXR3 & Hollywood Plus dla Linuksa. configure powinno wykryć Twoją kartę automatycznie, kompilacja powinna przebiec bez problemu.
ZASTOSOWANIE
device
overlay włącza nakładkę zamiast wyjścia TV.
Do działania wymaga poprawnie skonfigurowanych ustawień nakładki.
Najłatwiejszym sposobem konfiguracji nakładki jest odpalenie autocal.
Następnie uruchom MPlayera z wyjściem dxr3 oraz z
wyłączoną nakładką; uruchom dxr3view.
W dxr3view możesz dostrajać ustawienia nakładki i oglądać efekty na bieżąco,
być może będzie to w przyszłości obsługiwane przez GUI MPlayera.
Po poprawnym ustawieniu nakładki nie będziesz już musiał używać dxr3view.
prebuf włącza buforowanie z wyprzedzeniem (prebuffering).
Prebuffering jest możliwością układu em8300, która umożliwia przetrzymywanie
w pamięci więcej niż jednej ramki video na raz. Oznacza to, że
MPlayer
uruchomiony z włączonym prebufferingiem będzie próbował cały czas utrzymywać
wypełniony bufor. Jeżeli masz wolną maszynę, MPlayer
będzie używał prawie lub dokładnie 100% CPU. Jest to szczególnie powszechne
przy odtwarzaniu czystych strumieni MPEG (takich jak DVD, SVCD itd.).
MPlayer wypełni bufor bardzo szybko, ponieważ nie
będzie musiał przekodowywać strumienia do MPEG.
Z prebufferingiem odtwarzanie video jest dużo
mniej wrażliwe na inne programy wykorzystujące CPU. Nie będzie gubił ramek,
chyba że inne aplikacje będą wykorzystywały CPU przez dłuższy czas.
Uruchamiany bez prebufferingu, em8300 jest o wiele bardziej wrażliwy na
obciążenie CPU, włączenie opcji -framedrop jest więc wysoce
wskazane aby uniknąć dalszej utraty synchronizacji.
sync włączy nowy mechanizm synchronizacji (sync-engine). Jest
to na razie funkcja eksperymentalna. Z włączonym sync wewnętrzny zegar em8300
będzie cały czas monitorowany. Gdy zacznie się różnić od zegara
MPlayera zostanie zresetowany, czego skutkiem będzie
opuszczenie przez em8300 wszystkich opóźnionych
ramek. norm=x ustawi standard TV dla DXR3 bez potrzeby
używania zewnętrznych narzędzi, takich jak em8300setup. Poprawnymi
standardami są: 5 = NTSC, 4 = PAL-60, 3 = PAL. Specjalne standardy to
2 (automatyczne dostrojenie
używające PAL/PAL-60) oraz 1 (automatyczne dostrojenie używające PAL/NTSC);
decydują one, którego standardu użyć patrząc na ilość klatek na sekundę filmu.
norm = 0 (standardowe) nie zmienia bieżącego standardu.
device
= numer urządzenia, którego
możesz użyć, jeżeli masz więcej niż jedną kartę em8300.
Każda z tych opcji może być pominięta.
:prebuf:sync spisuje się doskonale przy odtwarzaniu filmów
MPEG-4 (DivX). Niektórzy miewają problemy podczas odtwarzania plików
MPEG-1/2 korzystając
z opcji prebuf. Spróbuj najpierw bez żadnych opcji. Jeżeli będziesz miał
problemy z synchronizacją lub z napisami DVD, wypróbuj :sync.
X
Ustawia wyjście audio, gdzie X
jest numerem
urządzenia (0 jeżeli pojedyncza karta).
xxxxx
em8300 nie potrafi odgrywać dźwięku o częstotliwości próbkowania niższej niż 44100Hz. Jeżeli częstotliwość próbkowania jest niższa niż 44100Hz wybierz 44100HZ lub 48000Hz w zależności, która bardziej pasuje. Na przykład jeżeli film używa 22050Hz - wybierz 44100Hz (44100 / 2 = 22050), jeżeli używa 24000Hz - wybierz 48000Hz (48000 / 2 = 24000) i tak dalej. Nie działa to z cyfrowym wyjściem audio (-ac hwac3).
Aby oglądać zawartość nie-MPEG na em8300 (np. MPEG-4 (DivX) lub RealVideo)
będziesz musiał określić filtr video MPEG-1 taki jak
libavcodec
(lavc).
Spójrz na stronę man, aby uzyskać więcej informacji o -vf lavc.
Obecnie nie istnieje sposób ustawienia współczynnika fps dla
em8300, co oznacza, że jest on zablokowany na 30000/1001fps. Z tego powodu jest
bardzo wskazane abyś używał
-vf lavc=quality
:25, szczególnie
jeżeli używasz buforowania z wyprzedzeniem. Dlaczego 25 a nie 30000/1001? Cóż,
przy 30000/1001 odtwarzanie staje się nieco skokowe. Powód tego nie jest nam znany.
Jeżeli ustawisz fps pomiędzy 25 a 27 obraz stanie się stabilny. W chwili obecnej
nie możemy zrobić nic poza zaakceptowaniem tego faktu.
Chociaż sterownik DXR3 może wstawić jakieś OSD w obraz MPEG-1/2/4, ma ono o wiele niższą jakość niż tradycyjne OSD MPlayera, ma także liczne problemy z odświeżaniem. Powyższy wiersz najpierw zamieni wejściowe video na MPEG-4 (jest to konieczne, przepraszamy), następnie nałoży filtr expand (rozszerzenie), który nic nie rozszerzy (-1: domyślne), ale doda normalne OSD do obrazu (robi to ta jedynka na końcu).
em8300 obsługuje odtwarzanie AC3 audio (dźwięk przestrzenny) poprzez cyfrowe wyjście karty. Spójrz na opcję -ao oss powyżej. Musi ona być użyta aby określić wyjście DXR3 zamiast tego z karty dźwiękowej.