VIDEGOR

Aus VDR Wiki

Wechseln zu: Navigation, Suche

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.

Datei
/etc/igor.conf
cont_if_no_conns: 1
bootstrap: vdr.ira.uka.de:11073
netport: 11073
clientport: 11072


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>

Links

  1. Home Page: VIDEGOR der verteilte Videorekorder
  2. heise news: Verteilter Videorecorder als Forschungsprojekt