Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Amateurfilm-Forum. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Thom 98

unregistriert

1

Samstag, 6. März 2010, 16:06

Livestream mit Multikameraschnitt

Das Problem: Die Kirche in unserer kleinen Gemeinde ist an großen Festen wie beispielsweise einer Konfirmation immer hoffnungslos überfüllt, da zu solchen Gelegenheiten neben den Leuten, die Sonntags zum normalen Gottestdienst kommen, zusätzlich noch zahlreiche Verwandte und Bekannte kommen.

Die Lösung: Den Gottestdienst per Livestream ins Nebenzimmer übertragen und dort auf einer Leinwand zeigen. Jeder, der am Sonntag dann nicht mehr in den Gottesdienst-Saal passt, kann sich die Feier im Nebenraum anschauen. Eine Art Public Viewing also. Im folgenden möchte ich erklären, wie eine solche Liveübertragen, die im übrigen bei vielen anderen Gelegenheiten wie Konzerten, oder sonstigen Feiern, die mit zwei (oder mehr) Kameras gefilmt werden, eingesetz werden kann, mit einfachen und günstigen Methoden möglich ist.

Hierfür werden die Videobilder über einen PC oder Laptop ins LAN oder WLAN gestream und dann am Ende von einem an den Beamer angeschlossenen PC abgespielt. Fürs Streaming wurde das kostenlose Open Source Programm VLC verwendet.
Ich habe für den Aufbau in der Kirche fast ausschließlich Technik verwendet, die ich und viele andere wohl auch sowieso schon daheim hatten. Einzig eine zweite Kamera habe ich mir von einem Freund geliehen.

Für jede Kamera wurde ein Rechner benötigt, der die Bilder der am PC angeschlossenen Kamera ins Netz streamt. Meine Panasonic NV-GS-280 war per Firewire mit meinem Core i7 920, 6GB RAM, Windows 7 64bit Desktop-PC verbunden. Die andere Kamera, eine Panasonic NV-GS-180, hing per USB2.0 am Core2Duo, 2GB RAM, Vista-Laptop. Fürs Abspielen am Beamer wurde ein Core2Quad, 4GB RAM, Windows 7 64bit PC verwendet. Alle PCs waren per LAN, der Laptop per WLAN zusammengeschlossen.

Als Software fürs Streaming ins Netz und zum Abspielen der Netzwerkstreams wurde ausschlielich VLC verwendet. Hierbei wurde das Material mit dem MPEG2 Codec mit 7000kbit ins LAN gestreamt, da hierbei die wenigste CPU-Power benötigt wurde und so ein konstanter Stream möglich war.

Um das Material ins Netz zu streamen, muss im VLC-Menü unter Medien->Streaming (STRG+S) bei Aufnahmegerät öffnen im Aufnahmemodus DirectShow die angeschlossene Kamera als Video-Gerätename ausgewählt werden. Ein Firewire-Gerät wird hierbei meistens als Microsoft DV VCR erkannt, ein USB-Gerät oft als Video Edit. Ein Klick auf Stream öffnet die erweiterten Einstellungen.

Nach einem Klick auf Nächstes landet man in den Einstellungen für die Quelle. Hier macht man zunächst einen Haken bei Lokal wiedergeben, stellt dann das Dropdownmenü daneben von Datei auf HTTP um und drückt dann auf Hinzufügen. Im Feld Adresse muss man nun die lokalte IP-Adresse eingeben. Der Rechner, an den die Kamera per Firewire angeschlossen war und den ich hier nun zur erklärung verwendet, hat die IP-Adresse 192.168.0.28. Den Port kann man auf 8080 lassen.

In den Umkodierungsoptionen stellt man nun das Profil von h.264 auf Video - MPEG 2 + MPGA (TS) um und drückt danach auf den Button daneben um in die erweiterten Einstellungen zu kommen. Dort wählt man den Reiter Videocodec aus und stellt die Bitrate auf 7000kbit und die Framerate auf 25 (für PAL-Kameras) ein.
Ein Klick auf Speichern und danach auf Stream startet den Netzwerkstream. Hierbei wird der VLC das eingehende Videosignal wiedergaben und gleichzeitig ins Netz schicken. Diese Prozedur muss nun für alle weiteren Zuspieler-PCs durchgeführt werden. In meinem Fall habe ich zwei Streaming-Rechner, nämlich meinen Core i7 Desktop-PC mit der IP 192.168.0.28 und den Core2Duo Laptop mit 192.168.0.29.

Auf dem Abspiel-PC muss nun neben der Abspielsoftware VLC zusätzlich ein Desktopswitching-Tool installiert sein. Ich verwende hierfür VirtuaWin. Mit dieser Software kann man mehrere Desktops anlegen und zwischen dieses per Hotkeys hin- und herschalten. Ich habe VirtuaWin so eingestellt, dass ich zwischen Desktop 1 und 2 über die Tasten 1 und 2 auf der Tastatur wechseln kann. Hierfür können jedoch jede beliebe Tasten(-Kombination) verwendet werden.

Nun muss VLC auf dem ersten Desktop gestartet werden und über Medien->Netzwerkstream auf den Stream zuzugreifen, den unsere beiden Zuspieler-PCs ins Netz schicken. Als Protokoll wird hierfür zunächst HTTP ausgewählt. Die Adresse ist nun 192.168.0.28:8080 (IP-Adresse des Zuspieler-PCs:Port). Mit einem Klick auf Wiedergabe sollte nun der Stream geöffnet werden. Dieser kann nun im Vollbild angeschaut werden. In meinem Fall musste das Bildmaterial noch auf 16:9 gestreckt und deinterlaced werden. Dies geht ganz einfach mit einem Rechtsklick auf das Video und dann unter Seitenverhältnis 16:9 wählen bzw unter Deinterlace Angleichen.
Jetzt muss noch auf der zweiten Desktopfläche ein zweites Mal der VLC gestartet werden, um den Stream des anderen Zuspieler-PCs anzuschauen. Also den Hotkey fürs Wechseln auf die zweite Desktopfläche drücken (bei mir 2) und im VLC wieder Medien->Netzwerkstream öffnen und dann 192.168.0.29:8080 eingeben. Dieses kann man dann wieder maximieren. Nun kann man durch drücken von 1 und 2 sehr leicht zwischen den beiden Streams hin- und herschalten!

In meinem Fall werde ich eine der Kamera bedienen und mit einem zusätzlichen Laptop (eeePC 901) per WLAN über VNC Remote Desktop auf den Abspieler-PC zugreifen. So kann ich durch Drücken von 1 und 2 auf dem eeePC dann am Abspieler-PC umschalten, ohne direkt am Abspiel-PC zu sitzen.

Für Gelegenheiten, wo man mit mehr als zwei Kameras filmen will, kann man die selbe Vorgehensweise verwenden. Hierfür braucht man eben für jede weitere Kamera einen weiteren PC oder Laptop, der das Signal ins LAN streamt. Es sollte außerdem möglich, per WLAN einen Laptop/Netbook im Rucksack an eine per USB angeschlossene Handheld-Kamera anzuschließen, sodass man auch eine bewegte Kamera nutzen kann. Auch WLAN-Repeater wären möglich, um die Entfernung der Übertragung zu maximieren und so beispielsweise auch Übertragungen aus verschiedenen Gebäuden zusammenzubringen. Wenn genügend Upstream-Bandbreite vorhanden ist, kann VLC auch übers Internet streamen. Hierfür sollte dann aber ein Codec wie h.264 oder Theora verwendet werden, denn hierbei kann bei viel kleineren Bitraten viel bessere Qualität erzielt werden.

Noch ein paar Sachen, die ich gelernt habe, als ich mir diese Möglichkeit des Streamings erarbeitet habe. Zuersteinmal sollte man nicht mit der Rechenpower sparen. Ich hatte zunächst gedacht, ich könnte ein paar ältere Laptops verwenden, um das Videosignal zu streamen. Doch selbst ein Rechner mit 2,5 Ghz war zu langsam, um das Signal der Kamera in Echtzeit in MPEG 2 zu enkodieren und ins Netz zu schicken. Das führte dazu, dass das Video sehr stockte und der Stream zwischenzeitlich abbrach. Auch das Abspielen und vor allem das Switchen der Desktops braucht mehr Rechenpower, als ich anfangs annahm. Der selbe 2,5 Ghz Rechner war nicht in der Lage dies zufriedenstellend zu erledigen, weshalb ich dann eben den Core2Quad meines Bruders verwendete.

Beim Switchen mit VirtuaWin ist für einen Bruchteil einer Sekunde außerdem der Desktop zu sehen. Ich entschied mich also dazu, den Hintergrund einfarbig schwar zu machen und alle Icons zu entfernen. So wirkt das Umschalten wie ein normaler harter Schnitt. Ein Überblenden ist so nicht möglich; es gibt aber andere Programme, die das können sollen.

Eine weitere Sache, die ich leider nicht ganz in den Griff bekommen konnte ist, dass aufgrund der Übertragung per Firewire und USB und des Umkodierens in MPEG 2 trotz der schnellen Rechner ein Delay von etwa 2 Sekunden bleibt. Bei meinen Test mit langsameren PCs war die Verzögerung mit bis zu 10 Sekunden noch deutlich merklicher. Die einzige Lösung die mir zu diesem Problem einfällt ist, das Videosignal über eine TV-Karte an den PC zu schicken. Die Mini-DV-Kameras schicken das Bild ohne Verzögerung über den AV-Out raus, den man dann per Chinch oder S-Video an eine TV-Karte im Rechner anschließen könnte. Leider habe ich solche Technik zur Zeit nicht zur Verfügung, doch die TV-Karte, die ich in meinem alten PC drinn hatte, nahm das Signal der Kamera ohne Verzögerung auf. Ich bin mir also ziehmlich sicher, dass es so funktionieren würde. Für meine Situation ist ein Delay von ca. 2 Sekunden allerdings akzeptabel.

Noch was, das ich noch nicht ausprobieren konnte, mir aber relativ sicher bin, dass es funktioniert, ist das Übertragen von HD-Material. Hierfür müsste man die Kamera wiederum per Firewire oder eben per HDMI an eine Karte wie die Intensity Pro von Blackmagic Design anschließen. Außerdem müsste man hierfür im VLC einen anderen Codec wie MPEG 2 verwenden, da dieser maximal 9000kbit ausgibt und somit nicht für ein vernünftiges HD-Bild sorgen kann. Man müsste also zu Theora oder h.264 greifen, was wieder sehr viel höhere Anforderungen an die CPU stellen würde. Alles unter einem Core i7 kann man dann also vergessen.

Ich habe außerdem in den Streaming-Settings eingestellt, dass das Signal gleich auf die Festplatte aufgezeichnet wird. Hierzu muss man einfach ein neues Datei-Ziel hinzufügen, nachdem man den HTTP-Stream schon eingestellt hat und dann bei Dateiname einfach E:\Videofile.mpg eingeben, um die Datei auf E: zu speichern. Man kann hier auch andere Streaming-Methoden auswählen. Meine Erfahrungen mit HTTP waren allerdings am besten.

Am Abspieler-PC kann man außerdem eine Fabkorrektur in Echtzeit vornehmen und viele weitere Videoeffekt einstellen. Hierfür gibt es im VLC unter Anspassugen und Effekt den Reiter Videoeffekte, wo man das Bild auch drehen, Wasserzeichen einfügen und beschneiden kann. Unter Synchroniserung kann man außerdem einstellen, wie stark Audio und Video delayt werden sollen. So kann man mehrere Kameras perfekt synchronisieren, falls das nötig ist.

VLC ist und bleibt einer der Top-Videoplayer, egal auf welchem Betriebssystem. Doch das kleine Programm kann so viel mehr und ermöglichte mir ohne teures Videomixer-Equipment einen sehr akzeptablen Livestream mit Multi-Kameraschnitt in Echtzeit!

Bin auf Kommentare gespannt, Fragen beantworte ich gerne!

Thomas


PS. Siehe auch hier .

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Thom 98« (6. März 2010, 16:20)


Es haben bereits 1 registrierter Benutzer und 2 Gäste diesen Beitrag als hilfreich eingestuft.

Benutzer, die diesen Beitrag hilfreich fanden:

joey23

Schraube

unregistriert

2

Freitag, 27. April 2012, 00:34

Sehr gute Gedankengänge hast du, hat das ganze letzendlich denn einwandfrei geklappt? Der Delay kann auch mit dem Buffer zusammenhängen der in VLC gewählt ist. Wenn man diesen niedriger wählt ist der Delay erfahrungsgemäß etwas kürzer. Echtzeit wird aber trotzdem schwierig denke ich. Die 2 Sekunden sind natürlich schlecht wenn man im Nebenraum steht und den Ton aus dem Raum hört, das Bild aber erst später kommt. Somit müsste man evtl über Tonübertragung nachdenken. Wie hast du das gelöst?

Ich finde das ganze mit dem Desktopswitch etwas schwierig gelöst, ich glaube da müsste man noch nen bischen feilschen. Du schreibst, dass das switchen mit einem 2,5 ghz Rechner nicht geht, das finde ich schon heftig. Meines Wissens nach kann man mit dem Tool WebcamXP mehrere Streams gleichzeitig empfangen, wie das mit dem umswitchen ist weiß ich aus dem Kopf leider nicht mehr genau, wäre aber evtl. eine Untersuchung wert.

Trotzdem find ich es eine gute Anleitung, gerade weil es schnell organisiert werden kann und keine Spezialhardware benötigt wird.

Gruß Schraube

joey23

Registrierter Benutzer

Beiträge: 5 411

Dabei seit: 12. September 2009

Hilfreich-Bewertungen: 1227

  • Private Nachricht senden

3

Freitag, 27. April 2012, 00:44

Schade, dass die Bilder nicht mehr gehen!
Nordisch bei Nature!

Verwendete Tags

Echtzeit, Streaming, VLC, VNC

Social Bookmarks