Oskar Welzl: Weblog zur Homepage

N900: Video-MMS verschicken mit fMMS

Mit fMMS gibts ein recht brauchbares Programm am N900, das in erster Linie Bilder als MMS verschickt. Natürlich können auch andere Dateien als Anhang ausgewählt werden, fMMS stellt sie nur nicht so hübsch eingebettet dar. Videos per MMS versenden? Kein Problem also. Oder doch? Eben doch. Aber ich hab die Lösung. Liest Du weiter! ;)

Videos müssen, wenn sie per MMS verschickt werden sollen, vor allem eins sein: klein. Genau das sind die hochauflösenden N900-Videos nicht. Außerdem sollte ein MMS-Video in einer bestimmten Codierung verschickt werden, die die zuständigen Normungsgremien als gemeinsamen Standard für alle Telefonhersteller festgelegt haben. Sonst ist es Glückssache, ob der Empfänger den Clip überhaupt angezeigt bekommt.

Nokia hat sich darum nie gekümmert (offiziell hat das N900 ja keine MMS-Funktion), und auch der Programmierer von fMMS hatte andere Prioritäten auf der Netzwerkebene. Oskar for the rescue also. ;)

Tatsächlich hat das Maemo-Betriebssystem nämlich durchaus Funktionen eingebaut, die die Umwandlung jedes beliebigen Videos in eine briefmarkengroße MMS durchführen. Weil diese Funktionen auf dem GStreamer-Framework beruhen, das mittlerweile auf jedem GNU/Linux-System zur Standardausstattung gehört, findet man auch reichlich Dokumentation dazu. Ausgestattet mit diesem Wissen war mir klar, daß die Videokonvertierung ohne jede Software einfach auf der Kommandozeile möglich sein sollte. Die Betonung liegt auf sollte. Es sollte nämlich so aussehen:

$ gst-launch-0.10 \
filesrc location="infile.mp4" ! \
decodebin2 name=all \
hantromp4mux filetype=1 name=muxer ! \
filesink location="outfile.3gp" \
all. ! videoscale ! \
"video/x-raw-yuv, width=176,height=144" ! \
videorate ! \
"video/x-raw-yuv, framerate=15/1" ! \
dsph263enc ! queue ! muxer. \
all. ! audioconvert ! audioresample ! \
nokiaamrnbenc ! queue ! muxer.

Wenn jemand rausfindet, warum diese Pipe nicht funktioniert, darf er sich melden: Sie erzeugt eine Datei ohne Ton und wirft bei der Abarbeitung jede Menge uninterpretierbarer Warnmeldungen aus. Trotzdem würd ich sie gerne so zum Laufen bringen, weil sie in dieser Form ohne Drittsoftware auskommt und die Hardware des N900 am besten ausnutzt, was deutliche Geschwindigkeitsvorteile bringt.

Ich hab mich dann ein bißchen gespielt und bin auf folgende Alternative gestoßen. Zwar ist sie nicht so elegant, hat aber einen entscheidenden Vorteil: Sie funktioniert.

$ gst-launch-0.10 \
filesrc location="infile.mp4" ! decodebin ! \
audioconvert ! audioresample ! \
nokiaamrnbenc band-mode=7 ! \
ffmux_amr ! filesink location=sound.amr

$ gst-launch-0.10 ffmux_3gp name=muxer ! \
filesink location="outfile.3gp" \
filesrc location="sound.amr" ! amrparse ! \
queue ! muxer.audio_00 \
filesrc location="infile.mp4" ! decodebin ! \
videoscale ! \
"video/x-raw-yuv, width=176,height=144" ! \
videorate ! \
"video/x-raw-yuv, framerate=15/1" ! \
ffmpegcolorspace ! \
dsph263enc bitrate=50000 ! \
queue ! muxer.video_00

Hier wird die AMR-Codierung der Tonspur in eine eigene Befehlszeile ausgelagert. Außerdem verwende ich einen anderen Muxer. Damit das funktioniert, muß das Paket gstreamer0.10-ffmpeg installiert sein. Dieses Paket scheint nicht direkt im Programm-Manager auf, sondern wird durch Extra Decoders Support bereitgestellt.

Die zwei Zeilen in ein Script verpackt, der Name des Originalvideos als Parameter - und schon ist der „Video-Editor“ fertig. Ich hab meine ersten MMS-Videos schon verschickt, überraschenderweise konnten die Empfänger die Videos wirklich sehen.

Mein Wunsch: Eine Lösung auf Basis der ursprünglichen Idee, ohne gstreamer0.10-ffmpeg, die man dann auch fix in fMMS einbauen kann. Wie ich mich kenn, bleibts beim Wunsch: Jetzt, wo's so halbwegs funktioniert und ich es verwenden kann, ist der Spieltrieb erlahmt. ;)


Wien vs. Helsinki: Mauschelei vs. Open Data

Wien schreibt gähnlangweilige Presseaussendungen. Helsinki rockt. Die Wiener Linien fallen durch ausgesprochen undurchsichtige Praktiken im Umgang mit öffentlichen Daten auf. Ihr finnisches Gegenstück HSL (Helsingin seudun liikenne) profiliert sich positiv im Umgang mit Open Data.

Aktueller Anlaß: Die Wiener Linien haben gerade stolz berichtet: Eine neue Version der Software Qando wurde bereitgestellt, diesmal für Android-Handys. Qando stellt unter anderem die Echtzeitdaten der Wiener Öffis (also z.B. „In wieviel Minuten fährt der 43er vom Schottentor ab?“) dar. In jedem Internet-Browser gibts diese Information unter diesem Link abzurufen, manche User wollen halt lieber eine „App“.

Nur wenige Tage vorher hat Henri Bergius seine Applikation „Buscatcher“ fürs Nokia N900 vorgestellt, die ähnliche Informationen wie Qando verarbeitet - allerdings eben für Helsinki. Henri Bergius hat keine Verbindung zur HSL. Er hat keinen Vertrag zur Nutzung der Daten, er hat nichtmal danach gefragt. Aus den HSL-Echtzeitdaten und den Karten von OpenStreetMap hat er ein ansprechendes Programm geschaffen, das die tatsächliche Position der öffentlichen Verkehrsmittel anzeigt.

Lust auf „Buscatcher“ für Wien? Weils besser ist als Qando? Weil Qando für ein bestimmtes Handy nicht zu haben ist? Pech. Hier zeigt sich der Unterschied zwischen dem offenen Helsinki und dem verbohrten, autoritären Wien:

Leser meines Blogs wissen ja, daß es eine solche Qando-Alternative sogar schon einmal gegeben hat, und zwar als freie Software für das Nokia N900. Die Wiener Linien zwangen den Autor des Programms allerdings per Klagsdrohung, es vom Maemo-Downloadserver zu löschen (hier der Originalartikel).

Man muß sich das auf der Zunge zergehen lassen: Fahrplandaten, die ich von meinem Handy aus im Internet unter http://www.wienerlinien.at/itip/ abrufen kann, darf ich vom gleichen Handy aus (!) nicht sehen, wenn ich statt des Browsers ein anderes Programm verwende. Ich habe das damals hinterfragt (Informationsweitergabegesetz und so) und sinngemäß folgende Antwort erhalten: Solange jemand die Darstellung des Webservice im auf dem Web-Server vorliegenden Design und Umfang 1:1 nachbildet, also in den gleichen Farben, mit der gleichen Navigationsstruktur, der gleichen Benutzerführung … kurz, solange er einen HTML-Browser schreibt, sei dagegen natürlich nichts einzuwenden. Eine davon abweichende Aufbereitung der übermittelten Nettodaten sei aber unzulässig.

Natürlich muß ich hier der guten Ordnung halber erwähnen: Das damals von den Wiener Linien kritisierte Programm hat genau das nicht getan. Es hat seine Daten nicht vom öffentlichen Webserver der Wiener Linien gezogen, sondern aus einer anderen Quelle. Der entsprechende Programmcode wäre aber leicht zu ändern gewesen, daher war meine Anfrage an die Wiener Linien auch: „Was wäre denn, wenn man tatsächlich nur auf Ihre öffentlichen Daten zugreift?“ - Die Antwort mit der Nachbildung im auf dem Web-Server vorliegenden Design und Umfang hat mich ob ihrer Kaltschnäuzigkeit dann doch verblüfft. Abgesehen davon, daß es mich sehr interessiert, wie die Wiener Linien diese Meinung in Bezug auf z.B. Textbrowser oder Braille-Zeilen aufrecht zu erhalten gedenken … Abgesehen davon, daß die ganze Aussage einfach nur Stuß ist, weil ein Web-Server kein Design speichert, sondern Daten semantisch ausgezeichnet und strukturiert auslesbar zum Abruf bereit hält … Abgesehen von all dem wären wir wieder beim Informationsweitergabegesetz. Es wäre interessant durchzudiskutieren, inwieweit nicht mit der kostenfreien Zurverfügungstellung der Daten an die breite Öffentlichkeit jede Einschränkung bezüglich einer weiteren Verwertung längst gefallen ist. Ein politisches Thema, das (und das schreibe ich in Hinblick auf den Wahlkampf) ausschließlich die Wiener SPÖ zu verantworten hat.

Statt die Daten zu öffnen und weitere interessante Services wie „Buscatcher“ für alle Betriebssysteme zu ermöglichen, halten die Wiener Linien lieber an ihrem Monopol mit dem äußerst eingeschränkten Qando fest. Die Portierung auf Android hat 1 ½ Jahre zu lange gedauert und ist, wie erste Erfahrungsberichte zeigen, fehlerhaft. Im Vergleich dazu muß HSL keine Softwareprobleme lösen. HSL stellt die Daten bereit. Henri Bergius schreibt die Software. Ohne Auftrag, ohne Einschränkungen, aber mit vielen guten Ideen.