close

Informacja dotycząca plików cookies

Informujemy, iż w celu optymalizacji treści dostępnych w naszym serwisie, w celu dostosowania ich do indywidualnych potrzeb każdego użytkownika, jak również dla celów reklamowych i statystycznych korzystamy z informacji zapisanych za pomocą plików cookies na urządzeniach końcowych użytkowników. Pliki cookies użytkownik może kontrolować za pomocą ustawień swojej przeglądarki internetowej. Dalsze korzystanie z naszych serwisów internetowych, bez zmiany ustawień przeglądarki internetowej oznacza, iż użytkownik akceptuje politykę stosowania plików cookies


Nowe artykuły:
Więcej...
Nowe recenzje: RSS
Więcej...
Najnowsze pliki: RSS
Więcej...
Nowe biosy: RSS
Więcej...

 

Spis treści



Napisy w Auto Gordian Knot

IV - Format SSA (6)
    Opisaliśmy już wszystkie parametry, zawarte w sekcjach [V4 Styles] i [Events]. Posiadamy więc prawie wszystkie informacje, aby sformatować napisy z wykorzystaniem pełnych możliwości formatu ssa dostępnych w AGK.
No właśnie, „prawie”.

Jeślibyśmy teraz zastosowali nasz skrypt do jakiegokolwiek filmu, zauważymy, że wszystkie zdefiniowane przez nas wartości, maja taką wielkość, jaką zdefiniowaliśmy. A więc margines=80 ma 80 pikseli a czcionka 18 ma 18 punktów. Pozornie wszystko się zgadza.
Ale nie zapominajmy, że AGK może nam ustawić różną rozdzielczość filmu.
Pytanie brzmi: do czego odnoszą się te wartości w pikselach?
Odpowiedź: do wynikowego filmu. No właśnie.
Weźmy taki przykład: ustawiamy czcionkę Arial o wielkości 16. Ripujemy film i AGK ustawia nam szerokość kadru na 512px. Czcionka w tym kadrze ma wielkość 16.
Ale AGK może też ustawić szerokość 720px. Czcionka też będzie=16.
Wszystko się zgadza? A czy nie oglądamy filmu w trybie pełnoekranowym???

Pierwszy film (512px) zostanie rozciągnięty (do ekranu 1024x768px) dwukrotnie w pionie i poziomie, a więc czcionka, którą zobaczymy  w trybie pełnoekranowym będzie miała wielkość 32.

Drugi film powiększy się 1,42 razy (720*1,42=1024), a więc zobaczymy czcionkę o wielkości 23.

Chyba nie o to nam chodziło, żeby każdy film miał w trybie pełnoekranowym inną wielkość czcionki (w wielkości naturalnej będą one w opisywanym przykładzie identyczne).
To samo dotyczy marginesów i efektów. No bo jeśli wybieramy automatyczny dobór szerokości kadru, to skąd mamy wiedzieć, co AGK wybierze i czy czcionka, którą wybraliśmy będzie dla tej szerokości odpowiednia?
Na szczęście można tak napisać skrypt, że AGK będzie automatycznie przeliczał nasze wielkości względem wzorcowej wielkości.
Zanim opiszę odpowiednie parametry, powiem jak to działa. Załóżmy, że odpowiada nam wielkość czcionki=23. Oczywiście mówię o wielkości w trybie pełnoekranowym!
Wiemy, że aby osiągnąć taką wartość, trzeba ustawić wielkość czcionki 16, przy założeniu, że film będzie o wielkości 720. Jeśli zapiszemy teraz w skrypcie czcionkę 16 oraz warunek, że ta wielkość odnosi się do szerokości 720, jeśli AGK wybierze inną rozdzielczość, to przeliczy naszą 16 na taka wielkość, aby po zmianie jej na 720 czcionka wyniosła właśnie 16.

Czyli na przykład – wpisujemy w skrypcie wielkość 16 i rozmiar 720. AGK jednak wybiera rozdzielczość 512, więc przelicza 512/720=0,71 i mnoży to przez wielkość czcionki, czyli 16*0,71=11. W film o szerokości 512 wripuje czcionkę o rozmiarze 11, mimo iż w całym skrypcie jest wpisane 16. W trybie pełnoekranowym czcionka będzie miała wielkość widoczną=22 (11 * 1024/512=22), a więc tyle, ile chcieliśmy. (Nie ma ułamkowych rozmiarów czcionek, stąd w wyniku zaokrągleń otrzymaliśmy czcionkę o jeden punkt mniejszą).
I takie przeliczenie AGK może wykonać dla dowolnej rozdzielczości, a odnosić się ono będzie do: trzech marginesów, efektów przejść, rozmiarów czcionki. Wielkości obrysu i cienia zawsze będą stałe, dokładnie takie jak w skrypcie.

Jak wymusić na AGK takie inteligentne przeliczanie? Służą do tego dwa parametry, oba wpisujemy w sekcji [Script Info] na początku skryptu.

PlayResX: rozdzielczość
PlayResY: rozdzielczość

Zamiast rozdzielczość wpisujemy wartość naszej wzorcowej rozdzielczości, w stosunku do której AGK wykona przeliczenie, np.: PlayResX: 720
Uwaga: po dwukropku musi być spacja, to samo zresztą dotyczy wszystkich innych parametrów, takich jak Format: , Dialogue: , SrciptType: etc.

PlayResX wpisujemy, jeśli chcemy, żeby przeliczenie odbyło się względem szerokości obrazu.
PlayResY odnosi się do zmiany względem wysokości kadru.

Zazwyczaj używamy tylko jednej z tych wielkości, ale jeśli chcemy dokładnie pozycjonować tekst musimy użyć obu. W przeciwnym wypadku tekst może np.. być poprawnie ustawiony w pionie, ale w poziomie już nie (tak się dzieje, gdy użyjemy tylko PlayResY, co jest dosyć częste, ponieważ żaden program nie wpisuje PlayResX, nawet SSA; inne programy do konwersji do ssa wpisują tylko PlayResY).

Początek skryptu z poprawnie wpisanymi wielkościami wygląda np. tak:

[Script Info]
Title: <bez tytułu>
Original Script: <nieznany>
ScriptType: v4.00
PlayResY: 416
PlayResX: 720

Skąd wziąć te wielkości?
Opiszę jedną z metod, choć każdy może wypracować własną:
  1. Ustawiamy AGK do konwersji. Wciskamy Preview.
  2. Robimy zrzut ekranu klatki z podglądu. (nie robimy tego w PowerDVD czy w czymś podobnym, ponieważ nie uwzględniają ITU!).
  3. Otwieramy Photoshopa, wycinamy samą klatkę filmu i spisujemy jej rozdzielczość. To są nasze PlayResX i Y.
  4. Zmieniamy wielkość zrzutu na taką, by szerokość wyniosła 1024 (jeśli mamy inną szerokość ekranu, to wpisujemy inną wartość.)
  5. Nanosimy jakiś tekst i sprawdzamy, jaka wartość w pikselach nam odpowiada jako margines. Przeliczamy ją na nasze PlayResX i Y.
  6. Wielkości czcionki nie sprawdzamy w Photoshopie, bo ma inną wielkość niż ta, którą otrzymamy po wripowaniu. Najlepiej wpisać jakąkolwiek i metodą prób i błędów sprawdzać w Podglądzie AGK w trybie pełnoekranowym, co nam odpowiada.
    Zapiszmy tę wielkość wraz z PlayResX i obliczmy naszą wielkość czcionki.
    Przykład : widzimy w podglądzie, że jeśli w skrypcie jest ustawione PlayResX=720 a czcionka w skrypcie wynosi 16, to ma na pełnym ekranie najbardziej odpowiadającą nam wielkość. Na podstawie poprzednich obliczeń widzimy, że lubimy czcionkę 23 [16 * 1024/720=23]. Zapisujemy ją gdzieś i na przyszłość obliczamy, jaką wielkość mamy ustawić dla czcionki w stylu na podstawie PlayResX i naszej 23.

    Obliczenie jest oczywiście takie:
    PlayResX*23 / 1024
    1024 to nasza szerokość ekranu.
    Sprawdźmy to dla szerokości 512:
    512*23=11776
    11776/1024=11,5
    Nasza wielkość czcionki to 11 lub 12 (połówek nie wpisujemy).
    W trybie pełnoekranowym dla 512 będzie to 22 lub 24, czyli tyle, ile chcieliśmy.

I to już koniec opisu właściwości formatu ssa, ale nie koniec tutorialu.

 

Komentarze


Komentarze


Michal_me - 18 Pazdziernik 2007, 13:29:29
Dobry tutorialial.
Czy autor tego artyku?u mg?by si? ze mn? skontaktowa??
Mj adres: michal_me[ma?peczka]tlen[kropeczka]pl

Komentarze sa dostepne tylko dla zarejestrowanych uzytkownikow (jezeli masz konto na forum wystarczy sie zalogowac). Jezeli nie, zarejestruj sie (rejestracja jest darmowa).
Nazwa uzytkownika:
Haslo: