Jak mogę nagrać grę OpenGL w Ubuntu?

19

Chciałbym stworzyć krótki klip z moją grą w Minecraft, grę OpenGL . Zwykłe rejestratory screencastów nie rejestrują poprawnie OpenGL .

Jakie oprogramowanie jest dostępne do tego celu?

Moje doświadczenie z oprogramowaniem w podobnym (ale już nie duplikowanym) pytaniu :

  1. kazam : bardzo niska liczba klatek na sekundę pomimo ustawienia 60 klatek na sekundę, brak dźwięku, pasek menu jedności ciągle miga przez okno pełnoekranowe.
  2. RecordMyDesktop : maksymalne ustawienie liczby klatek na sekundę to 50 FPS, ale wideo staje się wyjątkowo szybkie, jeśli nie używa domyślnego 15 FPS.
  3. xvidcap : niedostępny 12.04
  4. tibesti : niedostępne 12.04
  5. mrugnięcie : nie działa
  6. ffmpeg : wideo o bardzo niskiej jakości i brak dźwięku przy zalecanych ustawieniach może być dostrajane (niestety nie ma GUI).
  7. kdenlive : używa recordmydesktop, a nagrany klip ulega uszkodzeniu
  8. aconv : przyspieszenie wideo, często uszkodzony obraz, brak dźwięku
Tamás Szelei
źródło
Czy jesteś pewien, że te programy działają poprawnie z grą opengl? Kiedy ostatnio sprawdziłem, mieli z tym wiele problemów.
Tamás Szelei
Nie wiem, to dobra uwaga. Powinieneś edytować swój oryginał na „Jak mogę nagrać grę OpenGL w Ubuntu”?
Tom Brossman,
1
Gotowy. W międzyczasie sprawdzam wszystkie te programy w wątku, który ponownie połączyłeś. Jak dotąd nie ma szczęścia. Pasek menu miga przez okno pełnoekranowe, a liczba klatek na sekundę w nagranym filmie jest bardzo niska (pomimo ustawień, których używam).
Tamás Szelei,
4
Oryginał był duplikatem, ale teraz to zredagowane pytanie powinno pozostać otwarte, zwłaszcza przy wszystkich zmianach i wysiłkach poczynionych w celu jego ulepszenia. Nie widzę sposobu na anulowanie mojego wcześniejszego głosowania z bliska, więc po prostu usunę mój pierwszy komentarz i głosuję.
Tom Brossman,
1
to jest żart, prawda? to pytanie nie jest duplikatem - te aplikacje do nagrywania screencastów są ograniczone do rzeczy renderowanych poza sprzętem. Opengl w renderowaniu GPU wymaga wyspecjalizowanych narzędzi, ze względu na poważne uszkodzenie architektury X11. To pytanie musi zostać ponownie otwarte
lurscher

Odpowiedzi:

9

GLC nadaje się do tego celu. Niestety nie jest spakowany w archiwach. Jednak umieściłem go (i jego zależności) w PPA:

ppa: george-edison55 / glcLogo Launchpad ( Kliknij tutaj, aby uzyskać instrukcje dotyczące korzystania z PPA. )

Możesz dodać PPA do swojego systemu za pomocą następujących poleceń:

sudo apt-add-repository ppa:george-edison55/glc
sudo apt-get update

Następnie możesz zainstalować GLC za pomocą:

sudo apt-get install glc

Po zainstalowaniu narzędzia możesz rozpocząć rejestrowanie aplikacji, uruchamiając:

glc-capture -o /tmp/capture.glc <application>

Spowoduje to natychmiastowe uruchomienie aplikacji. Możesz rozpocząć i zatrzymać nagrywanie w grze, naciskając skrót klawiaturowy Shift+ F8.

Gdy skończysz, skończy się na pliku, /tmp/capture.glcktóry zawiera dane przechwycone przez narzędzie. Możesz natychmiast odtworzyć nagranie za pomocą:

glc-play /tmp/capture.glc

Jeśli chcesz przekonwertować nagranie na wideo, możesz to zrobić za pomocą:

glc-play /tmp/capture.glc -y 1 -o - | mencoder -demuxer y4m - \
    -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=3000 -o /tmp/capture.avi

Spowoduje to utworzenie pliku MP4 o /tmp/capture.aviprzepływności 3000 Kb / s.


Źródła:

Nathan Osman
źródło
dźwięk nie wydaje się przez to rejestrowany. Również wyjście do avi jest możliwe tylko z całym glc. dlatego w przypadku podzielonych filmów należy ponownie uruchomić całą grę. Poza tym bezbłędnie.
phil294
7

Używam SimpleScreenRecorder do nagrywania gry Minecraft. Wymagało to kilku poprawek, aby dźwięk działał, ale prawie wszystko, czego potrzebujesz do nagrywania Minecraft powinien znajdować się na stronie (w sekcji „Nagrywanie dźwięku z gry”). Ma GUI i, pomimo nazwy, ma całkiem sporo ustawień, które możesz dostosować, aby uzyskać wideo dostosowane do twoich potrzeb (np. Jakość w stosunku do rozmiaru pliku). Instrukcje instalacji są tutaj . W przypadku Ubuntu musisz dodać repozytorium ppa:

sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder
sudo apt-get update
sudo apt-get install simplescreenrecorder
# if you want to record 32-bit OpenGL applications on a 64-bit system:
sudo apt-get install simplescreenrecorder-lib:i386

Aby nagrywać Minecraft z nim, upewnij się, że wejście wideo jest ustawiony na „Record OpenGL”, kliknij Ustawienia OpenGL i umieścić polecenia Java, aby otworzyć swoją wyrzutnię Minecraft w „Command”: java -jar /path/to/launcher/Minecraft.jar. Upewnij się, że opcja „Uruchom aplikację OpenGL automatycznie” jest zaznaczona. Powinno to otworzyć program uruchamiający Minecraft po przejściu do okna nagrywania. Po prostu zaloguj się, kliknij przycisk odtwarzania i naciśnij Ctrl + R (konfigurowalne, aby użyć innych kombinacji), aby rozpocząć / zatrzymać nagrywanie (alternatywnie możesz użyć przycisków).

glc to kolejne narzędzie, które robi to samo, ale jeszcze go nie używałem i nie wiem, jak to jest. Spróbuj jednak.

Anomitee
źródło
3

Istnieje wiele programów, które przechwytują zrzuty ekranu z bufora X, ale jest to procesor bardzo pracochłonny i powolny. Jednak znalazłem jedną opcję, która faktycznie przechwytuje bezpośrednio z karty graficznej: Yukon

Kolejny to glc. glc to narzędzie do przechwytywania ALSA i OpenGL dla systemu Linux. Składa się z ogólnej biblioteki przechwytywania, odtwarzania i przetwarzania wideo oraz zestawu narzędzi zbudowanych wokół tej biblioteki. glc powinien być w stanie przechwycić każdą aplikację, która używa ALSA do dźwięku i OpenGL do rysowania. Jest to wciąż stosunkowo nowy projekt, ale ma już długą listę funkcji.

krupal6022
źródło
1
istnieje kontynuacja dla Yukon o nazwie glc: github.com/nullkey/glc
lurscher 23.11.