FPSy - próba napisania poradnika :)
: czwartek 02 cze 2016, 08:39
Od razu zaznaczę, że nie jestem ani żadnym specem i podejrzewam, że większość użytkowników tego forum ma większą ode mnie wiedzę na temat filmowania. Jednak postanowiłem założyć taki temat, bo powoli mam dość dziwnych rozmów w tematach wyższości XXfps nad YYfps i dlaczego ktoś woli mieć 50fpsów, a nie 60 :)
Piszę opierając się na kilku wypowiedziach z tutejszego forum, zdrowym rozsądku i kilku stronach z internetów :)
Tak więc po kolei:
FPS - czyli frames per second, a bardziej swojsko klatki na sekundę (i teoretycznie w tym momencie poradnik mógłby się zakończyć, bo wszystko wydaje się strasznie logiczne :) ). Czyli niesamowicie upraszczając ilość "zdjęć" robionych przez kamerę, lub wyświetlanych przez odbiornik w trakcie jednej sekundy. Historycznie wartość ta zmieniała się (dla filmów) od bodajże 16 klatek na sekundę, do aktualnych 48/50/60/120/etc. Z zasady ludzkie oko przy 24 klatkach na sekundę jest w stanie zmontować z tego ruch.
Pytanie nasuwa się, po co w takim razie więcej klatek? Jeśli 24 wystarczają.
Odpowiedź jest prosta, im więcej klatek tym ruch jest bardziej płynny.
Więc nasuwa się kolejne pytanie - czemu nie mielibyśmy nagrywać w największej możliwej dla kamery ilości klatek? Skoro im więcej tym lepiej, to czemu się ograniczać?
I tutaj odpowiedzi są dwie. Pierwsza, prosta - im więcej klatek tym potrzeba więcej miejsca na nośniku i zwiększony jest pobór prądu z baterii.
Odpowiedź druga - bo zależy na jakim odbiorniku chcemy dany film oglądać.
I teraz postaram się wrzucić troszkę rysunków, żeby zobrazować problem :)
Na potrzeby klarowności moich dzieł z painta zakładam, że nie robimy 60/50 klatek na sekundę, tylko 6/5 :)
Śliczne prawda :)
Czarne to oś czasu, czerwone to nasze 6fpsów, zielone to nasze 5fpsów, całość to dla uproszczenia 1 sekunda.
I teraz nastąpi próba odpowiedzi na pytanie: Dlaczego nagrywanie w 60fpsach wcale nie jest lepsze od nagrywania w 50fpsach?
Tak jak pisałem, problemem nie jest samo nagrywanie, ale problemem jest późniejsze odtworzenie nagranego materiału. W odtwarzaniu analogowym (telewizyjnym) mamy dwa standardy: PAL/SECAM i NTSC. PAL/SECAM odtwarza w 50 klatkach (albo półklatkach, ale ten problem pominiemy :) ), a standard NTSC odtwarza w 60 klatkach na sekundę.
I teraz wyobraźmy sobie, że nagrywamy filmik w 60 klatkach, a chcemy go odtworzyć w 50 klatkach (Czyli na rysunku nagrywamy czerwonym torem, a chcemy odtworzyć zielonym). Pojawia się problem, gdyż tory czasowe się ze sobą nie pokrywają (a muszą się pokrywać, żeby miało to ręce i nogi). Więc trzeba pokombinować, żeby zaczęły się pokrywać.
Sposoby (znane mi) są trzy:
1. Skoro mamy za dużo klatek, to może wyrzucimy część i będzie spokój - teoretycznie tak, ale praktycznie nie :) Bo zamiast otrzymać coś takiego:
Otrzymujemy coś takiego:
Czyli teoretycznie ilość klatek się zgadza, ale odległość czasowa między klatkami jest nierówna, przez co raz na jakiś czas (a dokładnie 10 razy na sekundę) będzie dwa razy dłuższy skok w ruchu i im bardziej dynamiczny ruch będzie wykonywany na nagraniu, tym będzie to bardziej widoczne i odbiór filmu będzie gorszy.
2. Skoro nie możemy usunąć klatek, to może przestańmy się patyczkować i odtwarzajmy film tak jak leci. Czyli film nagrany z 60 klatkami na sekundę odtwarzajmy puszczając 50 klatek na sekundę.
No super, tylko film będzie się odtwarzał dłużej niż był nagrywany (standardowo co 5 sekund będzie nam dochodzić dodatkowa sekunda filmu). Czyli zrobimy slow motion, co będzie nienaturalne.
3. No to skoro nie możemy klatek usunąć, nie możemy filmu spowolnić, to każmy komputerowi wygenerować klatki tak, żeby to było dobrze :)
No i tak teoretycznie próbuje się to robić, ale jeszcze nie wychodzi to w 100% naturalnie i wymaga cały czas sporej mocy obliczeniowej. Bo najprostszym matematycznym sposobem byłoby z posiadanych 60 klatek wygenerować w sumie klatek 300 (wspólny mianownik 60 i 50) i z tak wygenerowanego materiału wziąć interesujące nas klatki
Dokładnie taki sam problem jest jak byśmy chcieli zrobić w drugą stronę (albo i jeszcze gorszy), czyli materiał nagrywany w 50fpsach przerobić na 60 fpsów:
1. Zamiast usuwania klatki musimy zdublować którąś klatkę
2. Film zamiast przyśpieszony będzie spowolniony
3. j.w. tylko, że musimy wygenerować więcej klatek (bo w pierwszym przypadku generujemy klatek 240, a w tym musimy wygenerować 250 na każdą sekundę filmu).
Tak więc jak widzimy wszystko rozbija się o standardy :)
Mam nadzieję, że ten post pomoże przy wszelkich rozmowach w stylu "po co kręcisz w xx skoro możesz w yy a to jest lepiej" (xx i yy wstawcie jak chcecie :) )
A teraz proszę o konstruktywne uwagi odnośnie moich wypocin :)
Edytka:
Głupie literówki :)
Piszę opierając się na kilku wypowiedziach z tutejszego forum, zdrowym rozsądku i kilku stronach z internetów :)
Tak więc po kolei:
FPS - czyli frames per second, a bardziej swojsko klatki na sekundę (i teoretycznie w tym momencie poradnik mógłby się zakończyć, bo wszystko wydaje się strasznie logiczne :) ). Czyli niesamowicie upraszczając ilość "zdjęć" robionych przez kamerę, lub wyświetlanych przez odbiornik w trakcie jednej sekundy. Historycznie wartość ta zmieniała się (dla filmów) od bodajże 16 klatek na sekundę, do aktualnych 48/50/60/120/etc. Z zasady ludzkie oko przy 24 klatkach na sekundę jest w stanie zmontować z tego ruch.
Pytanie nasuwa się, po co w takim razie więcej klatek? Jeśli 24 wystarczają.
Odpowiedź jest prosta, im więcej klatek tym ruch jest bardziej płynny.
Więc nasuwa się kolejne pytanie - czemu nie mielibyśmy nagrywać w największej możliwej dla kamery ilości klatek? Skoro im więcej tym lepiej, to czemu się ograniczać?
I tutaj odpowiedzi są dwie. Pierwsza, prosta - im więcej klatek tym potrzeba więcej miejsca na nośniku i zwiększony jest pobór prądu z baterii.
Odpowiedź druga - bo zależy na jakim odbiorniku chcemy dany film oglądać.
I teraz postaram się wrzucić troszkę rysunków, żeby zobrazować problem :)
Na potrzeby klarowności moich dzieł z painta zakładam, że nie robimy 60/50 klatek na sekundę, tylko 6/5 :)
Śliczne prawda :)
Czarne to oś czasu, czerwone to nasze 6fpsów, zielone to nasze 5fpsów, całość to dla uproszczenia 1 sekunda.
I teraz nastąpi próba odpowiedzi na pytanie: Dlaczego nagrywanie w 60fpsach wcale nie jest lepsze od nagrywania w 50fpsach?
Tak jak pisałem, problemem nie jest samo nagrywanie, ale problemem jest późniejsze odtworzenie nagranego materiału. W odtwarzaniu analogowym (telewizyjnym) mamy dwa standardy: PAL/SECAM i NTSC. PAL/SECAM odtwarza w 50 klatkach (albo półklatkach, ale ten problem pominiemy :) ), a standard NTSC odtwarza w 60 klatkach na sekundę.
I teraz wyobraźmy sobie, że nagrywamy filmik w 60 klatkach, a chcemy go odtworzyć w 50 klatkach (Czyli na rysunku nagrywamy czerwonym torem, a chcemy odtworzyć zielonym). Pojawia się problem, gdyż tory czasowe się ze sobą nie pokrywają (a muszą się pokrywać, żeby miało to ręce i nogi). Więc trzeba pokombinować, żeby zaczęły się pokrywać.
Sposoby (znane mi) są trzy:
1. Skoro mamy za dużo klatek, to może wyrzucimy część i będzie spokój - teoretycznie tak, ale praktycznie nie :) Bo zamiast otrzymać coś takiego:
Otrzymujemy coś takiego:
Czyli teoretycznie ilość klatek się zgadza, ale odległość czasowa między klatkami jest nierówna, przez co raz na jakiś czas (a dokładnie 10 razy na sekundę) będzie dwa razy dłuższy skok w ruchu i im bardziej dynamiczny ruch będzie wykonywany na nagraniu, tym będzie to bardziej widoczne i odbiór filmu będzie gorszy.
2. Skoro nie możemy usunąć klatek, to może przestańmy się patyczkować i odtwarzajmy film tak jak leci. Czyli film nagrany z 60 klatkami na sekundę odtwarzajmy puszczając 50 klatek na sekundę.
No super, tylko film będzie się odtwarzał dłużej niż był nagrywany (standardowo co 5 sekund będzie nam dochodzić dodatkowa sekunda filmu). Czyli zrobimy slow motion, co będzie nienaturalne.
3. No to skoro nie możemy klatek usunąć, nie możemy filmu spowolnić, to każmy komputerowi wygenerować klatki tak, żeby to było dobrze :)
No i tak teoretycznie próbuje się to robić, ale jeszcze nie wychodzi to w 100% naturalnie i wymaga cały czas sporej mocy obliczeniowej. Bo najprostszym matematycznym sposobem byłoby z posiadanych 60 klatek wygenerować w sumie klatek 300 (wspólny mianownik 60 i 50) i z tak wygenerowanego materiału wziąć interesujące nas klatki
Dokładnie taki sam problem jest jak byśmy chcieli zrobić w drugą stronę (albo i jeszcze gorszy), czyli materiał nagrywany w 50fpsach przerobić na 60 fpsów:
1. Zamiast usuwania klatki musimy zdublować którąś klatkę
2. Film zamiast przyśpieszony będzie spowolniony
3. j.w. tylko, że musimy wygenerować więcej klatek (bo w pierwszym przypadku generujemy klatek 240, a w tym musimy wygenerować 250 na każdą sekundę filmu).
Tak więc jak widzimy wszystko rozbija się o standardy :)
Mam nadzieję, że ten post pomoże przy wszelkich rozmowach w stylu "po co kręcisz w xx skoro możesz w yy a to jest lepiej" (xx i yy wstawcie jak chcecie :) )
A teraz proszę o konstruktywne uwagi odnośnie moich wypocin :)
Edytka:
Głupie literówki :)