Come posso registrare un gioco OpenGL in Ubuntu?


19

Vorrei creare una breve clip di me giocando a Minecraft, un gioco OpenGL . I soliti registratori screencast non registrano correttamente OpenGL .

Che tipo di software è disponibile per questo scopo?

La mia esperienza con il software nella domanda simile (ma non più duplicata) :

  1. kazam : framerate molto basso nonostante l'impostazione su 60 FPS, nessun suono, barra dei menu di unità che lampeggia costantemente attraverso la finestra a schermo intero.
  2. RecordMyDesktop : l'impostazione massima del framerate è 50 FPS, ma il video diventa estremamente veloce se non si utilizzano i 15 FPS predefiniti.
  3. xvidcap : non disponibile il 12.04
  4. tibesti : non disponibile il 12.04
  5. occhiolino : non funziona
  6. ffmpeg : video di qualità molto bassa e nessun suono con le impostazioni consigliate, potrebbe essere sintonizzabile (purtroppo nessuna interfaccia grafica).
  7. kdenlive : usa recordmydesktop e la clip registrata viene danneggiata
  8. aconv : video accelerato, immagine spesso interrotta, nessun suono

Sei sicuro che quei programmi funzionino correttamente con un gioco aperto? L'ultima volta che ho verificato hanno avuto molti problemi con quello.
Tamás Szelei,

Non lo so, questo è un buon punto. Dovresti modificare l'originale in "Come posso registrare un gioco OpenGL in Ubuntu" forse?
Tom Brossman,

1
Fatto. Nel frattempo sto controllando tutti quei programmi nel thread che hai ricollegato. Finora senza fortuna. La barra dei menu lampeggia attraverso la finestra a schermo intero e il framerate è molto basso nel video registrato (nonostante le impostazioni che uso).
Tamás Szelei,

4
L'originale era un inganno, ma ora questa domanda modificata dovrebbe rimanere aperta, specialmente con tutte le modifiche e gli sforzi fatti per migliorarlo. Non vedo alcun modo per annullare il mio precedente voto di chiusura, quindi eliminerò solo il mio primo commento e voterò.
Tom Brossman,

1
Questo è uno scherzo, vero? quella domanda non è un duplicato: quelle app di registratore screencast sono limitate a cose rese dall'hardware. l'apertura del rendering in gpu richiede strumenti specializzati, a causa della grave rottura dell'architettura X11. Questa domanda deve essere riaperta
lurscher il

Risposte:


9

GLC è adatto a questo scopo. Purtroppo non è impacchettato negli archivi. Tuttavia, l'ho inserito (e le sue dipendenze) in un PPA:

ppa: george-edison55 / glcLogo del launchpad (fare clic qui per istruzioni sull'uso dei PPA. )

Puoi aggiungere il PPA al tuo sistema usando i seguenti comandi:

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

Quindi è possibile installare GLC con:

sudo apt-get install glc

Una volta installato lo strumento, puoi iniziare a registrare un'applicazione eseguendo:

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

Ciò avvierà immediatamente l'applicazione. Puoi avviare e interrompere la registrazione nel gioco premendo la scorciatoia da tastiera Shift+ F8.

Al termine, si finirà con un file /tmp/capture.glcche contiene i dati acquisiti dallo strumento. È possibile riprodurre immediatamente la registrazione con:

glc-play /tmp/capture.glc

Se desideri convertire la registrazione in un video, puoi farlo con:

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

Questo creerà un file MP4 chiamato /tmp/capture.avicon un bitrate di 3.000 Kbps.


fonti:


il suono non sembra essere registrato da questo. Inoltre, l'output su avi è possibile solo con l'intero glc. quindi, per i video divisi, dovresti riavviare l'intero gioco. A parte questo, impeccabile.
phil294,

7

Sto usando SimpleScreenRecorder per registrare il mio gameplay di Minecraft. Per far funzionare il suono sono necessarie alcune modifiche, ma quasi tutto il necessario per la registrazione di Minecraft dovrebbe trovarsi nel sito (in "Registrazione dell'audio del gioco"). Ha una GUI e, nonostante il nome, ha molte impostazioni che puoi modificare per ottenere un video per soddisfare le tue esigenze (ad es. Qualità vs dimensione del file). Le istruzioni per l'installazione sono qui . Per Ubuntu, dovrai aggiungere un repository 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

Per registrare Minecraft con esso, assicuratevi di ingresso video è impostato su "Record OpenGL", fare clic su Impostazioni OpenGL e mettere il comando Java per aprire il tuo Minecraft launcher in "Command": java -jar /path/to/launcher/Minecraft.jar. Assicurati che "Avvia l'applicazione OpenGL automaticamente" sia selezionato. Questo dovrebbe farti aprire il tuo launcher di Minecraft quando vai alla finestra di registrazione. Accedi, fai clic su Riproduci e premi Ctrl + R (configurabile per utilizzare altre combinazioni) per avviare / interrompere la registrazione (in alternativa, puoi utilizzare i pulsanti).

glc è un altro strumento che fa la stessa cosa, ma non l'ho ancora usato e non so come sia. Sentiti libero di provarlo però.


3

Esistono molti programmi che catturano lo schermo dal buffer X, ma sono molto lenti e ad alta intensità di processore. Tuttavia, ho trovato un'opzione che effettivamente cattura direttamente dalla scheda grafica: Yukon

Un altro è glc. glc è uno strumento di acquisizione ALSA e OpenGL per Linux. Consiste in una libreria generica di acquisizione, riproduzione ed elaborazione video e una serie di strumenti costruiti attorno a quella libreria. glc dovrebbe essere in grado di catturare qualsiasi applicazione che utilizza ALSA per il suono e OpenGL per il disegno. È ancora un progetto relativamente nuovo ma ha già un lungo elenco di funzionalità.


1
c'è un seguito per Yukon chiamato glc: github.com/nullkey/glc
lurscher il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.