Wie kann ich ein OpenGL-Spiel in Ubuntu aufnehmen?

19

Ich möchte einen kurzen Clip von mir beim Spielen von Minecraft, einem OpenGL-Spiel , erstellen . Die üblichen Screencast-Rekorder zeichnen OpenGL nicht richtig auf .

Welche Art von Software ist für diesen Zweck verfügbar?

Meine Erfahrung mit der Software in der ähnlichen (aber nicht mehr duplizierten) Frage :

  1. kazam : sehr niedrige framerate trotz einstellung auf 60 fps, kein ton, unity menubar blinkt ständig durch das fullscreen fenster.
  2. RecordMyDesktop : Die maximale Bildrate beträgt 50 FPS, aber das Video wird extrem schnell, wenn die Standardeinstellung von 15 FPS nicht verwendet wird.
  3. xvidcap : nicht verfügbar am 12.04
  4. tibesti : nicht verfügbar am 12.04
  5. zwinker : läuft nicht
  6. ffmpeg : Video von sehr geringer Qualität und kein Ton mit den empfohlenen Einstellungen, kann jedoch möglicherweise eingestellt werden (leider keine GUI).
  7. kdenlive : Verwendet recordmydesktop und der aufgezeichnete Clip wird beschädigt
  8. aconv : Video beschleunigt, oft kaputtes Bild, kein Ton
Tamás Szelei
quelle
Sind Sie sicher, dass diese Programme mit einem OpenGL-Spiel korrekt funktionieren? Als ich das letzte Mal nachgesehen habe, hatten sie viele Probleme damit.
Tamás Szelei
Weiß nicht, das ist ein guter Punkt. Du solltest dein Original auf 'Wie kann ich ein OpenGL-Spiel in Ubuntu aufnehmen' einstellen?
Tom Brossman
1
Getan. In der Zwischenzeit überprüfe ich alle diese Programme in dem Thread, den Sie erneut verlinkt haben. Bisher kein Glück. Die Menüleiste blinkt im Vollbildfenster und die Framerate im aufgenommenen Video ist sehr niedrig (trotz der von mir verwendeten Einstellungen).
Tamás Szelei
4
Das Original war ein Betrug, aber jetzt sollte diese bearbeitete Frage offen bleiben, insbesondere bei all den Bearbeitungen und Anstrengungen, die unternommen wurden, um sie zu verbessern. Ich sehe keine Möglichkeit, meine frühere enge Abstimmung abzubrechen, daher lösche ich nur meinen ersten Kommentar und stimme zu.
Tom Brossman
1
Das ist ein Scherz, oder? Diese Frage ist kein Duplikat - diese Screencast-Recorder-Apps sind auf das Rendern von Inhalten auf der Hardware beschränkt. OpenGL für das GPU-Rendering erfordert spezielle Tools, da die X11-Architektur extrem brüchig ist. Diese Frage muss wieder geöffnet werden
lurscher

Antworten:

9

GLC ist hierfür gut geeignet. Leider ist es nicht in den Archiven gepackt. Ich habe es jedoch (und seine Abhängigkeiten) in einen PPA geschrieben:

ppa: george-edison55 / glcLaunchpad-Logo ( Klicken Sie hier, um Anweisungen zur Verwendung von PPAs zu erhalten. )

Sie können die PPA mit den folgenden Befehlen zu Ihrem System hinzufügen:

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

Dann können Sie GLC installieren mit:

sudo apt-get install glc

Sobald das Tool installiert ist, können Sie mit der Aufzeichnung einer Anwendung beginnen, indem Sie Folgendes ausführen:

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

Dadurch wird die Anwendung sofort gestartet. Sie können die Aufzeichnung im Spiel starten und stoppen, indem Sie die Tastenkombination Shift+ drücken F8.

Wenn Sie fertig sind, erhalten Sie eine Datei /tmp/capture.glc, die die vom Tool erfassten Daten enthält. Sie können die Aufnahme sofort wiedergeben mit:

glc-play /tmp/capture.glc

Wenn Sie die Aufnahme in ein Video konvertieren möchten, können Sie dies tun mit:

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

Dadurch wird eine MP4-Datei /tmp/capture.avimit einer Bitrate von 3.000 Kbit / s erstellt.


Quellen:

Nathan Osman
quelle
Ton scheint dadurch nicht aufgenommen zu werden. Auch ausgabe an avi nur mit dem ganzen glc möglich. Für geteilte Videos müsstest du also das ganze Spiel neu starten. Davon abgesehen makellos.
phil294
7

Ich benutze SimpleScreenRecorder , um mein Minecraft-Gameplay aufzuzeichnen. Es waren ein paar Änderungen erforderlich, um den Sound zum Laufen zu bringen, aber fast alles, was Sie für die Aufnahme von Minecraft benötigen, sollte sich auf der Site befinden (unter "Spiel-Audio aufnehmen"). Es hat eine GUI und trotz des Namens eine ganze Reihe von Einstellungen, die Sie anpassen können, um ein Video zu erhalten, das Ihren Anforderungen entspricht (z. B. Qualität vs. Dateigröße). Installationsanweisungen finden Sie hier . Für Ubuntu müssen Sie ein ppa-Repository hinzufügen:

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

Zur Aufzeichnung Mine mit, stellen Sie sicher , Video - Eingang auf „Record OpenGL“, klicken Sie auf Einstellungen OpenGL und setzen Sie den Java - Befehl Ihre Minecraft - Launcher öffnen in „Command“: java -jar /path/to/launcher/Minecraft.jar. Stellen Sie sicher, dass "OpenGL-Anwendung automatisch starten" aktiviert ist. Dadurch sollte Ihr Minecraft-Launcher Sie öffnen, wenn Sie mit dem Aufnahmefenster fortfahren. Melden Sie sich einfach an, klicken Sie auf Wiedergabe und drücken Sie Strg + R (für andere Kombinationen konfigurierbar), um die Aufzeichnung zu starten / zu stoppen (alternativ können Sie die Schaltflächen verwenden).

glc ist ein anderes Tool, das das gleiche macht, aber ich habe es noch nicht benutzt und weiß nicht, wie es ist. Fühlen Sie sich frei, es zu versuchen.

Anomitee
quelle
3

Es gibt viele Programme, die Bildschirmaufnahmen aus dem X-Puffer machen, aber das ist sehr rechenintensiv und langsam. Allerdings habe ich eine Option gefunden, die tatsächlich direkt von der Grafikkarte erfasst wird: Yukon

Ein anderer ist glc. glc ist ein ALSA & OpenGL Capture Tool für Linux. Es besteht aus einer allgemeinen Bibliothek für Videoaufnahme, -wiedergabe und -verarbeitung sowie einer Reihe von Tools, die um diese Bibliothek herum erstellt wurden. glc sollte in der Lage sein, jede Anwendung zu erfassen, die ALSA für Sound und OpenGL zum Zeichnen verwendet. Es ist noch ein relativ neues Projekt, hat aber bereits eine lange Liste von Funktionen.

krupal6022
quelle
1
Für Yukon gibt es ein Follow-up namens glc: github.com/nullkey/glc
lurscher 23.11.12