http://sourceforge.net/project/showfile ... _id=310921
eigentlich hab ich das Programm schon vor recht langer Zeit gebaut, aber bisher noch nicht vorgestellt.
Ich benutzte es seit über einem Jahr, um von meinen Boxen auf einen SuSE 9.0 Server aufzunehmen - läuft stabil.
Hab heut mal das Notwendigste an Doku eingetippt, damit ich es verteilen kann. Ist vielleicht nicht grad für
jeden Linux-Neuling empfehlenswert. Aber wer sich ein wenig auskennt, sollte damit gut zurecht kommen.
Basiert auf QT3, braucht aber keinen X-Server, da ohne GUI.
Hier mal noch das Wesentliche aus der Readme:
Code: Alles auswählen
****************************************************************
*** DBox Recorder für Linux - ein DVB Video Streaming Server ***
****************************************************************
Die DBox 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 DBox erfolgt.
"recorder" kann auf einem separaten Linux-Rechner mit Netzwerkunterstützung
betrieben werden.
Es sorgt dann dafür, daß die Videodaten zu den jeweils auf der DBox program-
mierten Aufnahmen über Netzwerk und spezielle Streamingports ausgelesen und
gespeichert werden. Die DBox 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, so daß "record"-Kommandos
in keinem Falle verloren gehen können.
So kann "recorder" auch Anfragen an den DBox http-Server durchführen, ohne
die Empfangsbereitschaft für DBox-Kommandos zu gefährden.
Hier nun die einzelnen Features im Detail:
- integrierter Server für den Aufnahmetimer Client ("timerd") der Dbox
-> er empfängt und vearbeitet die "record" Kommandos der DBox.
Dabei wird über eine Input Queue sichergestellt, daß 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 dazwischenliegende 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, so daß die 2. Aufnahme in voller Länge
(bis zum zugehörigen STOP) erfolgen kann.
Sollte 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-Serbver ("nhttpd") der DBox -> er wird z.B.
benutzt zur Fernsteuerung (z.B. das An/Ab-Schalten des "record modes")
oder zum Einlesen von verschiednenen 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 (dboxgrab) zum Lesen der TS Daten über Netzwerk
vom entsprechenden Streamingport der DBox. "recorder" ruft es bei einer
anstehenden Aufnahme mit den entsprechenden Parametern auf. Es können nur
eine Video- und eine Audiospur ausgewählt werden (Totzdem 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 Benden) der Aufnahme kann im bestimmten Rahmen
eingestellt werden.
Dies ermöglicht auch ein "konservatives" Ansprechen für "empfindliche" DBoxen.
Eine Aufnahme setzt sich maximal aus diesen zeitlich aufeinander folgenden
Schritten zusammen:
o Eintreffen eines Start Kommandos mit Auswertung ...
o optionale Pause (Dauer einstellbar über "PrepareDelay")
o optionale Aufnahmevorbereitung (in einer prepare Phase), um noch einige
Informationen wie z.B. Systemzeit und EPG-Daten (Filmdauer) über http
von der DBox abzufragen (einstellbar mit "DoPrepare") ...
o Pause (Dauer einstellbar über "preDelay")
o Aktivierung des "record modes", optional mit "stopplayback"
(einstellbar über "PlaybackCtrl").
o Pause (Dauer einstellbar über "preDelay")
o Aufnehmen der Streaming Daten über separaten grab Process bis STOP
oder sonstiger Abbruch.
o optionale Pause (Dauer einstellbar über "postDelay")
o 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 ü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 zu Laufzeit
durch "recorder" mit den entsprechenden Werten belegt werden:
o $FMT = format der Streaming daten (-ts oder -ps)
o $HOST = hostname der DBox
o $PORT = streaming Port der DBox
o $OFILE = output file mit vollem Pfadnamen
o $VPID = video PID (hex)
o $APID = audio pid (hex)
Beispiel: mygrab -vpid $VPID -apid $APID -host $HOST
(es müssen nur die benötigten Variablen benutzt werden).
- Bei Neustart und nicht Erreichbarkeit der DBox wartet "recorder" bis zur
Verfügbarkeit, indem zuerst nach 5 Sekunden, dann alle 60 Sekunden ein
http-Anfrage zur DBox abgesetzt wird.
Optional kann (über "StartupCheck") die http-Anfrage in gewissem Rahmen konfiguriert
oder aber auch ganz abgeschaltet werden.