Lernvideos sinnvoll organisieren

Es gibt, oder es gab, ich weiss es ehrlich nicht genau, daher schreib ich mal in der Gegenwartsform, das Kommandozeilenprogramm youtube-dl oder andere Varianten wie yt-dlp oder ähnliche, mit denen es einfach möglich ist Videos herunter zu laden, um nicht von einer funktionierenden Internetleitung abhängig zu sein. Wer in Deutschland lebt, weiss, was ich meine.

Vor allem bei Lernmaterial ist das super, wenn es offline verfügbar ist und immer wieder angeschaut werden kann, ohne wieder und wieder durch das Streaming CO2 zu erzeugen.

Viele dieser Lernvideos haben Kapitelmarken und auch Untertitel in verschiedenen Sprachen, die natürlich auch im offline Modus sehr hilfreich sind. Und nicht nur als Kapitel, sondern eventuell auch zur Zerteilung in einzelne Videoclips, so dass bei einer Suche direkt auf den entsprechenden Clip zugegriffen werden kann.

Wenn also ein Video legal runtergeladen werden darf, dann helfen folgende Parameter und folgender Workflow bei den entsprechenden Programmen, die ich jetzt einfach mal unter dem Programmnamen DLPGRM zusammenfasse

Verfügbare Formate auslesen

Um erst mal zu sehen, in welchen VIDEO und AUDIO Formaten die Quelle vorliegt, gibt es folgenden Befehl, mit dem eine Tabelle ausgegeben wird.

DLPGRM -F URL-Link

Am Anfang der Tabelle steht in jeder Zeile eine ID und rechts daneben jede Menge weiterer Parameter. Wichtig ist, sich hier die IDs für das gewünschte VIDEO und AUDIO Format zu notieren, denn das wird für den nächsten Schritt gebraucht.

Hinweis: Wenn es einfach nur ein Redebeitrag ist, ohne dass Dinge gezeigt werden, die wichtig sind, wäre es unter Umständen sogar sinnvoll, das als Audiodatei (weiter unten) zu speichern, oder wenigstens als Video mit einer sehr geringen Auflösung. Wenn die Lernvideos nur auf dem Smartphone gespeichert werden sollen, dann sind hohe Auflösungen eh meist sinnlos. Da kann dann schon mal 256×144, 426×240 oder 640×360 genommen werden. Das spart CO2 und zuletzt auch eine Menge Festplattenplatz.

Lernvideo mit Kapitelinformationen speichern

Ist also die ID Nummer für VIDEO und AUDIO ausgesucht, dann kann mit folgendem Befehl das Lernvideo gespeichert werden. Gleichzeitig werden die Kapitel und deutsche & englische Untertitel mit rein gepackt und als Datei kommt eine MP4 Datei heraus, die auf allen Endgeräten abspielbar ist.

DLPGRM -f VIDEO+AUDIO --merge-output mp4 --embed-chapters --sub-langs "de,en" --embed-subs --write-auto-subs --embed-metadata URL-LINK

Soll das Lernvideo als reine Audio Datei, z.B. mp3 gespeichert werden, dann geht das auch mit

DLPGRM -x --audio-format mp3 URL-LINK

Kapitel nachträglich auslesen

Die Kapitel können nachträglich aus der Videodatei mit ffmpeg ausgelesen werden. Genauer gesagt mit dem Tool ffprobe. Dazu muss einfach nur der Befehl

ffprobe -show_chapters VIDEODATEI

eingegeben werden und als Ergebnis kommt eine Textausgabe der Kapitel heraus. Allerdings im sehr ausführlichen ffmpeg Format, aus dem dann die entsprechenden Informationen entnommen werden können. Dieses Format sieht z.B. so aus

[CHAPTER] 
id=0
time_base=1/1000
start=0
start_time=0.000000
end=60000
end_time=60.000000
TAG:title=Einleitung
[/CHAPTER]
[CHAPTER]
id=1
time_base=1/1000
start=60000
start_time=60.000000
end=95000
end_time=95.000000
TAG:title=Kanäle / Tracks umschalten
[/CHAPTER]
[CHAPTER]
id=2
time_base=1/1000
start=95000
start_time=95.000000
end=177000
end_time=177.000000
TAG:title=Parameter ändern (Volume, Pan, Send Effekte/Kanäle) und resetten
[/CHAPTER]
[CHAPTER]
id=3
time_base=1/1000

Kapitel als einzelne Videos speichern

Soll das Lernvideo nun aber in einzelne kleinere und leichter auffindbare Dateien aufgeteilt werden, so würde das auch mit dem Programm gehen, allerdings gibt es da den einen oder anderen unschönen Seiteneffekt, der durch sogenannte fehlende Keyframes (ein komplettes Vollbild) an der richtigen Stelle entsteht, so dass es manchmal beim Beginn der Kapitel aussieht, als würde jemand mit Wasserfarben durchs Bild wischen, oder aber das Lernvideo muss komplett neu codiert werden. Und das kann ganz schön lange dauern.

Es gibt da einen kleinen Trick, der nicht nur schneller, sondern auch Resourcen schonender ist. Das Programm LossLessCut kann diverse Videoformate einfach zerteilen, ohne dass irgendwas neu berechnet werden muss. Und es bietet eine einfache und praktische Lösung zu dem Keyframe Problem an. Nämlich schaut es, wo das Kapitel beginnt und dann „spult“ es so lange zurück, bis es das letzte Keyframe findet und legt den Anfang des Kapitels dorthin.

Dabei handelt es sich dann meist um eine Wiederholung maximal 1-3 Sekunden zum vorherigen Kapitel aber dafür mit einem klaren Bild.

Also wird das Lernvideo in LossLessCut reingeladen und dann wird zuerst gefragt, ob die Segmente oder Chapters auch importiert werden sollen. Auf diese Frage mit Ja antworten. Danach kann gleich rechts unten auf den Export Knopf gedrückt werden und diese Einstellungen sollten übernommen werden.
Wichtig sind: Separate files, mp4, Cut mode=Keyframe cut, preserve all MP4/MOV metadata

Und nach 3 Sekunden liegen alle Kapitel als einzelne Videoclips vor.

Viel Spaß bei der Organisation eurer Lernvideos, die ihr jetzt noch viel effizienter ablegen könnt.

Markdown Suite – Logseq, nicht nutzbar

Ich benutze sehr gerne Markdown Editoren, weil diese leichtgewichtig sind und einen super Kompromiss zwischen einem formatiertem Text, also mit Überschriften, Absätzen, fett und kursiv, Tabellen und so weiter und der Archivierung, weil einfacher Text noch in 50 Jahren mit jedem x-beliebigen Editor auf jedem denkbar möglichen Betriebssystem und Plattform gelesen und bearbeitet werden kann.

Aktuell nutze ich Obsidian und bin damit eigentlich super zufrieden. Obsidian ist eine Markdown Suite. Das heisst, dass rund um den Editor eine Menge Helfer mit dabei ist. Also sowas wie ein Dateimanager, automatische Inhaltsverzeichnisse, eine gute Suche, eine Hashtag Verwaltung und jede Menge weiterer kleine Helfer, die das Leben einfacher machen.

Das Ganze synchronisiere ich dann noch mit meiner Nextcloud und habe so immer den aktuellen Stand auf den Geräten, auf denen ich das will. Da es sich dabei nur um kleine Textdateien handelt, sind meine rund 1000 Dateien mit Dokumentation, Ideen, Anleitungen, Entwürfen und Planungen um die 8MB groß. Jede Änderung ist blitzschnell übertragen, weil Änderungen und Erweiterungen an Textdateien immer nur ein paar Byte sind. Das wäre sogar mit uralten Modems aus den 1990er Jahren blitzschnell möglich.

Und dennoch schaue ich immer mal wieder über den Tellerrand und schaue mir andere Markdown Suites an.

Diesmal hatte ich mir Logseq angeschaut. Dafür gibt es Desktopversionen für alle Betriebssysteme und für Smartphones. Installiert habe ich eine 0.9.9 Flathub Version vom 13.06.2023 unter Kubuntu Linux.

Eine dreispaltige Aufteilung, was mir persönlich schon mal sehr gut gefällt. Aber dann ärgerte mich ein bisschen die Umschaltung auf das DarkTheme. Es dauerte mehrere Neustarts des Programms und neu einstellen, bis es übernommen wurde. Ich habe keine Ahnung woran es lag.

Und dann scheiterte ich daran einen ganz einfachen Dateimanager zu finden. Es gibt zwar eine Suche über alle Dateien, aber diese kann nur genaue Dateienamen verarbeiten und nicht mehrere Wörter, die in einer Datei vorkommen könnten. So fand ich dann auch meine Dateien nicht.

Ich fand dann ein Plugin „File Manager“, das zu finden irgendwie wohl nicht so richtig möglich ist. Damit war für mich dann der Test zu Ende.

Fazit
Eine Suche mit der ich meine Dateien nicht finden kann und ein Filemanager, der nicht aufzufinden ist, sind das absolute KO Kriterium für so eine Suite. Schade. Ich werde es einfach irgendwann in der Zukunft nochmal probieren. Vielleicht wurde dann an der Usability ein wenig gearbeitet.

Plugins – Windows VSTs 32/64 Bit mit YaBridge | Linux

Yabridge habe ich schon länger im Gebrauch und will nun endlich auch mal einen Artikel darüber schreiben, nachdem ich schon ein kleines Tutorial dazu gemacht habe. Wie man so schön auf deutsch sagen würde „Die Installation von YaBridge ist ein Gehirnloser (nobrainer)“  … manchmal vermisse ich die schlechten Übersetzungsprogramme. 🙂
 
Kurze Übersicht, was gemacht werden muss:

  1. Installation von Wine „Staging branch“
  2. Download Yabridge in ein bestimmtes Verzeichnis
  3. Konfiguration von Yabridge, setzen der Plugin Pfade & yabridgectl sync ausführen
  4. Fertig

 
Schritt für Schritt Anleitung mit vielen Erklärungen, um zu verstehen, was passiert und was dahinter steckt.
 

1. Installation von Wine „Staging branch“

Die „Staging branch“ ist quasi der neuste und heißeste Shit. Bleeding Edge! Es sind zwar die neusten Features mit drin, aber dafür kann man schon mal eben den einen oder anderen Bug rein bekommen. Insgesamt ist dieser Beta Entwicklungszweig aber auch sorgfältig gepflegt, so dass das zum Glück nicht häufig vorkommt. Hat man einen funktionierenden Stand könnte man den auch „einfrieren“ (apt pinning).
 

Generell IMMER der Anleitung auf der WineHQ Seite folgen!


Aktuell für Kubuntu 21.10 sieht das so aus

sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key

Für (K)Ubuntu 21.10

sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ impish main'
sudo apt update
sudo apt install --install-recommends winehq-staging

 
Dann gibt es noch 2 sehr wichtige Hinweise auf der WineHQ Webseite (Datum dieses Artikels)

WineHQ enthält derzeit keine Pakete für wine-gecko oder wine-mono. Wenn Sie ein neues Wine-Präfix erstellen, werden Sie gefragt, ob Sie diese Komponenten herunterladen möchten. Für beste Kompatibilität wird empfohlen, hier auf Ja zu klicken. Wenn der Download bei Ihnen nicht funktioniert, folgen Sie bitte den Anweisungen auf den Gecko- und Mono-Wiki-Seiten, um die Komponenten manuell zu installieren.

Beginnend mit Wine 5.7 haben die WineHQ Ubuntu-Pakete eine optionale debconf-Einstellung, um CAP_NET_RAW zu aktivieren, damit Anwendungen, die rohe IP-Pakete senden und empfangen müssen, dies tun können. Dies ist standardmäßig deaktiviert, da es ein potentielles Sicherheitsrisiko darstellt und die meisten Anwendungen diese Fähigkeit nicht benötigen. Benutzer von Anwendungen, die dies benötigen, können CAP_NET_RAW nach der Installation von Wine aktivieren, indem siedpkg-reconfigure wine-<branch>-amd64 wine-<branch> wine-<branch>-i386und beantworten Sie die drei Fragen mit Ja. (Ersetzen Sie devel, staging oder stable durch <branch> im obigen Befehl). Also sieht der Vefehl folgendermaßen ausdpkg-reconfigure wine-devel-amd64 wine-devel wine-devel-i386

Um die Darstellung anzupassen nutzt man das Tool winecfg. Unter Grafik kann man die DPI einstellen, so dass alles etwas größer ist z.B. 120 oder 150 DPI bei hochauflösenden Bildschirmen. Einfach in einer Konsole winecfg eintippen und Enter drücken.


Sollten irgendwelche Schriftarten oder ähnliches fehlen, können diese einfach mit dem tool winetricks nachinstalliert werden. Das Tool winetricks muss extra installiert werden und sollte mit größter Vorsicht und nur in Ausnahmefällen genutzt werden, da man sich mit diversen „Tipps & Tricks“ aus dem Internet schnell mal die Konfiguration zerschießen kann.Für die Schriftarten wäre es dann folgender Befehl notwendig winetricks -q corefonts

2 Download Yabridge in ein bestimmtes Verzeichnis

Von Robberts YaBridge Software Repository die letzte Version von Yabridge runterladen und zwar von der „Release“ Seite https://github.com/robbert-vdh/yabridge/releases . Das Paket das mit „-ubuntu-18.04.tar.gz“ endet ist AUSSCHLIESSLICH für (K)Ubuntu Versionen ÄLTER bis 18.04 gedacht. Für neuere Versionen einfach das Paket z.B. yabridge-3.8.1.tar.gz runter laden . Zum Zeitpunkt, wenn du das installierst, kann das natürlich eine neuere Version sein.

  1. Download von https://github.com/robbert-vdh/yabridge/releases
  2. Auspacken und in das Verzeichnis ~/.local/share (also dein Home Verzeichnis) kopieren. So dass als Ergebnis das Verzeichnis ~/.local/share/yabridge/ mit den entsprechend darin befindlichen Dateien existiert.
  3. In einer Konsole in das Verzeichnis wechseln cd ~/.local/share/yabridge/
  4. Die Pluginpfade hinzufügen ( mit ./yabridgectl add ), in denen sich normalerweise die installierten Plugins befinden. Wenn noch keine Plugins installiert sind, existieren auch oft die Pfade nicht!
    Typische Pfade sind:
"$HOME/.wine/drive_c/Program Files/Steinberg/Vstplugins/"
"$HOME/.wine/drive_c/Program Files/Vstplugins/"
"$HOME/.wine/drive_c/Program Files/Common Files/VST2"
"$HOME/.wine/drive_c/Program Files/Common Files/VST3"

Schau nach welche Pfade bei dir existieren (nach der Plugin Installation) und dann füge sie mit dem Befehl (im yabridge Verzeichnis) ./yabridgectl add DEINPFAD hinzu z.B. ./yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/Vstplugins/"

Mit ./yabridgectl list kannst du dir alle eingepflegten Pfade anzeigen lassen

und mit ./yabridgectl rm PFADNAME kannst du einen Pfad wieder aus der Konfiguration entfernen.

Mit ./yabridgectl status siehst du alle erkannten und unterstützten Plugins

Installierte Plugins hinzufügen
Jedes Mal, wenn ein neues Windows Plugin installiert wurde öffnest du eine Konsole, wechselst in das yabridge Verzeichnis cd ~./conf/share/yabridge und führst folgenden Befehl aus

./yabridgectl sync

Fertig

In der letzten Zeile der Ausgabe solltest du einen Hinweis lesen können, dass ein neues Plugin erkannt und hinzugefügt wurde (added new). Um es dann aber doch noch genau zu überprüfen und eine Liste aller Plugins zu sehen, rufe einfach folgenden Befehl auf

./yabridgectl status

Abschließend musst du vermutlich nur noch in der DAW die entsprechenden Pfade für die Plugins angeben und du kannst loslegen. Wenn du wieder mal neue Plugins installiert hast, dann einfach:

Prüfen, wird(wurde) das Plugin in einen der bekannten Pfade installiert?
Wenn ja, dann Konsole öffnen, ./yabridgectl sync ausführen. Fertig
Wenn nein, Pfad mit ./yabridgectl add PFAD hinzufügen und danach ./yabridgectl sync ausführen. Fertig.

 
Das gilt alles für 64 Bit Plugins. Für 32Bit muss bei Wine noch noch etwas angepasst werden, dann geht das auch. Aber das vielleicht in einem anderen Artikel.