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 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).
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.
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.
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.
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.
Über das Problem habe ich mich auch schon des öfteren geärgert. Gibt es keine Möglichkeit, den fehlenden Keyframe zu erstellen?
Ich hab danach gesucht, aber leider nichts gefunden. Ich entdecke immer nur Bugs in dieser Richtung https://bugs.launchpad.net/ubuntu/+source/recordmydesktop/+bug/544463, wo letztendlich dann als Workaround das Transcodierung mit einem anderen Codec empfohlen wird.
Danke für den Hinweis, das kommt ganz gut!
Bei mir kommt beim ffmpeg-Befehl leider nur: „Unknown encoder ‚libfaac'“, obwohl das Paket „libfaac0“ installiert ist. :/
Tom
Hm, bei mir mit Ubuntu Natty 11.04 64-Bit funktioniert das nach wie vor. Was für ein System hast du denn am Start? Ich vermute, dass du bei dir die Medibuntu-Quellen aktivieren musst.
//Edit: Das Blog rupft mit leider immer die URLs auseinander. Im unten verlinkten Thread findest du die Befehle um die Medibuntu-Quellen einzubunden.
Im Paket libavcodec-extra-52 aus den „normalen“ Ubuntu-Quellen fehlt der Support für libfaac, von daher gibt es eben den Fehler. Siehe…
* http://ubuntuforums.org/showthread.php?t=1117283
* http://ubuntuforums.org/showthread.php?t=1163442
Großartig, danke! 🙂
Das wäre vielleicht ein kleines Update für deinen Artikel wert…?
Tom
Yep, war geplant wenn du positives Feedback gibst. Update ist schon in den Artikel eingebaut.
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
Das kannst du doch alles mit Compiz machen.
* Rein/Rauszoomen: Windows/Super+Mausrad
* Auf dem Schirm zeichnen: http://wiki.ubuntuusers.de/CCSM_Sonstiges#Auf-dem-Bildschirm-zeichnen
* Mit „Feuer“ markieren: http://wiki.ubuntuusers.de/CCSM_Effekte#Feuer-auf-dem-Bildschirm
usw 🙂
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
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.