Wo bleiben die Aprilscherze im Netz?

Habe ich mich heute mehr als einmal gefragt. Letztes Jahr gabs noch viel zu Lachen. Ubuntuusers wurde von Goggle übernommen und im Ikhaya gabs eine ellenlange Liste mit Scherzen. Aber heute? Der als notorischer Komiker bekannte Linuxnetzer bekam von seinem imaginären Sohnemann Justin Noah Ubunterhosen geschenkt aber sonst machten sich die Scherze leider rar.

Mein persönliches Highlight für diesen Tag erlebte ich vor 5 Minuten, da wurde ich von meinem Browserplugin Adblock+ auf ein neues Produkt aufmerksam gemacht: Adblock Freedom, der Werbeblocker für das real Life. Wer sich für den Betatest bewerben will muß zuerst seine Kreativität an der Schreibfeder beweisen:).

Was war für euch heute die lustigste Meldung die durchs Netz ging? Lebe ich hinter dem Mond, oder gab es heute wirklich nicht viel zu lachen?

 

Standardanwendung für 1-n Dateitypen ändern

Mplayer ist der Medienplayer meiner Wahl. Auch wenn ich Nautilus verwende möchte ich dieses tolle Programm benutzen. In den Eigenschaften einer Videodatei kann ich das auch einstellen.

Leider werden nun nur Dateien mit der Endung .avi geöffnet. Für ogv, mkv, flv müßte ich den Vorgang nochmal ausführen. Nicht schön . Nun habe ich mir diesen Vorgang genauer angesehen. Wenn ich einen Doppelklick mache schaut der Dateimanager in der Datei  /usr/share/applications/defaults.list welches Programm dem Datentyp zugeordnet ist. Wenn man diese Standardeinstellung überschreibt wird ein Eintrag in der Datei /~/.local/share/applications/mimeapps.list für die Datei angelegt.

In der mimeapps.list stehen z.B. solche Einträge für Videos

video/3gpp=totem.desktop

video/dv=totem.desktopvideo/fli=totem.desktop

video/flv=totem.desktopvideo/mp4=totem.desktop

video/mp4v-es=totem.desktop

video/mpeg=totem.desktop

video/msvideo=totem.desktop

Da auf dem Laptop ein frisches Ubuntu 10.10 installiert ist wird jegliches Videomaterial mit Totem abgespielt. Eine Änderung der Verknüpfung per Maus erzeugt einen Eintrag in der mimeapps.list:

video/x-avi=userapp-mplayer-CSECRV.desktop;

Woher der Rattenschwanz -CSERV kommt kann ich noch nicht sagen. Um nun für alle Videos den mplayer zu nutzen habe ich diesen toĺlen Befehl gebastelt:

grep video /usr/share/applications/defaults.list |sed  ’s/=totem.desktop/=userapp-mplayer-CSECRV.desktop;/g‘ >> ~/.local/share/applications/mimeapps.list

Das klappt natürlich auch mit anderen Dateitypen und Programmen. Allerdings sollte bei sed ein eleganterer Suchbegriff gewählt werden.  Ich hätte dieses Problem wirklich gerne per Point and Click erledigt. Leider hatte ich kein Programm dafür gefunden. Vielleicht kann mir da jemand einen Tipp geben:).

Nachtrag

Becha hat mich auf das Programm Ubuntu Tweak aufmerksam gemacht um solche Zuweisungen zu ändern. Klappt auch hervorragend. Vielen Dank:)

Gonzo hat mich auf meine holprige Verwendung von cat und grep hingewiesen. Ich habe den Befehl geändert und mir (mal wieder) vorgenommen diesen Befehl effektiver zu nutzen.

cat x| grep y

braucht kein Mensch. Merci 🙂

Weniger Dank schulde ich dem Spamvogel, der Samstags zu später Stunde nichts besseres zu tun hat als dumme Kommentare hier zu hinterlassen. Sollte ich dich jemals im RL treffen werde ich Deine Seele verspeisen.

Rtmpdump #1

Ich besitze zwar einen Fernseher aber kein Rundfunkempfangsgerät. Der Fernseher dient  nur dem Zweck ab und an ein wenig Konsole zu spielen oder mit dem WDTV einen Film zu schauen. Ich schaue mir einmal am Tag die Tagesschau an und würde das auch gerne mal auf meinem eigenen Fernseher ansehen und nicht vor dem Monitor oder bei Bekannten.

Dank der modifizierten Firmware von b-rad kann man ja einiges mit dem WDTV anstellen  und es gibt auch einige Livesender im Internet. Beides zu verbinden hat durchaus seinen Reiz. Leider ist es von den diesen Anbietern ja meist nur angedacht den Stream im Browser mit Flash zu schauen. Bei dem WDTV brauche ich gar nicht an Flash zu denken. Also  muß ich wohl oder übel an den eigentlichen Stream und etwas für die WDTV basteln.

Ab und an hat man das Glück und kommt an eine mms:// Adresse aber  oft ist das leider nicht der Fall. Den Stream von Phoenix kann man sich unter der

mms://live.msmedia.zdf.newmedia.nacamar.net/zdf/phoenix_vh.wmv

konsumieren wenn Phoenix Lust hat den Stream einzuschalten. Ohne solche Urls muß man wohl oder übel einen Blick in den Seitenquelltext (Bitte niemals nie mit Source Code oder Code bezeichnen) der Html Seite schauen. Sehr nützlich ist dabei Firefox und die Adblock Plus Erweiterung.

Dieser Artikel ist primär für mein vergessliches Hirn gedacht. Drum rücke ich hier eine sehr grobe Erklärung wie ich mir das mit dem Streaming vorstelle ein.

Prinzipiell kommt beim Streamingkonsum neben dem Browser noch ein 2. Client ins Spiel. Dabei handelt es sich leider zu oft um den Flash Player. In Html erkennt man ihn an der Endung .swf (Shockwave Flash). Dieser Client verbindet sich mit einem Server  der das Video zum Client bringt.

Wir haben also einen Client im Client. Von daher ist es nicht nur logisch, sondern auch gerecht, daß man die Adresse des Streaming Servers herausfinden kann.   Wenn der Streamingserver eine andere Adresse als der Webserver hat welcher die Seite mit dem Flashplayer hostet ist das meiner/unserer/Eurer Sache mehr als dienlich.

An manche Streams kommt man sehr einfach. Hier ist Adblock+ sehr hilfreich. Man klicke auf das rote Icon und dann auf Blockierbare Elemente anzeigen. Nun ordnet man die Elemente der geöffneten Seite nach der Adresse und schaut sich einfach mal an was da so referenziert wird:  

In der Liste sieht man sehr schön, daß Elemente von 3 verschiedenen Seiten hier gelistet sind. Auf einer dieser Seiten befinden wir uns gerade. Nun schließen wir Google als Quelle aus und natürlich die xml Datei. Die 3. Url übergeben wir einfach mal dem wahren Omnivoren unter den Mediaplayern: mplayer. Der kommt auch direkt damit klar.

Glück gehabt:).

Nun haben wir schon 2 Quellen aus denen wir recht einfach Livestreams abgreifen können und das Thema ist zur 2/3 erschöpft – jedenfalls was mein aktuelles Wissen betrifft. 🙂

Adobe hat sich extra ein proprietäres Netzwerkprotokoll ausgedacht um diese Flashplayer zu bedienen. Das Ganze hört auf den Namen RTMP.

Ich möchte kein Beispiel aus dem Leben zeigen, da ich keine Ahnung habe, ob ich mich da irgendwie strafbar mache.

Bevor man loslegen kann wird das Programm rtmpdump benötigt. Dieses Tool scheint auch aus der Feder der Omnivorenschöpfer zu stammen. Das Teil ist recht einfach gebaut, einzig bei Debian für ARM Plattformen (dazu später mehr) mußte ich explizit die libc6-dev installieren.Das Paket gcc kommt ohne aus. Fachlich korrekt aber irgendwie sinnfrei. 5 Minuten meines Lebens wieder mal mit nichts verschwendet. Wie das auf meinem PC war kann ich nicht mehr genau bestimmen. Doch zurück zu RTMP. Ich wollte einen Stream der vom JW Player abgespielt wird.

Die Bedienung von rtmdump wirkt auf den ersten Blick reichlich schräg – wie alles was mit Multimedia auf der Konsole zu tun hat – ist jedoch recht eingängig wenn man die Readme sorgfältig liest.

Um dem JW Player den Stream abzuringen werden einige Dinge benötigt, die man ausschließlich im Markup findet:

  • die swf Url: http://player.longtailvideo.com/player.swf
  • die Url des RTMP Streams – schaut immer so aus rtmp://<Dein Stream>
  • ein File(file=“) –  immer in der Nähe von rtmp und swf zu finden

Der JW Player möchte noch einen recht dämlichen Handshake bevor der Spaß losgeht. Der sieht so aus:

Zuerst wird die swf Datei heruntergeladen, deren Größe bestimmt und der sha-256 digest des Files bestimmt. Beide Werte müssen wir rtmpdump übergeben.  Ohne diese Argumente gibt es auch keinen Stream :).

Zum Testen bietet es sich an ein Script anzulegen um bequem mit dem Unfug spielen zu können. Bei mir sieht das nun so aus:

#!/bin/bash
name=’arte‘
###SWF url
swfurl=’http://player.longtailvideo.com/player.swf‘
###RTMP
urlrtmpuri=’rtmp://<URL>/‘
##file
file=“
wget -O /tmp/player.swf $flvurl  &>/dev/null
sum=$(sha256sum /tmp/player.swf |cut -d “ “ -f 1)
size=$(ls -l /tmp/player.swf | cut -d “ “ -f 5)
output=$name.flvrtmpdump -V -r $rtmpuri -y $file -s $swfurl -w $sum -x $size -o $output

Die Option -V steigert wie immer die Gesprächigkeit, den Rest kann man der Readme entnehmen. Nun öffnet man einfach den Output von rtmpdump mit mplayer  – in diesem kleinen  Beispiel arte.flv und man sieht hoffentlich einen schönen Stream.

Auf der Projektseite sind ein paar Programme gelistet, die auf rtmpdump aufbauen, doch empfinde ich es immer wieder als nette Erfahrung mir solche Dinge einmal genauer anzuschauen.

Soviel zu meinen Erfahrungen mit Livestreams und rtmpdump. Dieses Intermezzo war recht kurz weil ich noch nicht wirklich viel Ahung von der Geschichte habe. Zum Spaß habe ich mir das Ganze auch mal mit Wireshark angesehen und dabei andächtig über die Entwickler von rtmpdump reflektiert. Über weitere Infos zudem Thema würde ich mich natürlich sehr freuen.

Im nächsten Schritt muß natürlich Bild und Ton auf das WDTV. Ein rudimentäres UMSP Skript habe ich mal erstellt aber noch nichts wirklch Vorzeigbares. Momentan plane ich das Encodieren und Dumpen auf meinem neuen NAS zu erledigen an dem sich dann mehrere Clients bedienen können. Das spart nicht nur Bandbreite im Flaschenhals DSL Anschluss falls mehere Clients darauf zugreifen, sondern reduziert auch grausame WDTV Friemeleien auf ein Minimum.

Nun bleibt mir nur noch zu fragen wie Ihr Streams konsumiert. Schaut Ihr im Browser? oder habt Ihr gar ein schönes Skript um Flash zu umgehen?

Mal was sehr lustiges

„The National Poetry Contest had come down to two semifinalists
A Yale graduate and a redneck from Montana.

They were given a word,
then allowed two minutes to study the word and come up with a poem that contained the word.
The word they were given was „Timbuktu.“

First to recite his poem was the Yale graduate.
He stepped to the mike and said

Slowly
across the desert sand
Trekked
a lonely caravan
Men on camels,
two by two
Destination – Timbuktu.

The crowd went crazy.
No way the redneck could top that, they thought.
However, the redneck calmly took his place on the stage and recited

Me and Tim
a huntin went
Met three whores
in a pop-up tent
They was three
and we was two
So I bucked one,
and Timbuktu.