!!!!! Achtung dieses Tutorial beschreibt lediglich einen Ansatz, welcher allerdings bis jetzt noch nicht für den produktiven Einsatz verwendet werden kann. !!!
|||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
|||||||||||||||
Gestestet auf Debian Etch ||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||| ||||||||||
1. Was funktioniert?
Es ist möglich ein Videosignal an den Server zu senden, welches von dem Server auf andere Clients dann verteilt wird.
2. Was benötige ich?
- min. einen DSL 16.000 Anschluss mit 1 Mbit upload
- Einen schnellen DualCore Server
- Natürlich qualitative Bandbreite (sprich SLA)
- Ein relativ leistungsstarken PC für den Quell-PC
- VideoLanClient
3. Installation
Die Clienten sowie der Server benötigen VLC.
Hier findet Ihr die Software für alle erdenklichen Systeme:
http://www.videolan.org/vlc/
Bei Debian genügt ein simples:
Code:
apt-get install vlc
4. Einen Stream starten
Leider funktioniert das Streamen zurzeit nur unter dem Benutzer Root (nicht für produktiven Betrieb geeignet!).
4.1 Einrichtung von VLC auf dem Quell-PCs
Als erstes müssen wir uns überlegen, welchen Port wir als Ausgang am Quell-PC verwenden möchten.
Bei diesem How-To gehe ich mal von dem Port 80 aus (dies ist zwar der Webport aber ich denke mal, dass bei einem HomePC dieser Port nicht belegt ist).
Port 80 wird also frei geschaltet und an unsere Interne IP weitergeleitet.
Wir starten VLC auf unserem PC
http://t0g59qx9.multipic.de/1.jpg
Wir klicken auf den rot markierten Button. Es öffnet sich folgendes Fenster:
http://t0g59qx9.multipic.de/2.jpg
In Punkt 1, wählen wir die zu streamende Datei aus (möchtet Ihr direkt eine DVD streamen, so öffnet den Punkt *Volume*).
Im Punkt 2, wird ein Häkchen bei *Stream/Sichern* gemacht. Weiter klicken wir auf den nun verfügbaren Button *Einstellungen*, welcher ein weiteres Fenster öffnet.
http://t0g59qx9.multipic.de/3.jpg
Für eine optimale Qualität empfehle ich folgende Einstellungen:
http://t0g59qx9.multipic.de/4.jpg
Punkt 1: Wird hier ein Häkchen gemacht, so wird das zu streamende Material auf dem Quellrechner wiedergegeben.
Punkt 2: Ist das Protokoll, über welches unser VLC-Client den Videostream überträgt.
Wir haben uns für http entschieden und verwenden Port 80. Das Feld mit der Adresse, wird leer gelassen
Punkt 3: Hier wird die Qualität für den Videostream bestimmt (man sollte die gleichen Einstellungen verwenden, die man auch später am Server verwendet). Je nach Geschwindigkeit eures Uploads, könnt Ihr die Qualität nach oben oder unten korrigieren.
Wenn Ihr fertig seit oder alles übernommen habt … einfach auf OK klicken.
Das dann noch offene Fenster kann ebenfalls mit OK geschlossen werden.
VLC sollte nun schon anfangen zu streamen.
4.2 Server einrichten
- Wir verbinden uns mit unserem Server über die Shell (Putty)
- Wechseln zum User root
- Erstellen eine Datei namens vlc-stream.sh mit CHMOD 755
Inhalt der vlc-stream.sh
Code:
screen -S vlc-stream vlc -vvv http://IP-des-Quell-PCs:Port --sout '#transcode{vcodec=h264,vb=512,scale=1,acodec=mpga,ab=128,channels=2}:duplicate{dst=std{access=http,mux=ts,dst=:5066},dst=std{access=udp,mux=ts,dst=:5066}}'
- die vlc-stream.sh ausführen, sofern VLC auf dem QuellPC bereits läuft.
Euer Server verbindet sich nun mit euren PC und fängt den Stream ab.
Andere Clienten können sich nun mit euren Server verbinden und über die IP-Eures-Server:5066 (Den Port 5066 haben wir über die Kommandozeile in der vls-stream.sh bestimmt) und den Stream betrachten
5. Clients verbinden sich zum Server
Wie in Punkt 4.1 klicken wir auf den Button *öffnen* und klicken auf den Punkt *Netzwerk*
http://t0g59qx9.multipic.de/5.jpg
Wir geben die IP + Port des Servers unter *HTTP…* an und bestätigen das ganze mit OK (optional kann auch der Cache aktiviert werden)
Der Client verbindet sich zum Server und ein paar Sekunden später bekommen wir das Bild + Ton zu sehen.
Der Stream läuft!
Anmerkung
Wie schon am Anfang erwähnt, handelt es sich hierbei um keine produktive Lösung. VLC muss als *root* ausgeführt werden, um den Stream zu übertragen (das ist Sicherheitstechnisch schon eine Katastrophe).
Weiter kann VLC auf dem Server erst gestartet werden, wenn der QuellPC bereits sendet.
Ist das Video am Ende, so bricht die Verbindung zum Server sofort ab. Am Client muss erst eine neue Datei/DVD ausgewählt werden. Weiter muss VLC auf dem Server neu gestartet werden.
Die Clients müssen sich erneut zum Server verbinden, sobald dieser wieder streamt.
Ich hoffe ich konnte euch einen kleinen Einblick in den Bereich Videostreaming mit VLC geben.
Wer eine Idee hat, um das ganze so zu optimieren, dass es produktiv eingesetzt werden kann, möge sich doch bitte hier melden und seine Vorschläge Kund tun