Remote-Videos

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

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-Entwickler
comments powered by Disqus