VIDEGOR

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Links)
 
(24 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==BESCHREIBUNG==
+
==Beschreibung==
 +
'''Author:'''
  
Videgor erlaubt die Programmierung von Aufnahmen und das Austauschen von Aufnahmen per P2P.
+
Der verteilte Videorekorder VIDEGOR erlaubt die Programmierung von Aufnahmen und das Austauschen von Aufnahmen per Peer-2-Peer Netzwerk.
  
==PLUGINS==
+
==Softwareanforderungen==
Folgende Plugins sind für VIDEGOR notwendig:
+
* openssl
  
[[Dvdrepg-plugin]]
+
==Installation==
  
[[Dvdrsched-plugin]]
+
<pre>
 +
tar ... igor-<VERSION>.tar.gz
 +
cd igor-<VERSION>
 +
./configure --prefix=/usr/local
 +
make
 +
make install
 +
</pre>
  
[[Dvdrvidtrans-plugin]]
+
Konfigurations-Datei erzeugen.
  
 +
{{Box Datei| /etc/igor.conf |
 +
<pre>
 +
cont_if_no_conns: 1
 +
bootstrap: vdr.ira.uka.de:11073
 +
netport: 11073
 +
clientport: 11072
 +
</pre>
 +
}}
  
==Gesammeltes Wissen==
+
Starten.
[http://www.vdrportal.de/board/thread.php?postid=390213#post390213 Beitrag von thomasfuhrmann aus VDRPORTAL: 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.)
+
<pre>
 +
cd /var/log
 +
igor --config /etc/igor.conf
 +
</pre>
  
[http://www.vdrportal.de/board/thread.php?postid=390252#post390252 Beitrag von thomasfuhrmann aus VDRPORTAL 1.12.2005 ]
+
==Parameter==
 +
{| border=1 cellpadding=2 cellspacing=0
 +
|- bgcolor=#efefef
 +
!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
 +
|}
  
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.
+
==Plugins==
 +
Folgende Plugins sind für VIDEGOR notwendig:
 +
*[[Dvdrepg-plugin]]
 +
*[[Dvdrsched-plugin]]
 +
*[[Dvdrvidtrans-plugin]]
  
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.
+
==Probleme==
  
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.
+
==Wunschliste==
 +
===Logging===
 +
Wäre schön, wenn das '''logfile''' nicht überall angelegt wird (momentan in der Umgebung '''PWD''', in der igor gestartet wurde).
  
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.
+
Eine Übergabe wäre hier Wünschenswert.
 +
 
 +
<pre>
 +
--logfile /<PATH>/<DEFINITION>
 +
</pre>
  
 
==Links==
 
==Links==
{|
+
 
| [1]
+
[[Kategorie:Veraltete Software]]
| http://www.videgor.de
+
{{i18n|VIDEGOR}}
| der verteilte Videorekorder
+
|}
+

Aktuelle Version vom 1. September 2013, 10:33 Uhr

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

Author:

Der verteilte Videorekorder VIDEGOR erlaubt die Programmierung von Aufnahmen und das Austauschen von Aufnahmen per Peer-2-Peer Netzwerk.

[Bearbeiten] Softwareanforderungen

  • openssl

[Bearbeiten] Installation

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

[Bearbeiten] 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

[Bearbeiten] Plugins

Folgende Plugins sind für VIDEGOR notwendig:

[Bearbeiten] Probleme

[Bearbeiten] Wunschliste

[Bearbeiten] 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>

[Bearbeiten] Links

In anderen Sprachen