FAQ serwowanie klatek

From Avisynth wiki
Revision as of 20:50, 18 July 2013 by Admin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

| Spis treści | Informacje ogólne | Wczytywanie plików | Wczytywanie skryptów | Komunikaty błędów | Rodzaje materiału źródłowego | Problemy z YV12 | Używanie pluginów VirtualDub |

Contents

Czym jest serwowanie klatek (frameserving) i do czego służy?

Znów pozwolimy sobie zaczerpnąć definicję Luke'a z jego strony internetowej:

"Frameserving to proces, podczas którego dokonujesz bezpośredniego przesyłu ścieżki wideo w twoim komputerze, z jednego programu do drugiego. Program, który otwiera plik(i) i wysyła wideo jest nazywany serwerem klatek (ang. frameserver). Aplikacją, która otrzymuje dane może być dowolny rodzaj programu do wideo.

Są dwa powody, dla których dokonuje się frameservingu.

  1. Mniej zajętego miejsca: w zależności od serwera, zazwyczaj jesteś w stanie edytować/przetwarzać twoje wideo w trakcie serwowania. Ponieważ frameserving nie tworzy plików tymczasowych, możesz go użyć do zmieniania swoich filmów bez wykorzystywania dodatkowej przestrzeni dysku - na przykład, jeśli chcesz połączyć dwie ścieżki, zmienić ich rozdzielczość i wysłać do innego programu, frameserving pozwoli ci zrobić to wszystko nie tworząc ogromnego pliku tymczasowego.
  2. Większa kompatybilność: program odbierający serwowane wideo widzi je jako względnie mały plik z nieskompresowanym obrazem. Jednakże plik źródłowy wczytany przez serwer może być, przykładowo, strumieniem MPEG-1 o dużej kompresji. Jeśli twój program nie obsługuje MPEG-1, nie jest to problemem, gdyż teraz otrzymuje standardowe, nieskompresowane wideo. Ta cecha frameservingu pozwala ci otwierać pewne typy plików w programach, w których normalnie nie mógłbyś tego zrobić.

Ponadto, z uwagi na fakt, iż dany program otrzymuje naraz jedną klatkę wideo, nie wie nic o rozmiarze pliku wyjściowego. Jeśli nawet limit wielkości obsługiwanych przezeń plików wynosi 2 lub 4 GB, nie ma to znaczenia. Za pomocą frameservingu możesz bezproblemowo przesłać choćby i 100 GB obrazu do programu z ograniczeniem 2 GB.

Jak użyć AviSynth w roli serwera klatek?

Napisz skrypt w dowolnym edytorze tekstu. Wczytaj swój plik, przefiltruj i otwórz skrypt w jednym z programów działających z AviSynth;

Serwowanie bezpośrednie

Wiele programów obsługuje AviSynth bez żadnej dodatkowej magii, traktując skrypty jak zwyczajne pliki multimedialne. Stworzenie pełnej ich listy jest niemożliwe i mijałoby się z celem - krótką notatkę o najpopularniejszych znajdziesz tutaj. Informację o tym, czy dany program wspiera skrypty AVS znajdziesz w jego dokumentacji.

Serwowanie niebezpośrednie

Niestety, równie wiele programów stara się sprytnie ustrzec użytkownika przed konsekwencjami pomyłek, sprawdzając przed otwarciem rzeczywistą zawartość - przez co nie obsługują one skryptów AviSynth. Na to jednak również istnieje sposób: narzędzia potrafiące stworzyć sztuczny plik AVI "udający" prawdziwy, który w ten sposób oszukuje zbyt sprytną aplikację. Ich opis znajduje się tutaj.

Serwowanie z użyciem dodatkowych pluginów

Adobe Premiere

Możesz zaimportować skrypt AviSynth do programu Adobe Premiere przy pomocy pluginu do tego drugiego. Jest on dostępny do pobrania ze strony Video Editors Toolkit. Działa z Adobe Premiere 5.x, 6.x i Pro.

Serwowanie do specjalnych wersji programów

Niektóre programy o otwartym kodzie źródłowym (open source) mogą, ale nie muszą być kompilowane ze wsparciem dla skryptów AviSynth. Należą do nich:

Dokładne i na bieżąco uaktualniane informacje znajdziesz w ich dokumentacjach.

Mam problem, co robić?

TMPGEnc nie odczytuje skryptów AVS

  • Zainstaluj plugin VFAPI dla TMPGEnc.
  • Wyłącz w TMPGEnc filtry DirectShow i proxy VirtualDub.
  • Dopisz do skryptu funkcję ConvertToRGB24.
  • Zainstaluj kodek VfW, który posłuży do dekodowania video w przestrzeni RGB - może to być np. Huffyuv lub DivX.
  • Zainstaluj plugin ReadAVS: skopiuj plik DLL do odpowiedniego folderu VFAPI, otwórz plik rejestru ReadAVS.reg w dowolnym edytorze tekstu (np. w Notatniku), wpisz odpowiednią ścieżkę, zapisz zmiany i kliknij nań dwa razy, aby włączyć je do swojego rejestru systemowego.

CCE się sypie podczas wczytywania skryptu AVS

  • Upewnij się, że używasz wersji 2.66 CCE lub nowszej.
  • Jeśli używasz Windows 2000, uruchom CCE w trybie kompatybilności z Windows NT 4 Service Pack 5.
  • Jeśli w swoim skrypcie nie masz ścieżki dźwiękowej, dodaj pustą za pomocą funkcji AddAudio.

Po otwarciu, kolory w skrypcie są popsute

Taki problem wskazuje na to, że dana aplikacja przeprowadza konwersję przestrzeni kolorów i robi to źle. Przetestuj wewnętrzne funkcje konwersji w AviSynth umieszczając je na końcu skryptu, aż znajdziesz właściwą - program nie będzie wtedy musiał przeprowadzać konwersji.


| Spis treści | Informacje ogólne | Wczytywanie plików | Wczytywanie skryptów | Komunikaty błędów | Rodzaje materiału źródłowego | Problemy z YV12 | Używanie pluginów VirtualDub |

Personal tools