Jak mogę nagrać moją grafikę wektorową bez rozmycia grafiki?

15

Wiele osób prosiło o zwiastun mojej gry, ponieważ zrzuty ekranu nie oddają tego sprawiedliwie. Testowałem PlayClaw, Fraps, CamStudio, VirtualDub i kilka innych mniejszych narzędzi; żaden nie przyniósł realnego wyniku. Moja gra wykorzystuje grafikę wektorową i jest zaprojektowana do pracy z prędkością 60 klatek na sekundę, więc kompresja stratna zwykłego wideo przechwytywania ekranu niszczy atrakcyjność graficzną.

Jak mogę nagrywać rozgrywkę bez rozmazania grafiki i spowolnienia klatek na sekundę?

ścigacz
źródło
2
fraps jest dla ciebie za wolny? upewnij się, że ustawiłeś go na 60 klatek na sekundę, a nie na domyślną 30 klatek na sekundę.
David Young,
Czy możesz poszerzyć swoje pytanie? myślę, że ciekawym byłoby nie wiedzieć online o nagrywaniu samej gry dla prostego zwiastuna, ale także produkować filmy, które będą odtwarzane w grze, tak zwane Sceny przerywnikowe, a nawet przyczepy z dodatkowymi efektami wizualnymi, takimi jak przełączanie fragmenty filmu itp. ... Sugeruję to do twojego pytania, ponieważ istnieje jakieś podobne pytanie wokół, wierzę ...
Prix
1
Prix, który byłby zbyt inny ... Tworzenie scen przerywnikowych to cała kolejna dziedzina pracy!
ścigający
3
Myślę, że powinieneś naprawdę przemyśleć fraps. Ze wszystkich rozwiązań, które widziałem, ma najlepszą jakość i nie ma logo na małą inwestycję. (W swoim pytaniu nie powiedziałeś za darmo)
Jesse Dorsey
3
Stoję z moją poprzednią odpowiedzią. Jeśli można odtworzyć wejście i siłę (lub nawet powtórka) na krok czasowy, można nagrać surowe ramki i zrobić z nimi, jak należy, bez jakiejkolwiek utraty jakości.
Kaj

Odpowiedzi:

22

Ustaw niezależność klatek na sekundę w grze, aby można było ustawić ją tak, aby grała ze stałym czasem. Zagraj w grę, nagraj dane wejściowe. Odtwarzaj ze stałym czasem, nagranym wejściem i zapisz każdą klatkę do pliku - ponieważ grasz ze stałym czasem, nie ma znaczenia, ile czasu zajmuje zapisanie klatki. W ten sposób materiał źródłowy jest nieskompresowany i możesz później zdecydować o jakości bez konieczności rezygnacji z szybkości lub problemów z powodu programu do przechwytywania. Potem pojawiają się rzeczy takie jak After Effects - przynajmniej będziesz miał wyraźny materiał źródłowy.

Zredagowano, by dodać: tak, wiem, uniezależnianie klatek na sekundę od odtwarzania w ustalonym czasie jest głupie. Duh. Cóż, jeśli frapsate niezależne frapsy również mogą stanowić mniejszy problem; o) Gry powinny być niezależnie od framerate!

Kaj
źródło
5
Przydaje się także niezależność klatek i deterministyczne odtwarzanie. Noel Llopis ma tutaj dobry artykuł: gamesfromwithin.com/back-to-the-future-part-1 (istnieje też druga część).
celion
Więc ... Twoim pomysłem jest przekodowanie całego silnika (którego nie zrobiłem przy okazji), aby obsługiwał jakiś sposób nagrywania i odtwarzania dokładnie wspomnianego wejścia? Przykro nam, ale to nie działa, szczególnie, że chociaż gra jest deterministyczna (jedyne losowe są w efektach wizualnych) silnik fizyki może się zmieniać i nie działałby poprawnie ... Pytam o marketing, nie o programowanie .
ścigający
Jeśli silnik fizyki może się wahać, nie jest deterministyczny. Nagrywanie wejściowe (w większości silników) podłącza się w jednym miejscu, trudno jest „przekodować cały silnik” ... tak czy inaczej, słyszę. <b> Kodowanie wideo jest dość kosztowną operacją, bezstratna, ale dobra kompresja jest droższa . Jeśli jednak problemem jest dostęp do dysku twardego, możesz rozważyć ustawienie dysku RAM, jeśli masz wolną pamięć. Jeśli chodzi o twój komentarz na temat marketingu, przepraszam, myślałem, że szukasz rozwiązania - to też przygotuje cię na przyszłość (co jeśli potrzebujesz hi-res?). Jeśli jest poza zakresem, to ... spróbuj ram-dysku.
Kaj
Dlaczego „uniezależnianie odtwarzania klatek od określonego czasu jest głupie”? Aby stałe wyjście klatek zawierało zapisaną sekwencję, musi być niezależne od klatek podczas nagrywania.
falstro,
Niekoniecznie. Jeśli ramka działa z gwarantowaną stałą liczbą klatek na sekundę (względnie mało prawdopodobne, ale jeśli), możesz po prostu odtworzyć karmienie kluczami, gdy one weszły i przy założeniu tego samego czasu. Poza tym zabrzmiało to głupio: op
Kaj
8

Ten artykuł na temat Pixel Prospector może być tym, czego potrzebujesz:

Jak nagrywać i edytować filmy z rozgrywki

Gra wykorzystana w filmie to NeonPlat 2, która wykorzystuje również grafikę wektorową.

Artykuł obejmuje wszystko, od przechwytywania do edycji.

Loris
źródło
Ok, przyznam nagrodę za ten, czyli ten, który faktycznie był NAJBARDZIEJ poprawny ... W każdym razie, dzięki Kajowi za wspomnienie o napędach RAM (rozwiązałem problem spowolnienia dysku), ale nie mogę przyznać ... połowy -odpowiedź za każdą odpowiedź.
ścigacz
Bez problemu Mam nadzieję, że udało Ci się zdobyć coś poprawnie!
Kaj,
2
Zarchiwizowana strona jest tutaj . Zaktualizowali stronę, która wydaje się być dużą listą oprogramowania do
nagrywania
4

Do nagrywania materiału z gry możesz wypróbować CamStudio , który jest bezpłatny. Uważam jednak, że nie działa z grami w trybie pełnoekranowym, więc będziesz chciał uruchomić grę w oknie.

Jeśli chodzi o tworzenie zwiastuna, potrzebujesz oprogramowania do edycji wideo. Istnieje kilka drogich opcji komercyjnych, ale jeśli szukasz czegoś darmowego, twój wybór jest bardziej ograniczony. Możesz wypróbować Windows Movie Maker lub iMovie, jeśli masz komputer Mac, ale najlepszym darmowym edytorem wideo, jaki znalazłem, jest Blender , szerzej znany jako narzędzie do modelowania 3D i animacji. Interfejs użytkownika nie jest intuicyjny, ale jeśli poświęcisz trochę czasu na jego nauczenie, dostaniesz także całkiem dobre narzędzie do edycji wideo.

Pekuja
źródło
3

Moim najlepszym doświadczeniem jest Fraps, ale użyłem pełnej wersji (wydawało się, że to mała jednorazowa nagroda za świetną użyteczność), która nie ma ograniczeń ani logo. Możesz wcześniej ustawić liczbę klatek na sekundę, jak sugerował David Young w swoim komentarzu. Podobnie jak wiele narzędzi do przechwytywania wideo, podczas nagrywania Fraps używa taniej kompresji, która następnie może zostać przekonwertowana na wybrany wyższy format kompresji. Do tego zwykle używam VirtualDub.

Nie miałem problemu z uruchomieniem Frapsa za moją grą na pełnej prędkości (w moim przypadku 50 fps), aby uzyskać wysokiej jakości przechwytywanie.

Kluczową kwestią jest to, że przechwytywanie wymaga pewnej wydajności i zawsze powinieneś próbować to zrobić na najlepszym dostępnym komputerze. Mówiąc dokładniej, narzędzie do przechwytywania zapewnia ciągłe i ciągłe zapisywanie na dysku, dlatego kluczem jest wybór przechowywania pliku na szybkim dysku twardym. Laptopy często są wyposażone w dyski twarde o wolniejszym dostępie, więc może to mieć duży wpływ na wydajność. Użycie mniejszego rozmiaru klatki podczas przechwytywania ułatwia dysku twardemu i może utrzymać szybkość klatek na sekundę. Fraps pozwala ustawić ramki o połówkowej wielkości.

W przypadku Fraps na jakość końcowego filmu ma duży wpływ kompresja zastosowana podczas konwersji AVI zakodowanego w FPS1 do formatu dystrybucyjnego. Jeśli nie weźmiesz pod uwagę stratności, nie będzie oczywiście miało znaczenia, jak dobrze działało narzędzie przechwytywania.

Poważnie nie sądzę, że programy, o których wspominasz, są ogólnie takie złe, ale potrzebuję trochę konfiguracji, aby działały optymalnie razem z konkretną grą.


Zapisywanie każdej pojedynczej klatki w formacie PNG prawdopodobnie nie jest dobrym pomysłem, jeśli masz już problemy z prędkością. Prawdopodobnie zużyłby więcej czasu procesora i dysku, ponieważ musiałby przechowywać każdą ramkę ze wszystkimi informacjami. Podczas kodowania i przechowywania filmu wiele koderów używa wielu klatek kluczowych, które są kompletne i pozwala na zdefiniowanie kolejnych klatek po nich jako różnicy między jedną klatką a drugą. Może to być ogromne zmniejszenie rozmiaru, ale nie pozwala wyjąć jednej klatki i odczytać jej bez klatki kluczowej.

Rozmiar każdej ramki będzie nie tylko większy, jeśli spróbujesz zrzucić je do osobnych plików, ale także narzut związany z samym dostępem do plików. Wynika to z faktu, że musisz otworzyć nowy uchwyt pliku dla każdej klatki zamiast trzymać się i przesyłać strumieniowo do jednego pliku, jak w przypadku filmu.

Najlepszym rozwiązaniem jest nagrywanie bezstratnego filmu i wyodrębnianie z niego klatek LUB przechwytywanie skończonej liczby klatek, takich jak zrzuty ekranu podczas gry.

Staffan E.
źródło
Fraps ma również tryb nagrywania bezstratnego. Oczywiście wymaga jeszcze większej przepustowości dysku i pamięci RAM. Jeśli kupisz pełną wersję (którą polecam), logo i termin znikną.
BRaffle
Dlaczego miałbym wyodrębniać ramki? Chcę wszystkie ramki! @Banana Wiem, że Fraps ma tryb bezstratny, to tryb, o którym wspomniałem, powoduje, że Fraps stają się powolne i powodują, że gra staje się dziwna (wydaje się, że Fraps jest powolny zamiast upuszczać klatki, to w jakiś sposób spowalnia grę)
Speeder
Ok, jasne, ale chodzi mi o to, że uzyskujesz jeszcze mniejszą prędkość, jeśli spróbujesz zrzucić każdą ramkę do poszczególnych plików obrazów.
Staffan E
2

Urządzenia takie jak te są bardzo tanie, a założę się, można się trzymać z drugiego komputera, aby go uruchomić na (nie trzeba nic specjalnego), dzięki czemu można uchwycić grę z gry pracującej maszyny (należy mieć komputer z wyjściem S-Video dla tej taniej wersji). Jest też coś takiego w celu przechwytywania w wyższej jakości - http://www.blackmagic-design.com/products/intensity/, ale wymaga USB 3 i jest droższy, ale można przechwycić HDMI i wyższą rozdzielczość. Naprawdę nie widzę lepszej opcji niż którekolwiek z tych dwóch.

Klatka kluczowa
źródło
1

Użyłem Windows Media Encoder kilka razy, aby nagrywać filmy z moich gier i narzędzi - jest bezpłatny i produkuje filmy dobrej jakości.

Chociaż zastanawiałem się również nad tym samym pytaniem, ponieważ nagrywanie wideo to tylko połowa procesu (jeśli to). Druga połowa to edycja, dodawanie efektów itp. Program Windows Movie Maker działa trochę, ale jest dość uproszczony ... i niewygodny.

Srekel
źródło
because recording a video is only half the processDobra uwaga, zastanawiam się również nad tym, jak stwierdzono w komentarzu do pytania wstępnego ...
Prix
1

W systemie Windows nagrywaj za pomocą PlayClaw, jeśli chcesz wideo z gry bez spowalniania komputera. W systemie Linux masz glc .

Ogień
źródło
1

Nie korzystałem z niego, ale możesz spróbować Taksi .

Andrew Brockert
źródło
Z jakiegoś powodu odmawia „zaczepienia” mojej gry :(
speeder
1

Zasadniczo problemy były następujące:

Jakość w grze wektorowej. Pobrana ilość procesora. Wąskie gardło we / wy.

Jakiego oprogramowania użyć do edycji.

Aby rozwiązać jakość, potrzebowałem bezstratnego kodeka lub brak kompresji. Im mniejsza kompresja, tym bardziej będę mieć problemy z I / O, ale im więcej procesora zajmę, tym bardziej będę mieć problemy z CPU (doh).

Rozwiązaniem było użycie RamDrive do rozwiązania wąskiego gardła we / wy, więc teraz pozostało mi głównie to, ile procesora chciałem wziąć (tj. Najmniejszy z możliwych). Zatem teoretycznie najlepszy byłby brak kompresji, ale brak kompresji w przypadku problemów z dostępnym ramdrive'em ...

Więc zbadałem i odkryłem, że najszybszy bezstratny kodek (nieważne jak bardzo faktycznie kompresuje), i był to CamStudio Lossless

Oprogramowanie, którego użyłem, to VirtualDub (sam CamStudio nie może przechwycić zawartości okna, przechwytuje całe okno, marnując w ten sposób miejsce).

Teraz oprogramowanie do edycji: No cóż, nikt tutaj nie dał dobrego awnsera, i nie zrobię tego, ale inne listy można znaleźć w innych miejscach.

ścigacz
źródło
3
Zauważyłem, że przesłałeś swój film na YouTube . Pamiętaj, że Youtube ponownie koduje wszystkie filmy w H.264, więc po tym całym machaniu ręką ostatecznie i tak użyłeś stratnego kodeka.
BlueRaja - Danny Pflughoeft
0

Możesz wypróbować vnc2flv , ale nie zrobi to sam audio (możesz później dodać ścieżkę audio). Nie jestem jednak pewien, czy Twój procesor będzie cię nienawidził, próbując kodować FLV w czasie rzeczywistym obok uruchomionej gry.

koderanger
źródło
0

Prawdopodobnie brzmi to oczywisto, ale ... Nie wyświetlaj pełnoekranowej gry podczas nagrywania wideo, w przeciwnym razie „oczywiście” będzie ona niesamowicie wolna, ponieważ przechwytuje rozdzielczość ekranu. Domyślam się, że to jest to, przez co jesteś ugryziony.

FRAPS dobrze się tym zajmie. Podobnie jak wiele innych, ale FRAPS uważam za najwygodniejszy i najłatwiejszy w użyciu.

Użyłem FRAPS do nagrywania, a Windows Movie Maker do złożenia kilku map wykonanych w Starcraft II - przykład .

David McGraw
źródło
Właściwie ... nawet nie próbowałem na pełnym ekranie, wszystkie moje testy były w trybie okienkowym.
ścigający
0

Oto, co zrobiłem w przeszłości, aby tworzyć zwiastuny wideo:

  1. Spraw, by Twoja gra działała z określonym krokiem czasu. Oznacza to wyraźne przejście od chwili obecnej do ostatniej klatki zamiast obliczania jej wewnętrznie w pętli gry.
  2. Po renderowaniu ramki zrzuć ją do formatu bezstratnego obrazu, takiego jak .tiff z numerem ramki jako nazwą. Ułatwia to innej aplikacji kodowanie serii zdjęć w filmie.
  3. Zrzuć odpowiedni koder wideo (napisałem prosty przy użyciu DirectShow), aby przekonwertować na format .avi lub inny żądany format wideo.
MSN
źródło
0

najlepszym sposobem jest nagrywanie własnej gry. Prostym sposobem jest zapisanie każdej klatki ze stałą liczbą klatek na sekundę. Z dyskiem SSD zajmuje „nie” czas. Trudniejszym sposobem jest tworzenie własnych „fraps”. Jeśli to zrobisz. Możesz bezpośrednio komunikować się ze swoją grą.

samboush
źródło
0

Niedawno stworzyłem zwiastun mojej gry. W pewnym stopniu pomógł mi silnik, który pozwala na zrzuty ekranu wystarczająco szybkie, aby faktycznie animować. Co ja zrobiłem:

  • Mimo że nie ustawiłem szybkości klatek, przechwytywanie odbywało się w ustalonych odstępach czasu, 25 na sekundę. Nagrałem sesję gry, która wygenerowała tysiące zdjęć na dysku.
  • Następnie zaimportowałem te obrazy do klipu w kdenlive
  • Dodano kilka tytułów, muzyki, logo, rozjaśnia się i rozjaśnia, aby nadać mu bardziej przyjemny wygląd

Właściwie bezpośrednie przechwytywanie obrazów oznaczało, że nie mogłem uzyskać dźwięków z gry, ale uzyskałem znacznie lepszą jakość obrazów. Dodanie trochę więcej muzyki niż to zrekompensowało.

mała kaczka
źródło
-6

Jeśli masz dwa komputery, użyj funkcji udostępniania ekranu skype. Zagraj w grę na jednym komputerze, a następnie użyj drugiego, aby przechwycić wideo. W ten sposób nie wpłyniesz na grę, a zasoby programu do przechwytywania wideo nie będą ograniczone.

Z drugiej strony możesz kupić kartę do przechwytywania wideo na swój komputer.

Strzyga
źródło
wut ... .. . .
David McGraw
3
Skype nie może magicznie wysyłać wideo bez jego kodowania, co zabiera procesorowi czas od programu.
1
To najgorszy pomysł, jaki kiedykolwiek widziałem.
Mathias Lykkegaard Lorenzen,