DBox recorder: Unterschied zwischen den Versionen

Aus TuxBoxWIKI
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(moved to Linux Video Editor)
 
Zeile 1: Zeile 1:
[[Category:Register]]
#REDIRECT [[Linux Video Editor]]
[[Tools]]
__TOC__
=Allgemeines=
DBox Recorder ist ein [[DVB]] Video Streaming Server für [[Linux]].
 
Die [[DBox2]] unterstützt bekannterweise mehrere Aufnahmemöglichkeiten. Das hier beschriebene "recorder" Programm kann für die Aufnahme via "streaming server" verwendet werden, wobei die Ansteuerung über das entsprechende (timerbasierte) Frontend der [[DBox2]] erfolgt.
 
 
"recorder" kann auf einem separaten [[Linux]]-Rechner mit Netzwerkunterstützung betrieben werden.
 
 
Es sorgt dann dafür, dass die Videodaten zu den jeweils auf der [[DBox2]] programmierten Aufnahmen über [[Netzwerk]] und spezielle Streamingports ausgelesen und gespeichert werden. Die [[DBox2]] arbeitet hierbei als Master und liefert lediglich die nötigen Start/Stop Aufnahme-Befehle.
 
 
Im Unterschied zu einigen anderen verfügbaren, ähnlichen Programmen (wie z.B. sserver), arbeitet "recorder" eingehende Ereignisse asynchron ab, d.h der "Kommando-Eingang" wird nie geblockt, sodass "record"-Kommandos in keinem Falle verloren gehen können.
 
 
So kann "recorder" auch Anfragen an den [[DBox2]] http-Server durchführen, ohne die Empfangsbereitschaft für [[DBox2]]-Kommandos zu gefährden.
 
==Features==
Hier nun die einzelnen Features im Detail:
 
 
===Integrierter Server für den Aufnahmetimer Client===
Integrierter Server für den Aufnahmetimer Client ("timerd") der [[DBox2]]. Er empfängt und vearbeitet die "record" Kommandos der [[DBox2]]. Dabei wird über eine Input Queue sichergestellt, dass kein Kommando verloren geht und eine serielle Abarbeitung möglich ist, d.h. ein Start wird auch dann erkannt, wenn zwei Filme unmittelbar hintereinader folgen, also Stop/Start-Sequenz ohne dazwischenliegender Pause.
 
 
Auch das Eintreffen eines Startkommandos während einer bereits laufenden Aufnahme kann korrekt bedient werden: dazu wird die laufende Aufnahme sofort abgebrochen und die neue Aufnahme eingeleitet. Der Stop-Befehl der ersten Aufnahme wird dann ignoriert, sodass die 2. Aufnahme in voller Länge (bis zum zugehörigen STOP) erfolgen kann.
 
 
Sollten aus irgendwelchen Umständen mehrere START/STOP Kommandos unmittelbar hintereinder eintreffen (z.B. ein Film mit veraltetem EPG-Eintrag, dessen Stopzeit bereits abgelaufen ist, wurde versehentlich programmiert), wird erst gar kein Aufnahmevorgang eingeleitet, da erst eine Überprüfung der gesamten Queue erfolgt und somit zusammengehörende Start/Stop-Kommandos bereits im Vorfeld verworfen werden.
 
 
===Integrierter Client für den Web-Server===
Integrierter Client für den Web-Serbver ("nhttpd") der [[DBox2]] -> er wird z.B. benutzt zur Fernsteuerung (z.B. das An/Ab-Schalten des "record modes") oder zum Einlesen von verschiedenen Informationen vor dem Starten des Streaming Prozesses (grabben), wie z.B die Auswertung von [[EPG]]-Daten zur Ermittlung der Filmspieldauer oder die Synchronisation der Uhr etc.
 
 
===Separates Streaming Program===
Separates Streaming Program (dboxgrab) zum Lesen der [[TS]]-Daten über [[Netzwerk]] vom entsprechenden Streamingport der [[DBox2]]. "recorder" ruft es bei einer anstehenden Aufnahme mit den entsprechenden Parametern auf. Es können nur eine Video- und eine Audiospur ausgewählt werden (trotzdem können u.U. zwei Audiospuren gleichzeitig aufgenommen werden). Alternativ kann auch ein anderes grab-Programm konfiguriert werden.
 
 
===Individuell einstellbares Timing===
Die Zeitabfolge der einzelnen Schritte bis zum Starten (bzw. nach dem Beenden) der Aufnahme kann im bestimmten Rahmen eingestellt werden. Dies ermöglicht auch ein "konservatives" Ansprechen für "empfindliche" [[DBox2|DBoxen]].
 
 
Eine Aufnahme setzt sich maximal aus diesen zeitlich aufeinander folgenden Schritten zusammen:
* Eintreffen eines Start Kommandos mit Auswertung...
* Optionale Pause (Dauer einstellbar über "PrepareDelay")
* Optionale Aufnahmevorbereitung (in einer prepare Phase), um noch einige Informationen wie z.B. Systemzeit und [[EPG]]-Daten (Filmdauer) über http von der [[DBox2]] abzufragen (einstellbar mit "DoPrepare")...
* Pause (Dauer einstellbar über "preDelay")
* Aktivierung des "record modes", optional mit "stopplayback" (einstellbar über "PlaybackCtrl")
* Pause (Dauer einstellbar über "preDelay")
* Aufnehmen der Streaming Daten über separaten grab Prozess bis STOP oder sonstiger Abbruch.
* Optionale Pause (Dauer einstellbar über "postDelay")
* Deaktivierung des "record modes" (und startplayback falls vorher gestoppt).
 
Falls die "prepare-Phase" deaktiviert wird, entfällt natürlich auch die vorhergehende Pauseoption.
 
 
===Umfangreiche Parametrisierung===
Umfangreiche Parametrisierung über ein Konfigurationsfile (/etc/recorder.conf). Unter anderem kann hier auch ein beliebiges (geeignetes) Programm zum [[Streamen]] als Alternative zu "dboxgrab" konfiguriert werden. Dabei ist die Verwendung folgender Parameter-Variablen möglich, die dann zur Laufzeit durch "recorder" mit den entsprechenden Werten belegt werden:
 
* $FMT  = Format der Streamingdaten (-ts oder -ps)
* $HOST  = Hostname der [[DBox2]]
* $PORT  = Streaming Port der [[DBox2]]
* $OFILE = Output file mit vollem Pfadnamen
* $VPID  = Video [[PID]] (hex)
* $APID  = Audio [[PID]] (hex)
 
Beispiel: mygrab -vpid $VPID -apid $APID -host $HOST (es müssen nur die benötigten Variablen benutzt werden).
 
===DBox2 Erkennung===
Bei Neustart und nicht Erreichbarkeit der [[DBox2]] wartet "recorder" bis zur Verfügbarkeit, indem zuerst nach 5 Sekunden, dann alle 60 Sekunden ein http-Anfrage zur [[DBox2]] abgesetzt wird. Optional kann (über "StartupCheck") die http-Anfrage in gewissem Rahmen konfiguriert oder aber auch ganz abgeschaltet werden. 
 
 
=Links=
*[http://sourceforge.net/project/showfiles.php?group_id=97090&package_id=113133&release_id=310921 Download]
*[http://forum.tuxbox.org/forum/viewtopic.php?p=249258#249258 Tuxbox Forumsbeitrag]
 
 
{{review}}
 
{{body}}

Aktuelle Version vom 13. Januar 2008, 22:19 Uhr

Weiterleitung nach: