GSpot 2.5

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.


 
Strona główna
 
FFDshow  AC3  XviD  divx2dvd  dvd2divx  dvd2mp4



00. Skąd wziąć GSpota?
   http://www.headbands.com/gspot/
   http://www.headbands.com/gspot/gspot252dl.html
   wkrótce pojawi się wersja 2.6

0. Spis treści
1. Ustawienia, integracja z systemem.
2. File
3. Container
4. Metadata
Audio
Video
Kodeki
FPS, czas
Aspect ratio
Testowanie kodeków

1. Ustawienia i integracja z systemem.

gspot ustawienia

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

    non interleaved



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


    za duży interleaving

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".

Okno Gspot'a 2.5