Linux und Ich

Blog über Ubuntu, Linux, Android und IT

Mit recordMyDesktop erstellte und auf YouTube hochgelandene Screencasts ersc

Mit recordMyDesktop erstellte Screencasts auf YouTube hochladen, ohne dass diese nur in grün abgespielt werden

| 16 Kommentare

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.

Aufnahmen von RecordMyDesktop erscheinen grün

Die bislang von mir aufgespürten Lösungen für dieses Problem beschränken sich auf das Umcodieren des aufgenommenen Videos. Perfekt finde ich diesem 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” autmatisch 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.mp4

Das 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 dieses Tipp gegeben hat).

Nautilus Skript

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 Sktip 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 --pulsate

Wer 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.

Autor: Christoph

Hallo, ich bin Christoph -- Linux-User, Blogger und pragmatischer Fan freier Software. Wie Ihr ohne Zweifel bemerkt haben solltet schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen, sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Google+ oder Twitter oder natürlich dem Blog folgen.

16 Kommentare

  1. Hm, komisch. Ich habe die Tage erst etwas bei YouTube hochgeladen das ich mit recordmydesktop aufgenommen habe und hatte keinerlei Probleme. Allerdings habe ich das Frontend recordmydesktop-gtk benutzt, aber das sollte ja keinen Unterschied machen oder?

    • Kann es sein, dass da ein bisschen “Glück” dabei ist? Welches Frontend man nutzt, sollte eigentlich egal sein. Aber ich hatte es jetzt schon oft, dass sich die Videos nicht in OpenShot haben öffnen lassen. Bislang habe ich wenig mit YouTube gearbeitet, daher kam mit der Workaround wieder schnell in den Sinn.

  2. Ich habe das Problem mit dem Script “Ogv to Flv Converter v1.4″ gelöst. Eigentlich recht ähnlich, dort sind nur noch ein paar Optionen mehr.

    Aber wie immer mal wieder sehr guter Artikel, vielen Dank dafür.

  3. gtk-recordmydesktop hat sich nicht wirklich bewährt. Zum Beispiel funktioniert es ohne eingeschaltetem compiz bei mir nicht. Außerdem hat sich das erstellte video nicht mit mplayer, der normalerweise alles aber auch wirklich alles frisst nicht abspielen lassen.

  4. Über das Problem habe ich mich auch schon des öfteren geärgert. Gibt es keine Möglichkeit, den fehlenden Keyframe zu erstellen?

  5. Danke für den Hinweis, das kommt ganz gut!

  6. Bei mir kommt beim ffmpeg-Befehl leider nur: “Unknown encoder ‘libfaac’”, obwohl das Paket “libfaac0″ installiert ist. :/

    Tom

  7. Moin.
    Danke für den Tipp. Ich werde die Software mal probieren. allerdings frage ich mich auch nach Alternativen, die ein bisschen mehr “sophisticated screencasting” zulassen. Also sowas wie bildschirmlupe, Farbmarken, Mausfolgen… etc.
    Könnt ihr mir auch dafür Empfehlungen geben?
    Danke FOE

  8. Joa nice!
    Danke für die schnelle antwort. Auf sowas wird es wohl hinaus laufen. das geht auch wirklich ganz gut. ich werde dem am wochenende mal ne Chance geben ;) Danke und schönes wochenende

    • Das geht eigentlich ganz gut. Zoom und markieren reicht eigentlich aus, das Feuer ist ein bisschen… zu viel… ;) Falls du einen Screencast machen möchtest bei dem es wichtig ist, dass der Betrachter Tastatureingaben und Mausklicks erkennen können soll, dann schau dir auch mal key-mon und Screenkey an.

      Grüße
      Christoph

  9. Hi Christoph,

    danke für deinen Artikel. Das ständige Warten auf Uploads und Bearbeiten der Metadaten nach dem Erstellen der Screencasts hat mich lange davon abgehalten, welche auf Youtube zu stellen.

    Nachdem ich mit Kazam ein bisschen herumprobiert habe, bin ich doch wieder zur gtkRecordMyDesktop zurückgekehrt. Obwohl Kazam wirklich um Längen schneller ist und auch gleich die Option zum Upload anbietet.

    Wie auch immer, man hat ja sonst nichts zu tun und bastelt ein wenig , und als altes skript-Kiddy kommt dann dabei das raus: Youtube Upload Script. Es verwendet ein python-script youtube-upload und das im der tar.gz unter “examples” enthaltene Split-Werkzeug ;)

    Hoffe, ich hab keine groben Fehler drin, wenn euch was auffällt, schreibt bitte.
    Ansonsten viel Spaß beim Uploaden.

    Grüße Axel

    Viel Spass damit.

Hinterlasse eine Antwort

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.