Hallo,
Hier folgt ein Tutorial zum Erstellen einer Aufnahme, sowie dem optionalen Encoden selbiger. Eine Bearbeitung der Aufnahme ist nicht vorgesehen.
Im Grunde gibt es die vielfältigsten Herangehensweisen, die nachher beschriebene halte ich im Moment jedoch für die sinnvollste. Dieses Tutorial erhebt weder den Anspruch auf Richtig- und Vollständigkeit, noch ist es in Stein gemeißelt. Veränderungen im positiven Sinne sind nicht ausgeschlossen.
Zur Aufnahme verwende ich den SimpleScreenRecorder (im folgenden SSR) von Maarten Baert. Der Vorteil dieses Programms ist zugleich auch das Ausschlusskriterium aller anderen mir bekannten Aufnahmearten: Es kann Vollbild bzw. Fullscreen aufnehmen. Und das auch gleich auf mehrere verschiedene Arten. Das Programm kann direkt OpenGL abgreifen, was jedoch im Moment noch nicht wirklich komfortabel ist. Deswegen gehe ich auf diese Funktion nicht weiter ein.
Das [lexicon]Encodieren[/lexicon] der Aufnahme ist optional, da man im SSR direkt eine nicht verlustfreie Encodierung einstellen kann. Darauf gehe ich an entsprechender Stelle genauer ein. Zum Bearbeiten bietet sich Kdenlive an. Reines [lexicon]Encodieren[/lexicon] eht im Terminal gut mit ffmpeg und libx264.Den Ton richte ich mit PulseAudio und dessen Einstellungsprogramm pavucontrol ein.
Hier werdet Ihr später ein Erklärungsvideo finden können
[tabmenu]
[tab='Aufnehmen']
SSR gestaltet sich denkbar einfach (Woher nur das Simple im Namen kommt?). Die Einstellungen sind nacheinander angeordnet. Es gibt immer Tooltips zu den Einstellungen.
- Drückt im Willkommensbildschirm erstmal auf weiter. Solltet Ihr hier beim Start eine Warnung bekommen, so nehmt die ernst und stellt die entsprechende Option in den nvidia-settings aus.
- Als nächstes stellt Ihr die Eingabequellen ein. Wollt Ihr Spielesound und Kommentar aufnehmen, solltet Ihr jetzt zuerst im Tab Ton Einrichten dieses Tutorials vorbeischauen.
Setzt den Haken für den Ton rein und stellt das Aufnahmemedium auf „default“. Wählt für das Video entweder den gesamten Bildschirm aus, oder stellt euch mit einem festen Rechteck ein Fenster ein (der Knopf „Select window“). Sollte es gewünscht sein, kann das Video auch skaliert werden. - Als [lexicon]Container[/lexicon] empfehle ich Matroska (.mkv). Dieser kann viele Formate aufnehmen und ist recht gut anpassbar. Den Speicherort solltet Ihr nicht vergessen einzustellen.
Als Videocodec empfiehlt sich zur Zeit ganz klar der H.264-Codec. SSR verwendet für ihn den populären x264-Encoder. In Zukunft mit [lexicon]H.265[/lexicon], [lexicon]VP9[/lexicon] und Daala kann das anders aussehen. Als Preset solltet Ihr etwas von veryfast bis ultrafast auswählen, je nachdem, wie leistungsstark eure [lexicon]CPU[/lexicon] ist. Diese Einstellung spiegelt sich nur in der späteren Dateigröße wieder.
Mit dem Constant Rate Faktor (CRF) müsst Ihr euch für die spätere Qualität des Videos entscheiden. Kleinere Werte ergeben eine bessere Qualität. Die Werte reichen von 0 bis 51. 0 ist dabei verlustfrei. Bis 18 kann man keine optischen Verluste erkennen. Höher als 26 würde ich auf keinen Fall gehen.
Wenn Ihr euch entscheidet, die Aufnahme im Nachhinein optimiert auf die Dateigröße zu encodieren oder Ihr die Aufnahme später zu bearbeiten, dann wählt hier 0. Entsprechend wählt beim Ton unkomprimiert (uncompressed).
Wenn Euch die Dateigröße egal ist, wählt einen höheren Wert (nicht wenn Ihr die Aufnahme bearbeiten möchtet). Für den Ton wird generell Vorbis oder [lexicon]FLAC[/lexicon] (unter other) empfohlen. Beides im SSR weniger, da nur eine feste [lexicon]Bitrate[/lexicon] vergeben werden kann. Da euch die Dateigröße egal ist, wählt Vorbis mit *utopischen Wert eintragen* aus. - Die Aufnahmeseite.
Startet die Aufnahme per Klick oder Tastenkombination. Eine Live-Vorschau ist möglich, aber nicht empfohlen.
Zwischendurch ist eine Pause durch erneutes Drücken möglich.
Ihr könnt die Aufnhame auch abbrechen (Achtung, alle Daten werden gelöscht!).
Speichert hinterher eure Aufnahme. - Wenn Ihr euch gegen die spätere Encodierung entschieden habt, seid Ihr nun fertig und könnt euer Video hochladen. Andernfalls fahrt mit dem encodieren fort.
[tab='Encodieren']
Kdenlive bietet den Komfort der grafischen Bearbeitung. Es bietet vielfältige Bearbeitungsfunktionen, die ihr euch zusammensuchen solltet.
Nach der Bearbeitung klickt ihr "Rendern".Ausgabe ist natürlich eine Videodatei. Fügt dort ein neues H.264-Profil hinzu. Die Endung ist mkv. Als Parameter tragt ihr
ein. Folgende Felder leert ihr.
Vor dem Encodieren bearbeitet ihr dann nur im Profil die Werte preset und crf nach euren Bedürfnissen (oder legt einzelne Profile an).
Es lassen sich auch Skripte für später erstellen oder einzelne Teilstücke encodieren (praktisch für Parts).
Das [lexicon]Encodieren[/lexicon] kann man auch im Terminal vornehmen. Ich greife auf ffmpeg mit folgendem Befehl zurück:
- ffmpeg ist das Programm
- Auf -i folgt die Eingabedatei (input - das kann auch ein Stream sein)
- $1 ist ein Platzhalter für den /Pfad/zu/Eurer/Datei.mkv
- Auf -c:v folgt der Ausgabevideocodec (veraltet -vcodec)
- libx264 ist die verwendete Videocodecbibliothek
- Auf -preset folgt das gewünschte Preset
Hier ruhig etwas langsamer nehmen, langsamer spricht meißt für eine kleinere Dateigröße. - slow ist das gewählte Preset
- Auf -x264opts folgen spezielle Optionen für den x264-Encoder
- keyint=infinite:min-keyint=1 setzt die maximale Länge, nachdem ein I-Frames kommen muss (GOP)
Hier bedeutet der Ausdruck, dass mindestestens 1 I-Frame existieren muss, weitere können, müssen aber nicht existieren.
[lexicon]x264[/lexicon] setzt I-Frames immer dann wenn es sinnvoll ist.
Nachteil ist, dass Ihr das spätere Video nur langsam spulen könnt. (Dies gilt nicht für YT) - Auf -crf folgt der Qualitätsfaktor
- 18 ist der Qualitätsfaktor
Wählt hier einen für euch passenden Wert größer 0 (Siehe unter Aufnahme Punkt 3). - Auf -threads folgt die Anzahl der gleichzeitigen threads
- auto überlässt ffmpeg die Auswahl (entspricht meißt der Anzahl der CPU-Kerne
- Auf -c:a folgt der Audiocodec (veraltet -acodec)
- libvorbis ist die verwendete Audiocodecbibliothek
Wer mehr Qualität möchte kann hier auch flac eintragen. - Auf -qscale:a folgt der Audioqualitätsfaktor
- 7 ist der Audioqualitätsfaktor
Werte reichen von 0 bis 10. Größer ist besser. - -r 25 setzt die FPS des Ausgangsvideo auf 25
- $2 ist ein Platzhalter für Euren/Pfad/zur/Datei.mkv
Ersetzt einfach die Platzhalter $1 und $2 und führt den befehl im Terminal aus.
Noch einfacher wird es, wenn Ihr einen Alias einsetzt:
Tragt in Eure ~/.bashrc folgendes am Ende ein:
Die Funktions- und Aliasnamen sind hierbei (fast) frei anpassbar. Für dieses Beispiel reicht nach einem erneuten Login in Zukunft als Aufruf
[tab='Ton einrichten']Damit gleichzeitig Ton aus mehreren Kanälen aufgenommen wird, schleifen wir die Kanäle über einen Ausgang in SSR.
Inzwischen kann ich die einfache Methode nicht mehr empfehlen.
Nach längerer Zeit setzen komische pulsierende Geräusche ein, alles sehr Merkwürdig.
Das Schema bleibt das Gleiche, jedoch verwende ich nun Jack um die Verbindungen zu erstellen. SSR bekommt auch kann später auch selber mit Jack umgehen.
Bis jetzt funktioniert das jedenfalls besser - auch bei längeren Aufnahmen.
Zum Konfigurieren kommt später was. QjackCtl ist hier das Programm der Wahl.
Dazu müssen wir erst ein virtuelles Ausgabegerät erstellen, zu dem wir die späteren Kanäle schicken:
Danach legen wir soviele virtuelle Schleifen an, wie wir Kanäle zusammenfügen wollen:
In pavucontrol stellt Ihr nun zu den jeweiligen Loopback-Kanälen ein, welcher Kanal durchgereicht werden soll. (Eventuell unten alle sichtbar schalten) Startet nun eine Aufnahme, damit die Tonaufnahme von SSR in pavucontrol erscheint und stellt dort den Monitor vom Null-Ausgang ein.
Wenn Ihr Aufnahmen öfter machen möchtet (sollte eigentlich der Regelfall hier sein), solltet Ihr diese Änderungen noch permanent vornehmen.
Dazu kopieren wir uns erstmal, sollte sie noch nicht existieren, eine Benutzerkonfigurationsdatei für Pulse:
Am Ende dieser werden nun die vorherigen Befehle ohne pactl eingetragen:
Nach einem erneuten Login sollten die Module dauerhaft verfügbar sein.
Mit source= definiere ich hier eine spezielle Quelle - in diesem Fall bei mir Monitor und [lexicon]Mikrofon[/lexicon] der Xonar DX.
[/tabmenu]