Wie mache ich WebM-Desktop-Aufnahmen?

13

Ich suche entweder eine Desktop-Rekorder- / Screencast-Anwendung, die im WebM-Format ausgegeben werden kann, oder ein Programm, das das von generierte .ogv-Format gtk-recordmydesktopin WebM konvertieren kann .

Ich habe WebM als das von mir benötigte Format ausgewählt, da es anscheinend der einzige kostenlose Codec ist, der von YouTube unterstützt wird und bei dem meine Aufnahmen landen. Ich habe in der Vergangenheit versucht, eine .ogv-Datei hochzuladen, und ein durchgehend grünes Video erhalten, sodass dies für mich nicht funktioniert.

Ich lebe in den USA und bin mir bewusst, dass ich mich von allem fernhalten möchte, bei dem es um Softwarepatentprobleme wie gstreamer0.10-plugins-uglyoder geht gstreamer0.10-plugins-bad. Aus diesem Grund interessierte ich mich ursprünglich (zum Beispiel) für Tibesti, aber dafür mussten Pakete wie die oben genannten installiert werden.

Ich habe online nach einer kostenlosen Lösung (sowohl für Geld als auch für die Freiheit) gesucht, konnte aber bisher nichts finden. Irgendwelche Vorschläge?

Christopher Kyle Horton
quelle
Kannst du deinen Standort nennen?
Lincity
@Alaukik, ich habe oben angegeben, dass ich in den USA lebe. Wenn du wissen willst, in welchem ​​Bundesstaat? Ich lebe in Michigan. Ich möchte nicht genauer darauf eingehen.
Christopher Kyle Horton
@ Warriorlng64 Hoppla!
Lincity

Antworten:

6

12.04 LTS

Es scheint, dass in dieser Version das Konvertieren von .ogv-Aufzeichnungen in WebM ffmpeg nicht mehr ordnungsgemäß funktioniertrecordmydesktop . Da es nicht mehr gewartet wird, wird empfohlen, avconvstattdessen das Ersatzprodukt zu verwenden, das im libav-toolsPaket enthalten ist (das bei Installation anscheinend automatisch installiert wird ffmpeg).

Der avconvfür Konvertierungen erforderliche Befehl unterscheidet sich nicht wesentlich von ffmpeg:

avconv -i input.ogv output.webm

Wenn also irgendjemand das gleiche Problem hat, nämlich zu versuchen, in 12.04 (oder vermutlich später) nur kostenlose Pakete für die Konvertierung von .ogv nach .webm zu verwenden, habe ich das so gelöst. Dies ist hilfreich, wenn Sie Aufnahmen machen, um neue Funktionen anzuzeigen oder Probleme mit dem Video zu dokumentieren.

Christopher Kyle Horton
quelle
Kürzlich habe ich angefangen, an Kazam zu arbeiten . Jetzt kann es in den Formaten VP8 / WebM und H264 / Matroska aufnehmen. Ich habe PPA-Builds für Oneiric und Precise erstellt. Es benutzt gstreamer für die Aufnahme und benötigt kein ffmpeg. Es sollte auf einem sauber installierten Ubuntu ohne zusätzliche Codecs funktionieren.
BigWhale
@BigWhale Beim ein wenig Durchsuchen des Codes ist mir aufgefallen , dass es immer noch auf gstreamer0.10-plugins-badund ankommt gstreamer0.10-plugins-ugly. Diese Pakete enthalten die Codecs, die ich aus Patentgründen vermeiden möchte, wie oben angegeben. Wenn ein aktualisierter / alternativer Build verfügbar wird, der nicht von diesen Paketen abhängt, lassen Sie es mich in einer neuen Antwort wissen. Danke trotzdem!
Christopher Kyle Horton
Ich bekommeError while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
jrg
@jrg Ich habe ein ähnliches Problem auf meinem Laptop beim Konvertieren von Videos, die ich mit einer in diesem recordmydesktopFehlerbericht angegebenen Problemumgehung aufgenommen habe . Seltsamerweise funktionierte es problemlos, wenn ich dasselbe Video auf meinen Desktopcomputer übertrug und dort umwandelte. Also ... es könnte ein Fehler sein, aber ich glaube, ich weiß noch nicht genug darüber, um einen Bericht einzureichen.
Christopher Kyle Horton
1
Als Randnotiz: FFMpeg wird immer noch gepflegt (tatsächlich ist Version 1.0 erst kürzlich herausgekommen), aber es gab einen Minikrieg zwischen einigen Entwicklern, der zur Fork Avconv führte. Es ist nur so, dass die Debian / Ubuntu-Betreuer auf der Seite von avconv standen. Die Meldung "DIESES PROGRAMM IST VERALTET" ist völlig irreführend. Lesen Sie über die aktuelle Situation hier: http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html .
Phoibos
6

Ich benutze solche Dinge:

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

Wo:

-f x11grab - Erzwingt das "Format" der Eingabe für die Bildschirmaufnahme.

-s 1024x768ist die Auflösung der Eingabedatei (aka Erfassungsbereich). Zum Beispiel entspricht der Desktopauflösung. Wenn es kleiner ist, befindet sich der Aufnahmebereich oben und links. In diesem Beispiel habe ich den Aufnahmebereich 1024 x 768 verwendet.

-r 24- Framerate. Grundsätzlich werden 23 bis 30 FPS von echten Filmen verwendet, um ein flüssiges Aufnahmebild zu erhalten. Bei Screencasts kann es jedoch in Ordnung sein, diesen Wert zu reduzieren, um ein besseres Bild bei niedrigeren Bitraten zu erhalten. Ich habe 24 verwendet, um Bildschirmaufnahmen zu machen.

-i 0:0ist ein Hinweis, um die Anzeige 0: 0 als Quelle zu verwenden (Gerät ist in Xorg-Notation). Wenn Sie nur 1 Monitor und Xorg-Standardeinstellungen haben, ist 0: 0 die meiste Zeit in Ordnung.

-deadline realtime- ist ein Hinweis auf libvpx. Wir wollen Live-Capture. Wir wollen Echtzeitleistung. Deshalb wird libvpx es am besten tun, VP8 in REALTIME zu kodieren. Um dies zu tun, wird Qualität gegen Geschwindigkeit eingetauscht. Bei gegebener Bitrate ist die Qualität etwas schlechter als in Nicht-Echtzeit. Aber die Codierungsgeschwindigkeit würde explodieren. Auf meiner Hardware kann es also 1024x768 @ 24FPS, intensive Szenen, zermahlen, ohne Frames fallen zu lassen (leistungsstarke CPU wird jedoch empfohlen). In diesem Beispiel wollte ich eine Live-Aufnahme mit guter Bildwiederholrate und einem recht großen Aufnahmebereich. Die CPU-Auslastung durch den Codec könnte also ein Problem sein. Deshalb ist dieser Hinweis wirklich für gute Ergebnisse erforderlich.

-b 5000000- Zielbitrate in Bit / Sekunde. Ich habe 5 Mbit verwendet, um ein mehr oder weniger gutes Bild von ziemlich intensiven Szenen zu erhalten. Der Codec versucht, die durchschnittliche Bitratengeschwindigkeit des Videos nahe an diesem Wert zu halten. Je niedriger dieser Wert ist, desto schlechter ist die Qualität und desto kleiner ist die Datei. Sie können ein wenig experimentieren, um eine Vorstellung davon zu bekommen, welche Bitrate für bestimmte Verwendungszwecke geeignet ist. Videofreigabedienste würden Videos herunterkonvertieren, wenn Sie überschießen. Wenn Sie einen eigenen Server verwenden möchten, müssen Sie sich um den Datenverkehr kümmern. Wenn Sie unterschreiten, ist die Bildqualität schlecht. Sie können den Wert jederzeit ändern, um eine Vorstellung davon zu bekommen, was für Sie am besten ist. 5 Mbit waren für die mehr oder weniger augenfreundliche Live-Aufnahme intensiver Szenen bei Spielen gedacht, bei denen Sie nicht leicht erkennen können, dass das Bild überkomprimiert ist. Für das Erfassen von Standbildanwendungen benötigen Sie im Grunde genommen weitaus weniger.

-minrate200000 - ist eine minimal zulässige Bitrate für den Codec. Abhängig von der Art der zu erfassenden Objekte möchten Sie manchmal eine minimale Bitrate erzwingen, um ein vernünftig aussehendes Bild zu behalten, egal was passiert. Manchmal kann die Codec-Heuristik die Bitrate weit unter die von Ihnen gewünschten Werte reduzieren und bei einigen Szenen ein schlechtes Bild liefern. Mit dieser Option kann der Codec gezwungen werden, die minimale Bitrate beizubehalten, auch wenn der Codec der Meinung ist, dass die Szene einfach ist und die Bitrate möglicherweise gelöscht wird. Ein hoher Wert dieses Parameters kann die Dateigröße erhöhen, indem verhindert wird, dass der Codec niedrigere Bitraten verwendet.

-maxrate 40000000- Dieser Wert steuert die maximale Burst-Bitrate bei intensiven Szenen. Ich habe einen sehr hohen Wert verwendet, um zu ermöglichen, dass der Codec weit über den gewünschten Durchschnitt hinausgeht, wenn er eine höhere Geschwindigkeit für erforderlich hält, um in bestimmten Szenen eine anständige Qualität zu gewährleisten. Um unter allen Bedingungen ein gut aussehendes Bild zu erhalten, ist es wünschenswert, diese Einstellung hoch genug zu wählen (40 Mbit entspricht der BlueRay-Geschwindigkeit und reicht aus). Wenn Sie es jedoch über Ihren eigenen Server streamen möchten, müssen Sie diesen Wert bei intensiven Szenen auf Kosten einer gewissen Bildqualität reduzieren. Andernfalls könnte der Server die gewünschte Burst-Bitrate nicht verarbeiten und sie nicht in Echtzeit an die Benutzer liefern. Dann würde der Spieler einem Puffer-Unterlauf gegenüberstehen (was ärgerlich ist). Video-Sharing-Dienste sorgen für sich selbst und konvertieren Videos normalerweise herunter, um die Parameter auf Kosten der Bildqualität zu senken.

recording-filename-000.webm- ist ein Dateiname der Ausgabe. Wenn Sie die Erweiterung .webm verwenden, sind ffmpeg / avconv klug genug, um zu verstehen, dass Sie WEBM möchten. Es ist SO einfach - avconv errät das gewünschte Format anhand des Dateinamens. Also .WEBM-Dateien sind in WEBM.

Das war's - dieser Befehl führt eine direkte Bildschirmaufnahme in die webm-Datei durch. Es sind keine zusätzlichen Konvertierungen erforderlich und es libvpxwird empfohlen, so schnell wie möglich zu sein. Es ist kein Ton zu hören, da keine Spezifikation für die Toneingabe vorliegt. Es kann oder kann nicht sein, was Sie wollen. Für Sound müssen Sie auch die Eingangsquelle für den Sound-Stream angeben.

PS: Das sieht vielleicht etwas kompliziert aus, aber am Ende des Tages können Sie feststellen, dass eine Größe nicht für alle passt. Um ein gutes Bild in allen Situationen zu erhalten, möchten Sie möglicherweise einige Codec-Handles verwenden und diese anpassen. Ffmpeg bietet Ihnen alle Handles, die Sie jemals brauchen könnten und noch viel mehr. Es ist eine schwere Waffe der Videokonvertierung und -codierung. Daher ist dieses Beispiel ein guter Ausgangspunkt für diejenigen, die mehr oder weniger fortgeschrittene Codierungen ausführen möchten und bereit sind, ein wenig zu experimentieren, um wirklich anständige Ergebnisse zu erzielen.

Encoder1
quelle
6

Sie können WebM-Aufzeichnungen in Ubuntu 11.10 + GNOME Shell erstellen, indem Sie die Tastenkombination Ctrl+ Shift+ Alt+ Rdrücken.

Wenn Sie die Combo zum ersten Mal drücken, wird im Infobereich ein roter Kreis angezeigt, der darauf hinweist, dass die Aufnahme gestartet wurde. Beim zweiten Drücken verschwindet der rote Kreis und Sie haben Ihre Aufnahme im ${HOME}/VideosVerzeichnis.

Mehr Infos hier: Gnome Shell Cheat Sheet: Screencast-Aufnahme

reygecko
quelle
Zu der Zeit, als ich das ursprünglich gefragt habe, hatte ich noch keine GNOME-Shell. Aber ich habe es von jhbuild10.10 kompiliert und auf meinen 11.10-Systemen installiert, und ich weiß, dass dies auch funktioniert. Vielen Dank für das Hinzufügen dieser Antwort!
Christopher Kyle Horton
In der aktuellen Version (mit 16.04) werden Videos ~/Videosmit einem Dateinamen von gespeichert Screencast from {date} {time}.webm.
Kariem,
3

Verwenden Sie dazu die transmageddon App. seine Gstreamer-basierte App

sudo apt-get install transmageddon oder hier klicken transmageddon installieren

alz3abi
quelle
Ich habe mir die Abhängigkeiten für transmageddon durch sudo apt-get install angesehen und das oben erwähnte Paket gstreamer-plugins-ugly wurde in die Liste aufgenommen. Auch hier bin ich mir nicht sicher, ob dies für mich völlig legal ist, und das ist mir wichtig.
Christopher Kyle Horton
2

Verwenden Sie Kazam zum Aufnehmen.

Die Ausgabe ist mkv und funktioniert gut mit Youtube. Einziges Problem, dass Kazam anscheinend schon länger nicht mehr aktualisiert wurde.

Übrigens, wenn ich das richtig verstehe, solltest du Tibesti in Sicherheit bringen, es sei denn, du bist absolut paranoid, dass dich ein riesiges außerirdisches Raumschiff entführt und dich dafür foltern lässt, dass du ein Stück Software benutzt hast ...

RolandiXor
quelle
Kazam bittet um die Installation von ffmpeg während der Installation von sudo apt-get, wobei ich nicht sicher bin, ob ich es legal verwenden könnte.
Christopher Kyle Horton
@ Warrioring64, ich glaube nicht, dass ffmpeg illegal ist ...
RolandiXor
Das ist etwas, worüber ich mir Sorgen machen muss, da ich in den USA bin und hier Softwarepatente durchgesetzt werden. Sehen Sie sich diesen Teil auf Wikipedia an , um zu verstehen, worum es hier geht.
Christopher Kyle Horton
2
@ Warrioring64 - Die in Ubuntu enthaltene Version wird von diesen Codecs befreit.
RolandiXor
Okay ... aber als ich die angegebenen Abhängigkeiten genauer durchgesehen habe, habe ich auch libavcodec-extra-52 und libavutil-extra-52 gefunden, die mir durch ein bisschen mehr Recherche Probleme bereiten könnten. Es tut mir leid, wenn ich ein bisschen schwierig zu sein scheine, aber selbst wenn ich nicht realistisch davon überrascht werde, solche Software zu verwenden, möchte ich nicht, dass es mein Gewissen ist.
Christopher Kyle Horton
2

11.10 und früher

ffmpegkann verwendet werden, um .ogv direkt in .webm zu konvertieren, ohne dass zusätzliche Codecs erforderlich sind. Wie in einem Kommentar zu einer anderen Antwort erwähnt , enthält die ffmpegvon Ubuntu gelieferte Version standardmäßig keine Codecs, die Probleme mit Softwarepatenten verursachen könnten.

Dies ist ein Befehlszeilenprogramm. Um es zu benutzen, öffne einfach ein Terminalfenster und gib ein:

ffmpeg -i input.ogv output.webm
Christopher Kyle Horton
quelle
Ja. Ich habe gerade ffmpeg ohne das medibuntu repo installiert und es hat alle kostenlosen Versionen von Paketen gezogen und ich habe ein WMV mit ffmpeg -i file.wmv -f webm -sameq file.webm
duffydack
1

imo, Der beste Weg, um Videos in WebM zu konvertieren, ist Firefogg .

  • Dies ist ein Firefox- Plugin (so ist es Multi-Plattform-Tool wie Firefox)
  • Es wird in das WebM- Format komprimiert (Open Source - Web-kompatibler Codec)
  • Es bietet mehrere Codierungsgrößen (sehr praktisch, um das beste Komprimierungsverhältnis zu erzielen)
  • WIRKLICH effizientes Kompressionsverhältnis (mindestens so viel wie H264)
  • Es ist super einfach zu bedienen

Bildbeschreibung hier eingeben

Sulliwane
quelle