Czyli co zrobić jeśli nie
mamy zainstalowanych odpowiednich
do filmu kodeków,
nie wiemy jakie kodeki ściągnąć,
gdy mamy problem z odtwarzaniem filmu, lub gdy film i
mimo wszystko i tak
nie działa.
Powyżej widać okno ustawień gspota, które wywołujemy wchodząc
w menu options -> settings.
Interakcja z systemem.
Włączamy co najmniej te dwie opcje widoczne na obrazku.
Pierwsza opcja pozwoli nam na wyświetlenie informacji o kodekach,
oraz renderowanie tak zwanych grafów.
Druga opcja sprawi, że gspot podczas startu załaduje i sprawdzi
informacje o kodekach zawartych w systemie.
Często się zdarza, że jeśli jakiś kodek powoduje zawieszenie się
systemu,
to już na starcie podczas odpalania gspota wystąpi błąd.
Jednak gspot jest taki sprytny, że "wyizoluje" ten błąd
i nie zamknie się tak jak windowsowy explorer,
tylko zatrzyma się i wyświetli nam informacje o tym,
który dokładnie plik w systemie spowodował błąd.
Dzięki tej informacji i dzięki googlom
możemy łatwo znaleźć
rozwiązanie trapiącego nas problemu.
Na przykład ja miałem kiedyś problem z zawieszającymi się
w oknie explorera plikami avi. Okazało się, że przyczyną był
dekoder mpeg2 elecard, czy cos zupełnie nie związanego z avi,
na co nie miałbym szans sam wpaść, gdyby nie gspot:D
podobna informację o błędzie gspot wyświetli nie tylko na starcie,
ale również podczas zwykłego użytkowania, jeśli wystąpi błąd.
Trzecia opcja pozwala nam na zarządzanie kodekami w systemie
z poziomu gspota. Gspot pozwala nam na zmianę priorytetu
poszczególnych kodeków,
na ich zarejestrowanie w systemie, ponowne zarejestrowanie w systemie,
oraz na ich wyrejestrowanie z systemu.
Jako, że opcje te są niebezpieczne i można przez nie sobie namieszać
w systemie, istnieje możliwość ich wyłączenia.
Opcje te nie są nam potrzebne podczas zwykłego użytkowania programu,
a pomagają (ale nie są w stanie wszystkich problemów
rozwiązać!)
jedynie w przypadku kłopotów z kodekami.
Desktop enviroment
& misc.
Tutaj mamy opcje dotyczące integracji gspota z systemem.
oraz wszystkie pozostałe opcje.
Możemy tutaj ustawić, aby gspot pamiętał położenie i rozmiar okna.
Kolejne opcje dotyczą skrótów do programu na
pulpicie, w menu start,
oraz w menu kontekstowym "wyślij do" i "otwórz za pomocą".
Najbardziej użyteczna jest ta ostatnia opcja, dzięki niej
klikając prawy klawiszem na plik audio/wideo i wchodząc
w menu "otwórz za pomocą" zobaczymy opcję otwarcia danego
pliku w gspocie.
Pozostałe dwie opcje służą do zmiany wyglądu logo i tła w programie.
Przycisk force update służy do wymuszenia zmian ustawień -
opcje typu "otwórz za pomocą" są zapisane w rejestrze
systemowym
jako tak zwane "shell extensions", a wyżej wymieniony przycisk
służy do wymuszenia tych zmian i zapisania ponownie
wszystkich ustawień gspota w rejestrze.
Clear entries
powoduje wymazanie wszystkich ustawień gspota
poprzez skasowanie wszelkich ustawień z rejestru systemowego
i zapisanie tam nowych domyślnych ustawień - opcja bardzo przydatna
jak coś zepsujemy i nie będziemy wiedzieli
co i jak z powrotem poprzestawiać:P
2. File
Tutaj widzimy pełną ścieżkę i nazwę pliku, tutaj możemy wczytać
następny plik
(aczkolwiek wygodniej jest je wczytywać z menu kontekstowego dostępnego
pod prawym klawiszem w explorerze windows), tutaj też widzimy informację
o dokładnym rozmiarze pliku w megabajtach, kilobajtach i bajtach (bo
1KB=1024B).
3.
Container
W tej ramce widzimy informacje na temat containera, czyli "pojemnika"
filmu.
W przypadku plików mpeg/vob
itp gspot wyświetla informacje o typie pliku:
program stream, transport stream, DVD "VOB" format itp,
podaje liczbę ścieżek audio, wideo i innych, oraz podaje "systemowy
bitrate" (całości).
W przypadku plików AVI
w pierwszej linii widzimy tu wersję containera
(AVI 1.0, AVI 2.0 OpenDML)
AVI to inaczej Audio
Video Interleave. Format ten wywodzi się
z windowsa 3.1, bazuje na formacie RIFF i jest bardzo podobny do WAV'a.
Na początku pliku znajdują się wszelkie niezbędne nagłówki,
a na koncu pliku znajduje się index klatek. Dlatego też niekompletnych
AVI
nie da się przewijać: brak info o klatkach kluczowych powoduje
konieczność
przeszukiwania pliku od początku.
Media Player Classic
skanuje taki plik podczas otwierania go. Indeks i info o klatkach
kluczowych można odzyskać za pomocą Virtual Dub Mod: file -> open
-> ask for extended options -> re-derive keyframe flags, otworzyć plik (troche to
trwa jeśli skanuje 150000 klatek:D) i następnie zapisać w
nowym pliku z direct stream copy dla wideo.
Druga
linia to interleaving,
czyli po ile milisekund audio i wideo
jest poprzeplatane w pliku. Dane dotyczące audio i wideo
są zapisane naprzemiennie w małych porcjach po to, aby można je było
wczytywać
razem w miarę potrzeb wynikających z odtwarzania filmu.
Gdyby dane audio i wideo były zapisane rozdzielnie należało by
dostarczać dane, czasem "odległe" od siebie o 350MB ;) Dodatkowo były by problemy
z synchronizacją dźwięku.
Tak tez miałem w przypadku starego RIPa filmu Apollo 13.
(Manta Eemperor 3: audio unsupported - bez dźwięku;
Yamaha DVD S550: dźwięk był, ale w przeciwieństwie do manty
nie dało się przewijać...)
Gspot pokazał mi coś takiego:
AVI v1.0, VDub Segment, final
Audio frames: Split across interleaves File Length Correct
Po wypaleniu na CD film okazał się niemozliwym do obejrzenia bez przegrania.
Co tu jest nie tak? Widzicie gdzieś tu info o interleavingu?
W dobrym pliku powinno pojawić się linia podobna do tej:
Interleave: 1 vid frame (40 ms), preload=512
Potem po wczytaniu filmu do Media Player Classic ujrzałem
piękny wykres obrazujący co jest nie tak:P
Prawidłowe
ustawienie interleavingu jest więc niezbędne w celu uzyskania
wydajnego odtwarzania filmu, oraz pomaga uniknąć problemów z
synchronizacją
dźwięku - zwłaszcza na stacjonarnych odtwarzaczach.
Najczęściej stosuje się interleaving w porcjach odpowiadających
"długości"
jednej klatki video - tj. 40ms dla 25fps i około 42ms dla 23,976fps.
Jednak należy pamiętać, że skompresowane audio tez jest zapisane w
postaci klatkowej:
np. normalna klatka dla mp3 ma długość 1536 sampli, co przy samplowaniu
48kHz
daje nam dokładnie 32 milisekundy.
Jak już pewnie widzicie w przypadku interleavingu 40ms porcje danych
audio
nie będą zawierać całkowitej liczby klatek.
Stąd w następnej linii pojawi się "Audio frames: Split across
interleaves" Może
to być przyczyną dalszych problemów z synchronizacją.
Prawidłowy wpis to "Audio frames: Aligned on interleaves",
co nie zawsze jest możliwe do osiągnięcia (bez sensu dawać 32 klatki
wideo
i 40 klatek audio na raz - trzeba by było wczytać 1,28 sekundy pliku na
zapas,
a to zajmowało by sporo pamięci).
Dodatkowo przy zbyt dużych porcjach danych mogą pojawić się kłopoty:
(Plan 9 from outer space.avi; divx3 + mp3vbr)
Interleave: 498 ms (11.9 v.frames), preload=480 Audio frames: Aligned on interleaves
Wprawdzie nie rozumiem tych wykresów:P ale podejrzewam,
że w tym przypadku problemem nie jest te 498ms,
lecz raczej coś innego z plikiem, a wskazanie gspota jest niedokładne...
Plik na komputerze działał, ale nie za bardzo chciał się przewijać.
Czasem zamiast interleavingu o długości jednej klatki wideo stosuje się
inną długość, np. 250ms dla mp3, a dla
ac3 120ms lub 64ms.
(A jeśli 250ms jest ok, to czemu nie dwa razy więcej?)
Interleaving ma jeszcze jeden parametr: preload jest to wyprzedzenie (w milisekundach) ścieżki audio przed
ścieżką wideo.
Dekodery audio często charakteryzują się kilkuklatkowym
opóźnieniem,
a do tego wszelkie przerwy w odtwarzanym strumieniu audio, jak i też
zmiany w prędkości odtwarzania były by od razu wychwycone przez nasze
ucho.
Najczęściej więc zapisuje się około pół sekundy audio,
zanim rozpocznie się zapis wideo.
W polu container pojawiają się też informacje na temat kompletności
pliku
- przynajmniej w przypadku plików avi możemy się spotkać z
informacją typu: File truncated. 229 MB
(or 234,613 KB or 240,243,824 bytes) are missing W przeciwnym wypadku pojawia się info file lenght correct.
4.
Metadata
W tym polu wyświetlane są wszelkie "śmiecie" i metadane zapisane w
pliku.
Może tam pojawić się informacja o programie, który stworzył
dany plik,
oraz info o enkoderze, np: [USER] XviD0039 oznacza, że plik został
stworzony
przy użyciu xvida 1.0. Xvid 1.1 daje numer XviD0041.
Czasem xvid dodaje też podobny ciąg znaków właściwy dla
divxa - DivX999b000p
po to aby uzyskać zgodność strumieni i zaznaczyć info o "packed
bitstream".