Hier legt Ihr fest, welche Engine Ihr zum Streamen
verwenden wollt. Jede Engine hat Ihr Stärken und Schwächen.
WinGrabEngine: Diese Engine wurde von Elmi
entwickelt und war lange Zeit die einzig verfügbare Engine. Mit dieser
Engine habt Ihr eine Fülle von Informationen während der Aufnahme. Diese
Engine erlaubt es euch, in einen Programmstream mit mehreren Audio
Kanälen zu streamen, da der Stream während der Aufnahme noch gemuxt
wird. Tritt während der Aufnahme ein Fehler auf, sei es durch verlorene
Pakete im Netzwerk oder durch "unsaubere" Stellen im Stream, wird ein
ReSync durchgeführt. Dies bedeutet, dass die aktuelle Sequenz (GOP)
weggeworfen wird und neu synchronisiert wird. Dies hat den Vorteil, dass
die Aufnahme anschließend 100% Audio/Video synchron ist. Natürlich hat
dies auch einen Nachteil. Den ReSync wird man aller Wahrscheinlichkeit
anschließend im Stream erkennen können, da ca. eine Sekunde fehlt. Vor
noch nicht allzu langer Zeit, waren diese ReSyncs nicht zu vermeiden.
Durch ständige Weiterentwicklung der DBox Treiber, sind sie, ein gut
konfiguriertes Netzwerk vorausgesetzt, heute absolute Seltenheit
geworden...
Es ist ebenfalls möglich, als getrennte Audio und
Video Files aufzunehmen. ReSyncs gib es dann natürlich nicht, allerdings
ist der Stream anschließend zu überprüfen. Die getrennten Streams sind
dabei aber keine MPEG ES Streams, sondern im PES Format und müssen
anschließend bearbeitet werden.
Die WinGrabEngine wird nicht mehr weiterentwickelt.
ggrab: ggrab ist eine Engine, welche von
gandalfX für Linux entwickelt wurde. Dank einer Linux API Emulation (cygwin)
ist es möglich, diese Engine auch unter Windows einzusetzen. Die
erwähnte Emulation muss von Euch nicht installiert zu werden, da sie von
Jack mitgeliefert wird.
Auch ggrab ist in der Lage einen Programmstream zu
erzeugen. Dabei verfolgt ggrab aber eine andere Philosophie als die
WinGrabEngine. Tritt hier während der Aufnahme und des muxens ein Fehler
auf, wird der Stream nicht neu synchronisiert, sondern der Fehler wird
übernommen. Dies geschieht in der Annahme, dass der Fehler durch Euren
Player kompensiert werden kann. Dies macht ggrab zu einer recht
rustikalen Engine, bei Problemfällen durchaus Abhilfe schaffen kann.
Allerdings ist nicht zu verhehlen, dass diese Philosophie auch in die
Hose gehen kann... :o) Die im Stream enthaltenen Fehler können, bei
Weiterverarbeitung des Files, zu recht massiven Asynchronitäten in der
Aufnahme führen, welche sehr schwer zu reparieren sind, da sie erst an
einer bestimmten Stelle im File beginnen. Weiterhin können mit ggrab die
Datenpakete per udp übermittelt werden, was weitere Ressourcen im
Netzwerk freigibt, da die TCP typischen Antwortpakete entfallen.
Solltet Ihr bei der WinGrabEngine Bildfehler erhalten
oder mit häufigen ReSyncs zu kämpfen haben, ist vielleicht ggrab Eure
Engine !
ggrab wird wohl auch nicht mehr weiterentwickelt.
udrec: udrec wurde von tonsel geschrieben und
wird auch noch weiterentwickelt. udrec hat sich mittlerweile zu einer
sehr mächtigen und rustikalen Engine gemausert ! Durch Ihre Fähigkeit
entweder als ES, PES oder TS File zu streamen, ist sie sehr flexibel.
Noch ist es nicht möglich, einen Programmstream zu erhalten, aber auch
darauf werden wir wohl nicht mehr lange warten müssen :o)
udrec streamt standardmäßig über udp. Allerdings, und
dies macht udrec einzigartig, wird die Schwäche von udp (verlorene
Pakete sind eben wirklich weg) hier kompensiert. udrec schreibt die
empfangenen Daten nicht sofort auf die Festplatte, sondern hält sie im
Speicher und prüft sie auf Vollständigkeit. Vorher werden die Pakete in
der Box natürlich mit einem Zähler versehen, da dieser standardmäßig im
udp nicht enthalten ist. Erst wenn alle Pakete vollständig da sind, wird
der Stream gespeichert. Fehlt ein Paket, wird nur dieses von der Box neu
angefordert. udrec quittiert dies mit einer "ReSend" Meldung. Durch
diesen Mechanismus, werden quasi die Vorteile von TCP und UDP
zusammengeführt.
Durch diesen Umstand, und dass udrec noch
weiterentwickelt wird, wird udrec wohl bald (wenn sie es nicht schon
ist) zur ersten Wahl :o)
udrec hat noch weitere Optionen, aber dazu später
mehr.
Mittels der combo "Streamingpriorität" könnt Ihr die
Priorität des ggrab oder udrec Prozesses festlegen. ggrab sollte mit
"High" und udrec mit "Normal" betrieben werden (bei udrec laufen die
kritischen Threads schon mit hoher Priorität)
Habt Ihr ggrab als Engine ausgewäht, könnt Ihr
mittels der dazugehörigen Checkboxen, das udp und erweiterte Meldungen
während des Streames einschalten.
|