VIDEGOR
Inhaltsverzeichnis |
Beschreibung
Author: http://i30www.ira.uka.de/p2p/videgor/authors.de.html
Der verteilte Videorekorder Videgor erlaubt die Programmierung von Aufnahmen und das Austauschen von Aufnahmen per Peer-2-Peer Netzwerk. Da es ein sehr neues Plugin ist, ist dies hier erst mal ein Sammlung von Fakten die später aufgearbeitet wird.
Softwareanforderungen
- openssl
Installation
Installation ist im Detail hier beschreiben http://i30www.ira.uka.de/p2p/videgor/install.de.html
tar ... igor-<VERSION>.tar.gz cd igor-<VERSION> ./configure --prefix=/usr/local make make install
Konfigurations-Datei erzeugen.
Starten.
cd /var/log igor --config /etc/igor.conf
Parameter
Parameter (kurz) | Parameter (lang) | Beschreibung |
---|---|---|
-h | --help | show usage |
-b | --bootstrap | transport address of bootstrap node |
-i | --id | id of the local node |
-p | --netport | port where to listen for other nodes |
-u | --clientport | port where to listen for clients |
-c | --config | config file |
-d | --debug | debug values |
Plugins
Folgende Plugins sind für VIDEGOR notwendig:
Gesammeltes Wissen
Beitrag von thomasfuhrmann aus VDR-Portal: 1.12.2005
Jedes Stück Sendung wird pro Sender (z.B. ARD) in Blöcke von gut einer Minute zerlegt. Weil die Uhren der Rechner nicht exakt übereinstimmen, sind diese Blöcke unterschiedlich. Jeder Block wird nun in GOPs zerlegt (i.a. 120) zu denen ein Hash berechnet wird. Die Liste der Hash-Werte wird im Peer-to-Peer System veröffentlicht. Dabei wird zu jedem Hash-Block auch eine kurze Liste einiger Rechner angelegt, die diese GOP besitzen (Stichwort Aggregation). Weil die Uhren, wie gesagt, nicht synchron sind, wird dabei auch immer eine Anpassung der Hash-Listen vorgenommen (Stichwort: Matching und Merging). I.a. wird die Hash-Liste also länger. Anhand dieser Listen kann dann die entsprechende Sendeminute geladen werden. Dabei werden mehrere Threads gestartet, die jeweils aufeinanderfolgende GOPs laden. Jeder Thread beginnt mit GOPs die eine Minute Abstand haben. So muss nicht für jede GOP eine neue Verbindung begonnen werden. Hat eine Quelle einen besseren Upstream, ist der Thread früher fertig und kann mit dem nächsten offenen Stück GOPs beginnen. Auf diese Weise mitteln sich die verschiedenen Upstream-Bandbreiten heraus. Im Prinzip könnte aber jede GOP einzeln geladen werden. Wenn z.B. eine Quelle sehr langsam ist, könnte eine andere Quelle für diese GOP gewählt werden. Da aber alle GOPs über die Abfolge der Hash-Werte eindeutig zugeordnet werden können, ergibt sich stets eine identische Kopie des originalen Datenstroms so wie er urpsrünglich gesendet wurde. (Für alle die das jetzt im Quellcode nachvollziehen wollen das kleine Eingeständnis, dass das noch nicht 100% so implementiert ist. Es soll aber in Kürze umgestellt werden.)
Beitrag von thomasfuhrmann aus VDR-Portal 1.12.2005
1. Bei den rechtlichen Aspekten gilt wie immer in der Juristerei, es kommt auf den Einzelfall an. Bis zur ersten Abmahnung stehe ich aber auf dem Standpunkt, dass Videgor von Paragraph 44a Urheberrechtsgesetz gedeckt ist. Man kann eben nur das anschauen, was man auch hätte selbst aufnehmen können. Wenn die erste Abmahnung kommt, können wir ja Geld sammeln für einen Musterprozess.
2. Das eigentliche Peer-to-Peer-System ist der IGOR. Beim Starten gibt man einen Bootstrap-Rechner an. Momentan ist das ein Rechner hier bei uns (siehe Installationsanleitung). Das kann aber jeder IGOR Rechner sein, so dass wirklich eng begrenzte Netze entstehen können, z.B. im Wohnheim.
3. Für den IGOR gibt man auch die Ports an, die verwendet werden sollen. Wenn man von außen erreichbar sein will, muss der Netz-Port vom NAT-Gateway an den IGOR-Rechner weitergeleitet werden. Wenn der VDR innerhalb des privaten Netzes läuft muss der Client-Port nicht freigeschaltet werden. Wenn man ein privates IGOR-Netz will, schaltet man den Netz-Port auf der Firewall zu.
4. Die Übertragung der Videodaten ist getrennt von IGOR. Auch dafür müssen NAT und Firewall offen sein. Hier eine gute Lösung zu implementieren ist gerade in Arbeit. Momentan geht's also nur wenn die NAT-Box auch für den Videotransport geöffnet wird.
Probleme
Wunschliste
Logging
Wäre schön, wenn das logfile nicht überall angelegt wird (momentan in der Umgebung PWD, in der igor gestartet wurde).
Eine Übergabe wäre hier Wünschenswert.
--logfile /<PATH>/<DEFINITION>