Come effettuare registrazioni desktop WebM?


13

Sto cercando un'applicazione desktop recorder / screencast in grado di produrre in formato WebM o un programma in grado di convertire il formato .ogv generato da gtk-recordmydesktopin WebM.

Ho selezionato WebM come formato di cui ho bisogno perché sembra essere l'unico codec gratuito supportato da YouTube, dove finiranno le mie registrazioni. Ho provato a caricare un .ogv in passato e ho ottenuto un solido video verde, quindi non funzionerà per me.

Vivo negli Stati Uniti e sono consapevole di provare a stare lontano da qualsiasi cosa che possa avere problemi di brevetto sul software, come gstreamer0.10-plugins-uglyo gstreamer0.10-plugins-bad. Era per questo motivo che inizialmente ero interessato a Tibesti (per esempio), ma che aveva bisogno dell'installazione di pacchetti come il suddetto.

Ho fatto qualche ricerca online per una soluzione gratuita (sia in denaro che in libertà), ma finora non ho trovato nulla. Eventuali suggerimenti?


puoi dire la tua posizione?
Lincity,

@Alaukik, ho affermato sopra vivo negli Stati Uniti. Se hai bisogno di sapere quale stato, vivo nel Michigan. Non vorrei essere più specifico di così.
Christopher Kyle Horton,

@ Warriorlng64 oops!
Lincity

Risposte:


6

12.04 LTS

Sembra che in questa versione non funzioni ffmpeg più correttamente per convertire recordmydesktople registrazioni .ogv in WebM. Poiché non viene più mantenuto, si consiglia invece di utilizzare la sua sostituzione avconv, fornita nel libav-toolspacchetto (che sembra essere installato automaticamente se è ffmpegstato installato).

Il comando necessario avconvper le conversioni non è molto diverso da quello di ffmpeg:

avconv -i input.ogv output.webm

Quindi, se qualcuno sta affrontando lo stesso problema di provare a usare solo pacchetti gratuiti per convertire da .ogv a .webm in 12.04 (o presumibilmente più tardi), è così che l'ho risolto. Questo dovrebbe essere utile se stai registrando per mostrare nuove funzionalità o problemi con i documenti usando il video.


Di recente ho iniziato a lavorare su Kazam , ora è possibile registrare nei formati VP8 / WebM e H264 / Matroska. Ho realizzato build PPA per Oneiric e Precise. Utilizza gstreamer per la registrazione e non richiede ffmpeg. Dovrebbe funzionare su Ubuntu ben installato senza codec aggiuntivi.
BigWhale il

@BigWhale Navigando un po 'nel codice, ho notato che sembra ancora dipendere da gstreamer0.10-plugins-bade gstreamer0.10-plugins-ugly. Questi pacchetti contengono i codec che sto cercando di evitare a causa di problemi di brevetto, come indicato sopra. Se diventa disponibile una build aggiornata / alternativa che non dipende da questi pacchetti, fammi sapere in una nuova risposta. Grazie comunque!
Christopher Kyle Horton il

RicevoError while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
giovedì

@jrg Ho riscontrato un problema simile sul mio laptop durante la conversione di video che ho registrato usando una soluzione alternativa pubblicata in questo recordmydesktoprapporto sui bug . Curiosamente, quando ho preso lo stesso video sul mio computer desktop e l'ho convertito lì, ha funzionato senza problemi. Quindi ... potrebbe essere un bug, ma non credo di conoscerne abbastanza per presentare un rapporto.
Christopher Kyle Horton l'

1
Come nota a margine: FFMpeg è ancora mantenuto (in effetti la versione 1.0 è recentemente uscita), ma c'è stata una mini-guerra tra alcuni sviluppatori, che ha portato al fork di Avconv. È solo che i manutentori debian / ubuntu si sono schierati con avconv. Il messaggio "QUESTO PROGRAMMA È DEPRECATO" è totalmente fuorviante. Leggi la situazione attuale qui: http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html .
phoibos,

6

Sto usando cose del genere:

avconv -f x11grab -s 1024x768 -r 24 -i 0:0 -deadline realtime -b 5000000 -minrate 200000 -maxrate 40000000 recording-filename-000.webm

Dove:

-f x11grab - applica il "formato" di acquisizione dello schermo.

-s 1024x768è la risoluzione del file di input (aka area di acquisizione). Ad esempio è uguale alla risoluzione del desktop. Se inferiore, l'area di registrazione sarebbe a sinistra e in alto. In questo esempio ho usato l'area di registrazione 1024x768.

-r 24- frequenza dei fotogrammi. Fondamentalmente, da 23 a 30 FPS utilizzati dai film reali per ottenere immagini di registrazione fluide. Tuttavia, per lo screencast potrebbe essere opportuno ridurlo per ottenere un'immagine migliore a bitrate più bassi. Ho usato 24 per fare la cattura dello schermo del gioco.

-i 0:0è un suggerimento per usare display 0: 0 come sorgente (il dispositivo è in notazione xorg). Se hai solo 1 monitor e l'impostazione predefinita di Xorg, 0: 0 andrà bene la maggior parte delle volte.

-deadline realtime- è un suggerimento per libvpx. Vogliamo l'acquisizione dal vivo. Vogliamo prestazioni in tempo reale. Quindi libvpx farà del suo meglio per codificare VP8 in REALTIME. Per fare ciò scambia in qualche modo la qualità con la velocità. Alla data velocità in bitrate sarà un po 'peggio di quanto non sarebbe in tempo reale. Ma la velocità di codifica salirebbe alle stelle. Quindi sul mio hardware può sgretolare 1024x768 a 24FPS, scene intense, senza far cadere alcun frame (si consiglia comunque una potente CPU). In questo esempio desideravo una cattura dal vivo di qualità decente con un buon FPS e un'area di acquisizione abbastanza ampia. Quindi l'utilizzo della CPU da parte del codec potrebbe essere un problema. Ecco perché questo suggerimento è davvero necessario per ottenere buoni risultati.

-b 5000000- bitrate target in bit / secondo. Ho usato 5Mbit per ottenere un'immagine più o meno buona di scene abbastanza intense. Il codec proverà a mantenere la velocità media in bitrate del video vicina a questo valore. Più basso è questo valore, peggiore è la qualità e più piccolo è il file. Puoi sperimentare un po 'per avere idea di quale bitrate è buono per usi particolari. I servizi di condivisione video potrebbero convertire i video in caso di superamento. Se stai per utilizzare il proprio server, spetta a te occuparti del traffico. Se si effettua una riduzione inferiore, la qualità dell'immagine sarà scarsa. Sentiti libero di cambiare valore per avere un'idea di ciò che è meglio per te. I 5Mbit erano destinati alla cattura dal vivo più o meno piacevole di scene intense in giochi in cui non si può facilmente vedere che l'immagine è sovrapressa. Per catturare applicazioni fisse, in pratica avrai bisogno di molto meno.

-minrate200000 - è un bitrate minimo consentito per il codec. A seconda della natura delle cose che vuoi catturare, a volte potresti voler forzare il bitrate minimo per mantenere una foto dall'aspetto ragionevole, qualunque cosa accada. A volte l'euristico del codec potrebbe ridurre il bitrate molto al di sotto dei valori che potresti desiderare, dando cattive immagini in alcune scene. Questa opzione consente di forzare il codec a mantenere il bitrate minimo anche se il codec ritiene che la scena sia semplice e che il bitrate possa essere eliminato. Un valore elevato di questo parametro può aumentare le dimensioni del file impedendo al codec di utilizzare bitrate più bassi.

-maxrate 40000000- Questo valore controlla il bitrate massimo a raffica in scene intense. Ho usato un valore davvero elevato per consentire al codec di andare molto più in alto della media desiderata se ritiene che una velocità più elevata sia obbligatoria per mantenere una qualità decente in alcune scene. Per ottenere un'immagine di bell'aspetto in tutte le condizioni è preferibile impostare un valore abbastanza alto (40Mbit è una velocità simile a BlueRay e farà il trucco). D'altra parte, se stai per trasmetterlo in streaming utilizzando il tuo server, devi ridurre questo valore a costo di una qualità dell'immagine in scene intense. Altrimenti il ​​server potrebbe non riuscire a far fronte al bitrate di scoppio desiderato, non essendo in grado di consegnarlo in tempo reale agli utenti. Quindi il giocatore dovrebbe affrontare buffer underrun (che è fastidioso). I servizi di condivisione video si prenderanno cura di loro stessi e di solito convertono i video in bassi per abbassare i parametri a scapito della qualità delle immagini.

recording-filename-000.webm- è un nome file di output. Se usi l'estensione .webm, ffmpeg / avconv sono abbastanza intelligenti da capire che vuoi WEBM. È così semplice - avconv indovina il formato desiderato dal nome file. Quindi i file .WEBM sono WEBM all'interno.

Ecco fatto: questo comando dirige la registrazione dello schermo su file webm. Non sono necessarie conversioni extra ed libvpxè suggerito che sia il più veloce possibile. Non viene emesso alcun suono poiché non esiste alcuna specifica per l'ingresso audio. Potrebbe essere o meno quello che vuoi. Per l'audio, è necessario specificare anche la sorgente di input per il flusso audio.

PS questo può sembrare un po 'complicato ma alla fine della giornata puoi capire che una taglia non può andare bene per tutti. Quindi, per ottenere un'immagine di bell'aspetto in tutte le situazioni, potresti davvero voler avere alcune maniglie per il codec usato e vuoi regolarle. Ffmpeg ti dà tutte le maniglie di cui potresti mai aver bisogno e molto di più. È un'arma pesante di conversione e codifica video. Quindi questo esempio è un buon punto di partenza per coloro che vogliono fare codifiche più o meno avanzate ed è pronto a sperimentare un po 'per ottenere risultati davvero decenti.


6

È possibile effettuare registrazioni WebM in Ubuntu 11.10 + GNOME Shell premendo la combinazione di tasti Ctrl+ Shift+ Alt+ R.

La prima volta che si preme la combo, viene visualizzato un cerchio rosso nell'area di notifica, a indicare che la registrazione è iniziata. La seconda volta che lo premi, il cerchio rosso scompare e avrai la tua registrazione nella ${HOME}/Videosdirectory.

Maggiori informazioni qui: Foglio informativo su Gnome Shell: registrazione Screencast


Al momento in cui l'ho chiesto inizialmente, non avevo GNOME Shell. Ma l'ho compilato dalla jhbuild10.10 e l'ho installato sui miei sistemi 11.10, e so che funziona anche. Grazie per aver aggiunto questa risposta!
Christopher Kyle Horton,

Nella versione corrente (utilizzando 16.04) i video vengono archiviati ~/Videoscon un nome file di Screencast from {date} {time}.webm.
Kariem,

3

Usa l'app transmageddon per farlo. la sua app basata su Gstreamer

sudo apt-get install transmageddon oppure clicca qui installa transmageddon


Ho dato un'occhiata alle dipendenze per transmageddon tramite sudo apt-get install, e il pacchetto gstreamer-plugins-ugly che ho menzionato sopra è stato incluso nell'elenco. Ancora una volta, non sono sicuro che questo sia del tutto legale per me da usare, e che conta per me.
Christopher Kyle Horton

2

Usa Kazam per registrare.

L'output è mkv e funziona bene con Youtube. L'unico problema che Kazam non sembra essere stato aggiornato per un po '.

A proposito, dovresti essere sicuro di usare Tibesti se ho capito bene, a meno che ovviamente tu non sia assolutamente paranoico che qualche gigantesca astronave aliena ti rapirà e ti farà torturare per aver usato un software ...


Kazam chiede l'installazione di ffmpeg durante l'installazione di sudo apt-get, che non sono sicuro di poter usare legalmente.
Christopher Kyle Horton

@ Warrioring64, non credo che ffmpeg sia illegale ...
RolandiXor

È qualcosa di cui devo preoccuparmi, dal momento che sono negli Stati Uniti e qui vengono applicati i brevetti software. Si prega di vedere questa parte su Wikipedia se potrebbe aiutarti a capire cosa sto arrivando qui.
Christopher Kyle Horton,

2
@ Warrioring64 - la versione inclusa in Ubuntu è spogliata di quei codec.
RolandiXor

Va bene ... ma guardando oltre le dipendenze date, ho anche trovato libavcodec-extra-52 e libavutil-extra-52, che da un po 'più di ricerche che ho scoperto potrebbero crearmi problemi. Mi dispiace se mi sembri un po 'difficile, ma anche se non potessi essere realisticamente catturato dall'uso di un software del genere, non vorrei che fosse nella mia coscienza.
Christopher Kyle Horton,

2

11.10 e precedenti

ffmpegpuò essere utilizzato per convertire .ogv in .webm direttamente senza la necessità di ulteriori codec. Come menzionato in un commento su un'altra risposta , la versione ffmpegfornita da Ubuntu non arriva di default con codec che potrebbero comportare problemi di brevetto sul software.

Questo è un programma da riga di comando; per usarlo, basta aprire una finestra del terminale ed inserire:

ffmpeg -i input.ogv output.webm

Sì. Ho appena installato ffmpeg senza il repository medibuntu e ha estratto tutte le versioni gratuite dei pacchetti e ho codificato un wmv per webm facilmente con ffmpeg -i file.wmv -f webm -sameq file.webm
duffydack

1

imo, Il modo migliore per convertire video in WebM è Firefogg .

  • Questo è un plug-in di Firefox (quindi è uno strumento multi-piattaforma come lo è Firefox)
  • Comprimerà in formato WebM (open source - codec compatibile con il Web)
  • Offre più dimensioni di codifica (davvero comodo per ottenere il miglior rapporto di compressione)
  • Rapporto di compressione davvero efficiente (almeno fino a H264)
  • È super facile da usare

inserisci qui la descrizione dell'immagine

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.