Remote-Videos

März 16, 2011·
Julio Batista Silva
Julio Batista Silva
· 3 Min Lesezeit
blog Linux

Ich wollte einen Film ansehen, den ich auf einer externen Festplatte gespeichert hatte, die an mein älteres Notebook angeschlossen war.
Normalerweise stecke ich diese Festplatte direkt an den Fernseher, aber diesmal konnte ich sie nicht auswerfen, weil sie noch von anderen Programmen verwendet wurde.
Also stand ich vor zwei Möglichkeiten: den Film auf dem 14"‑Bildschirm schauen oder einen Weg finden, das Video auf mein neues Notebook zu streamen, das einen HDMI‑Ausgang hat, um die gesamte Ton‑ und Bildqualität zu nutzen, die LG bietet.

Als guter Filmfreund von Computern (bin ich nicht) habe ich die zweite Option gewählt und schreibe hier auf, wie ich das Problem damals gelöst habe sowie andere Methoden, die ich später entdeckt habe.

1. Computer in ein Netzwerk bringen

Ich hatte keinen Router zur Hand. Da beide Notebooks WLAN‑Karten haben, habe ich ein Ad‑hoc‑Netz erstellt, wie in diesem Beitrag beschrieben (ohne den Internet‑Teil).

2. Einen Weg zum Dateiaustausch finden

Es gibt mehrere Möglichkeiten, Dateien zwischen zwei Computern im Netzwerk zu übertragen:

  1. SSH

    SSH war mein erster Gedanke, weil ich es gewohnt bin. Ich gebe zu, dass es keine besonders gute Lösung ist, da es viel CPU verbraucht und den Netzwerkverkehr unnötig erhöht (es gibt keinen Grund für Verschlüsselung, es sei denn, du bist paranoid oder das Video ist streng vertraulich). Trotzdem hat es wie folgt gut funktioniert:

    1. SSH auf beiden Rechnern installieren und starten:

      sudo pacman -S openssh
      sudo /etc/rc.d/sshd start
      
    2. Computer2 per SSH mit Computer1 verbinden:

      ssh julio@192.168.1.1
      
    3. Video abspielen

      mplayer video.avi -display :0
      

      oder

      export DISPLAY=:0
      

      falls wir ein anderes Programm verwenden müssen, das keinen Schalter für das Display hat.

  2. SSH mit Pipe

    Wie im vorherigen Modus, aber das Video direkt zu mplayer umleiten

    ssh julio@192.168.1.2 "cat /media/external/Videos/video.avi" | mplayer -cache 65536 -
    
  3. SSHFS

    1. sshfs installieren

      sudo pacman -S sshfs
      
    2. Dateisystem einhängen

      sshfs julio@192.168.1.2:/media/external /media/external
      
    3. In den Ordner gehen und das Video mit mplayer wie eine lokale Datei abspielen.

      mplayer /media/external/Videos/video.avi
      
  4. SSH mit X11

    1. Auf dem Server die Datei /etc/ssh/sshd_conf von

      #X11forwarding no
      

      nach

      X11Forwarding yes
      

      ändern oder auf dem Client in /etc/ssh/ssh_config #ForwardX11 no zu ForwardX11 yes anpassen.

    2. Video mit mplayer abspielen

      ssh -XY julio@192.168.1.2 mplayer /media/external/Videos/video.avi
      
  5. Samba

    1. Samba installieren

    2. Freigabe für deinen Video‑Ordner aktivieren

      #  vim /etc/samba/smb.conf
      [videos]
         comment = Videos do Julio
         path = /media/externo/Videos
         writable = no
         valid users = julio
         follow symlinks = yes
         wide links = yes
      
    3. Dateisystem einhängen

      sudo mount -t cifs //192.168.0.1/Videos /media/external/Videos -o user=julio,password=PASSWORD,workgroup=WORKGROUP
      
    4. Video mit mplayer wie eine lokale Datei abspielen

      mplayer /media/external/Videos/video.avi
      
  6. Netcat

    • Auf dem Computer mit dem Video:

      cat /media/external/Videos/video.avi | nc -l -p 9998
      
    • Auf dem Computer, der am Fernseher hängt:

      nc 192.168.0.1 9998 | mplayer -vo x11 -cache 3000 -
      
  7. VLC mit sftp

    Datei » Netzwerk öffnen…

    sftp://julio@10.211.55.3/media/external/Videos/video.avi

    Login und Passwort eingeben

3. Konvertieren

Im Heimnetz konnte ich 720p‑Videos ohne Probleme streamen, selbst mit meinem alten Computer und altem WLAN (802.11g). Wenn du dasselbe mit 1080p oder sogar übers Internet möchtest, kann es sinnvoll sein, das Video in Echtzeit zu konvertieren. Dafür kannst du ffmpeg verwenden.

Standby vermeiden

Damit sich der Monitor des am Fernseher angeschlossenen Computers nicht automatisch wegen Inaktivität abschaltet, können wir Standby über Xorg deaktivieren:

sudo vim /etc/X11/xorg.conf

Und den Abschnitt ServerLayout wie im folgenden Beispiel lassen:

Section "ServerLayout"
        Identifier                  "Layout"
        Screen      0               "Screen0"
        Option      "Xinerama"      "true"
        Option      "BlankTime"     "0"
        Option      "StandbyTime"   "0"
        Option      "SuspendTime"   "0"
        Option      "OffTime"       "0"
EndSection

Julio Batista Silva
Autoren
Senior Cloud Developer

Ich bin ein brasilianischer Computeringenieur mit Wohnsitz in Deutschland und begeistere mich für Technik, Wissenschaft, Fotografie und Sprachen.

Ich programmiere seit etwa zwei Jahrzehnten und habe dabei alles von mobilen Apps und Webentwicklung bis hin zu Machine Learning erkundet. Derzeit fokussiere ich mich auf Cloud‑SRE und Data Engineering.

Ich engagiere mich ehrenamtlich in den Open‑Source- und Python‑Communities, helfe bei der Organisation der PyCon DE und PyData Berlin, betreue als Mentor und trage mit Code und Übersetzungen bei.

In meinem Blog teile ich Linux‑Tipps, Einrichtungsanleitungen und persönliche Notizen, die ich als spätere Referenz geschrieben habe. Ich hoffe, dass sie auch anderen nützlich sind. Die Inhalte sind in mehreren Sprachen verfügbar.

Schau dir meine Galerie an, um einige meiner Fotografien zu sehen.

Abseits der Tastatur findest du mich auf Konzerten, beim Klarinettenspiel, Radfahren, Tauchen oder beim Erkunden neuer Orte, Kulturen und Küchen.

Ich freue mich immer über den Austausch! 🙂

comments powered by Disqus