manchmal wünsche ich mir den Linux-Desktop riesengroß auf meinem Projektor im Wohnzimmer darzustellen. Meinen PC zum Projektor tragen, Steckdosen und langes HDMI Kabel suchen mag ich aber nicht. Da ich meinen Projektor jedoch über einen Raspberry Pi mit Kodi-Mediacenter betreibe kann ich mit Hilfe von avconv (oder, wer dies lieber mag, auch mit ffmpeg die Optionen sind die gleichen) das Audiosignal und Videobild vom meinem Desktop aufnehmen und das Ergebnis zum Kodi streamen.
X11 Desktop als Stream Aufnehmen
Den Aufgezeichneten Stream sende ich via VLC in mein lokales Netzwerk. Auf meinem XBMC erstelle ich dann eine neue Quelle, in der eine STRM Datei liegt.
avconv -f alsa -ac 2 -i default -f x11grab -r 25 -s 1920x1080 -i :0.0 -acodec libmp3lame -vcodec libx264 -preset ultrafast -threads 0 -f mpegts - | vlc -I dummy - --sout='#std{access=http,mux=ts,dst=:37777}'
Die Audioquelle ist hier Alsa (-f alsa), über die ich den Stereoton (-ac 2) von dem Standard Audiogerät der gewählten Soundkarte (-i default) aufnehme.
Die Videoquelle ist der x11 Desktop (-f x11grab), deb ich mit einer Bildwiederholrate von 25 Bildern in der Sekunde (-r 25) und in der Auflösung des Desktops 1920×1080 Pixel aufnehme. Der Linux Desktop :0.0, dies ist der erste gestartete X11 Desktop, wird aufgenommen (-i :0.0).
Die Kompression der Audioaufnahme soll mit mp3 in den Standarteinstellungen erfolgen (-acodec libmp3lame), als Videocodec soll x264 (libx264) mit dem Preset „Ultrafast“ und allen verfügbaren CPU Kernen um die Kompression zu verteilen. Die Ausgabe soll in einem MPEG TS Container erfolgen (-f mpegts).
Dann wird das Fertige Video an vlc übergeben (vlc -I dummy -) und an das Netzwerk ausgegeben.
den Stream Wiedergeben
Wenn der Stream auf dem Linux-PC gestartet wurde kann er im Kodi-Mediacenter mit Hilfe einer, folgend beschriebenen, STRM Datei geöffnet werden.
Die STRM Datei „Stream.strm“ ist eine Textdatei, Sie enthält das Protokoll, die IP-Adresse des Streamenden Computers und den Port über den der Stream ausgegeben wird.:
http://192.168.0.13:37777