Filtry a SkyView

Filtry a SkyView


Co to są filtry i grafy?
O co chodzi z tymi filtrami?
Jak określić wersję i położenie filtra z którym mamy problemy?
Jak zrobić porządek z filtrami ?
Jak tworzyć nowe grafy dla SkyView z uzyciem programu GraphEdit?
Jak tworzyć nowe grafy z użyciem SkyView?
Jak wejść w posiadanie filtrów użytecznych dla SkyView?

Co to są filtry i grafy?

Filtry są bibliotekami DirectShow, których zadaniem jest wykonanie pewnych działań na danych będących np. strumieniem video lub audio. W wielkim skrócie filtry dzielą się na filtry wejściowe (źródłowe) (udostępniające sygnał np. SkyAVC.ax), filtry transformujące (przetwarzające sygnał np. kodery i dekodery lub realizujące dodatkowe efekty wizualne lub dźwiękowe) oraz filtry wyjściowe (wyświetlające video, odtwarzające dźwięk lub zapisujące dane do plików). Zestaw filrów wzajemnie połączonych i wypełniających określone zadanie potocznie nazywa się grafem. Graf może zostać przedstawiony w postaci schematu blokowego przy użyciu programu narzędziowego GraphEdit.

O co chodzi z tymi filtrami?

Sprawa filtrów z pozoru wygląda tajemniczo ale większość i problemów które powstają podczas ich używania wynika z bałaganu na dysku. Aby uniknąć problemów najlepiej wszystkie filtry trzymać w jednym katalogu podzielonym na podkatalogi przypisane do producenta. Należy unikać sytuacji, ze różne wersje filtrów tego samego producenta znajdują się w katalogu filtrów oraz w katalogach roboczych programów.
Np. filtry Cyberlinka w wersji 4 nie pozwalają na stosowanie Overlay mixera natomiast w wersji 5 wymuszają jego użycie. W przypadku gdy używamy dla SkyView grafu stworzonego dla wersji 4 nie może on być użyty z wersją 5. Niektóre programy rejestrują samodzielnie filtry (pliki *.AX) znajdujące się w katalogu roboczym (np. SkyView) lub innym przeznaczonym dla filtrów np. ..\Filters w DVBViewer. Niektóre filtry wymagają odpowiednich wpisów w rejestrze dokonywanych przez program instalacyjny dostarczony przez producenta. Bez tych wpisóm niektóre filtry mogą nie działać lub działać niepoprawnie mimo ich zarejestrowania w systemie.

Uwaga: w celu uniknięcia bałaganu w katalogu roboczym SKyView nie należy umieszczać żadnych dodatkowych modułów (filtrów, pluginów - te drugie powiiny być umieszczane w podkatalogu ..\MDPlugins). Można umieszczać fitry używane TYLKO i wyłącznie przez przez SkyView

Co gorsze, niektóre programy podczas zamykania dokonują wyrejestrowania filtrów, które wcześniej zarejestrowały (np. wspomniany DVBViewer). Ponieważ czasem używam DVBViewera usunąłem z katalogu ..\Filters wszystkie filtry, które Christian Hackbart tam umieszcza bo wyrejestrowuje mój SkyAVC.ax po zamknięciu. Czyli w przypadku gdy SkyView działał z jakimś zestawem filtrów i nagle przestał działać wysoce prawdopodobne jest, że w międzyczasie został uruchomiony inny program do odbioru TV-Sat lub odtwarznia DVD, który zarejestrował swój prywatny zestaw filtrów (możliwe, że w innej wersji) lub wyrejestrował to co SkyView używał.

Jak określić wersję i położenie filtra z którym mamy problemy?

Można to zrobić z wykorzystaniem programu GraphEdit - wybieramy z menu Graph | Insert Filters, rozwijamy pozycję DirectShow Filters i szukamy interesującego nas filtra. Po rozwinięciu opisu filtra pozycja Filename określa położenie aktualnie zarejestrowanego filtra, znając je możemy określić wersję przez kliknięcie prawym klawiszem myszki na pliku i wybraniu Właściwości |Wersja.

Jak zrobić porządek z filtrami ?

cd \Filters\InterVideo
FOR %%F IN (*.ax) DO regsvr32 /s %%F

cd \Filters\Elecard
FOR %%F IN (*.ax) DO regsvr32 /s %%F

Oraz plik wyrejestrowujący wszystkie filtry o zawartości np.

cd \Filters\InterVideo
FOR %%F IN (*.ax) DO regsvr32 /s /u %%F

cd \Filters\Elecard
FOR %%F IN (*.ax) DO regsvr32 /s /u %%F

Ponadto w każdym katalogu filtrów można umieścić .BAT rejestujący konkretny zestaw np. o treści :
regsvr32 /s iviaudio.ax
regsvr32 /s ivivideo.ax

oraz do wyrejestrowania o przykładowej treści :
regsvr32 /u /s iviaudio.ax
regsvr32 /u /s ivivideo.ax

W przypadku problemów wystarczy zarejestrować powtórnie wybrany zestaw.
Użytkownicy "systemu" Win9* zazwyczaj muszą w powyższych przykładach jawnie określić położenie programu regsvr32.exe

Jak tworzyć nowe grafy dla SkyView z uzyciem programu GraphEdit?

Mając poukładane filtry jak w punkcie powyżej na początek wyrejestrowujemy wszystkie i rejestrujemy jeden wybrany. Ustawiamy dla SkyView nazwę grafu na "AUTO" i uruchamiamy jakiś kanał. Jak się uda to podłączamy do SkyView GraphEdit,

W efekcie działań opisanych powyżej otrzymamy zestaw pierwotnych grafów związanych z producentem i możemy rozpocząć zaawansowaną zabawę z filtrami czyli :

Jak tworzyć nowe grafy z użyciem SkyView?

SkyView ma również możliwość samodzielnego konstruowania grafów z dostępnych w systemie filtrów dokonując optymalizacji połaczeń między filtrami (np. wykorzystanie możliwośći akceleratorów sprzętowych wbudowanych w karty Video). Aby zbudować nowy graf należy :

Jak wejść w posiadanie filtrów użytecznych dla SkyView?

Proponuję przejrzeć płyty CD otrzymane podczas zakupu komputera - można na nich znaleźć playery DVD z zestawami filtrów - np. Intervidoo i Cyberlink dodawany do płyt MSI, nVidia dodaje swoje filtry do kart video, z kartą SS2 otrzymaliśmy zestaw firmy Mediamatics lub skorzystać z dostępnych w internecie wersji próbnych (np. Elecard - raczej nie polecam tego filtra do SkyView). Zazwyczaj musimy zainstalować w/w playery w celu wyizolowania filtrów a następnie można je zdeinstalować.

Filtry DirectX - AV dla programu SkyView pracującego z kartą ATI

Zalecane Dopuszczalne Unikać

Do działającego programu "SkyView.exe" można podłączyć się za pomocą narzedziowego programu MS "graphedt.exe" i obejrzeć aktualny schemat połączeń filtrów DirectX, można również zmodyfikować aktywny graf, który po zapisaniu w katalogu roboczym może zostać uznany za obowiązujący dla następnych uruchomień programu SKyView. W przypadku problemów ze startem programu należy plik ten usunąć i pozwolić na automatryczną konfigurację przez DirectX.

Program był testowany z filtrami następujących producentów :