Für den Beitrag YouTube meets Creative Commons wollte ich abschließend ein kurzes mit recordMyDesktop (neuerdings Desktop Recorder) erstelltes Video auf YouTube hochladen. Dabei ist mir ein Problem erneut aufgefallen, das ich schon einmal in Zusammenhang mit OpenShot hatte. Das hochgeladene Video wird nicht korrekt angezeigt, stattdessen sieht man nur eine grüne Box. Wahrscheinlich liegt das ebenfalls wieder an einem fehlenden Keyframe am Anfang des Videos. Totem und Co. stören sich daran nicht. OpenShot oder eben YouTube weigern sich jedoch, das Video zu akzeptieren.
Bei YouTube äußert sich das Problem (obwohl der Upload von Ogg/Theora-Videos eigentlich möglich ist) mit einem „grünen Video“, das man leider erst nach der fertigen Konvertierung seitens YouTube sehen kann. YouTube selber zeigt keinen Fehler diesbezüglich an.

Die bislang von mir aufgespürten Lösungen für dieses Problem beschränken sich auf das Umcodieren des aufgenommenen Videos. Perfekt finde ich diesen Workaround zwar nicht, doch solange sich recordMyDesktop und YouTube nicht verstehen, ist es wohl eine Notwendigkeit.
Das Codieren kann entweder mit mencoder oder ffmpeg passieren, wobei ffmpeg vielleicht die cleverere Lösung zu sein scheint, da es dank der Option „sameq“ automatisch versucht, eine ähnliche Qualität wie das Eingangsvideo zu erreichen.
$ mencoder out.ogv -o out.avi -oac mp3lame -ovc lavc
$ ffmpeg -i out.ogv -vcodec mpeg4 -acodec libfaac -sameq out.mp4Das Ergebnis lässt sich dann ohne Probleme auf YouTube hochladen oder natürlich auch mit OpenShot weiterverarbeiten. Solltet Ihr öfters mit Screencasts arbeiten, so könnt Ihr euch das Leben etwas einfacher machen und den Befehl inkl. ein paar Dialogen in ein Skript für Nautilus packen, so dass Ihr aus Nautilus heraus eine Aufnahme umcodieren könnt (Danke an Andreas, der im oben genannten Beitrag diesen Tipp gegeben hat).

Erstellt dazu im Ordner ~/.gnome2/nautilus-scripts euer Skript. Den Namen könnt Ihr beliebig wählen, er taucht jedoch nachher auch im Nautilus auf, von daher würde ich einen sprechenden Namen verwenden, also bspw…
$ gedit "~/.gnome2/nautilus-scripts/Screencast für YouTube aufbereiten"Fügt dann in die Datei den folgenden Inhalt unverändert ein. In dem Skript wird Zenity benutzt, um den Dateinamen der konvertierten Datei abzufragen und einen Fortschrittsbalken anzuzeigen…
#!/bin/bash
convers=$(zenity --entry --text="Bitte den Namen eingeben, den der konvertierte Film haben soll, bitte mit Dateiendung (z.B. film.avi)")
kod=`mencoder $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS -o $convers -oac mp3lame -ovc lavc` | zenity --progress --text="Progress..." --percentage=0 --pulsateWer ffmpeg anstatt mencoder verwenden möchte, der muss das Skript entsprechend ändern. Abschließend muss das Skript noch ausführbar gemacht werden. Wenn Ihr schon in einem Terminal seiht, könnt Ihr das auch gleich dort machen…
$ chmod +x "~/.gnome2/nautilus-scripts/Screencast für YouTube aufbereiten"Nun könnt Ihr mit der rechten Maustaste auf eine Aufnahme des Desktop Recorders klicken und aus dem Menü heraus das Skript aufrufen. Nach der Eingabe des Dateinahmens für die zu erzeugende Datei, fängt mencoder an zu rechnen und konvertiert das Video.
[UPDATE 21.06.2011] Tom hat mich drauf hingewiesen, dass die Installation von ffmpeg alleine nicht reicht. Es braucht noch eine spezielle Version des Pakets libavcodec-extra-52 aus den Medibuntu-Quellen. Ohne dieses Paket bekommt man nur die Fehlermeldung Unknown encoder ‘libfaac’ zu sehen. Daher müssen diese Quellen bei einer Ubuntu-Installation nachträglich von Hand hinzugefügt werden.
$ sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list --output-document=/etc/apt/sources.list.d/medibuntu.list && sudo apt-get -q update && sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring && sudo apt-get -q update
$ sudo apt-get install ffmpeg libavcodec-extra-52
…danach sollte es mit ffmpeg klappen.






Schreibe einen Kommentar