Jump to content

Timeshift per Programmierung


Russel-Athletic

Recommended Posts

Es wäre doch gut, wenn man Timeshift per Programmierung starten könnte. So könnte man ein Film noch gucken, ob wohl man 15 minuten nach dem film erst ankommt. Oder ist dass abhängig von Marfi? Stimmt es eigentlich, dass man Timeshift maximal 30 Minuten machen kann?

Link to comment
Guest Oliver
Oder ist dass abhängig von Marfi? Stimmt es eigentlich, dass man Timeshift maximal 30 Minuten machen kann?

 

Nein, eigentlich nicht. Theoretisch kann man Timeshift bis zu 3.5 Stunden aufzeichnen, aber eingedenk der User mit Windows 9x wurde das auf 30 Minuten limitiert. Ansonsten ist eine Timeshift-Programmierung aber eine interessante Idee.

 

Bis dann, Oliver

Link to comment

Ein automatischer Timeshift-Start ist mit dem Sleeptimer-Plugin möglich, das u.a. die Option "Timeshift Start/Stop" nach einer vorgegebenen Anzahl Minuten bietet: Download-Link.

 

Einfach die DLL in den Ordner DVBViewer/Plugins tun und den DVBViewer starten, das weitere ergibt sich...

 

An der 30-Minuten-Begrenzung ändert das Plugin allerdings nichts, d.h. wenn man 45 Minuten nach dem automatischen Start nach Hause kommt, hat man die ersten 15 Minuten verpasst.

 

Griga

Link to comment
Guest Oliver

Danke für den Hinweis! Ich hatte das Plugin zwar installiert, auch schon für das Beenden des DVBViewers benutzt, aber mir in anderer Hinsicht noch nicht genau angeschaut. :angry:

 

Bis dann, Oliver

Link to comment

Interessanterweise gibt es noch eine weitere Möglichkeit.... eine Art "manuelles" Timeshift ohne 30-Minuten-Begrenzung. Es geht wie folgt:

 

1) Man startet die Aufnahme des Films, den man zeitversetzt sehen will, oder lässt sie automatisch starten, am besten mit "Audio/Video disabled".

 

2) Wenn man mit der Wiedergabe beginnen will, beendet man die Aufnahme und startet sie umgehend neu, so dass sie in einer anderen Datei fortgesetzt wird.

 

3) Man schaut sich die zuvor aufgenommene Datei mit einem anderen Player an. Wenn man damit durch ist, Schritt 2 wiederholen... :angry:

 

Natürlich fehlt durch das Beenden/Neustarten der Aufnahme ein kleines Stück, und man muss ein bißchen rumklicken, aber immerhin erhält man bei diesem manuellem Timeshift im Gegensatz zu Marfis Methode Videodateien, die sich nachträglich abspielen lassen. Und es funktioniert auch mit dem SkyStar 4.2-Renderkern und sogar mit der TechniSat-Edition des DVBViewers!

 

Ich hatte Christian schon mal vorgeschlagen, im DVBViewer bei Aufnahmen die gleichzeitige Wiedergabe einer anderen Videodatei zu ermöglichen (was im Prinzip kein großes Problem wäre) und das oben beschriebene manuelle Timeshift zu automatisieren.

 

Dies würde zwar die Lücke bei Fortsetzung der Aufnahme in einer anderen Datei nicht verhindern. Aber Schritt 2 und 3 (und deren Wiederholung) könnte weitgehend der DVBViewer übernehmen. Und man könnte auf den Einsatz eines anderen Players verzichten.

 

Bislang ließ sich Christian dafür nicht erwärmen... aber wenn viele User sowas möchten... vielleicht...

 

Griga

Link to comment

Wieso im Eingedenkt der 9x User? Könnte dann man nicht wenigstens eine Option machen: Timeshift ermöglichen für

x minuten = y mb (vorsicht 9x user nur maximal 30 min).

Ouh jetzt versteh ich hat wohl was mit Fat32 zu tun. Aber ich finde man könnt e dass trotzdem so wie ebend genannt realisieren, man kann ja auch nicht immer vom schlechtesten System ausgehen (ich will hiermit keine 9x User beleidigen).

 

Apropo danke für den Tipp mit dem Timer (und den Timer selbst). Werd ich wohl öfter verwenden.

Link to comment
Wieso im Eingedenkt der 9x User?
weil die Fat32 verwenden und das eine 2GB Grenze hat. Bie timeshift wird eben die ganze vergangene Zeit vorübergehend auf die Platte geschrieben. Ist die halbe Stunde voll, werden (vereinfachtausgedrückt) die ersten Minuten im File wieder überschrieben. Bei manchen Kanälen ist das Datenaufkommen derart hoch, dass man da schnell an die Grenze stoßen könnte. Am Sonntag hatte ich einen Sender der bei der Aufnahme im DVBViewer sage und schreibe 920kb/s angezeigt hat. Das war fast so als ob die den Rest ihres Transponders nur mit absolut minimaler Leistung haben laufen lassen. Dafür war aber Bild und Ton fantastisch.

Wenn man also volle Zeit beim Timeshift fordern würde, dann könnten bei manchen Sendern durchaus bis zu 6GB auf der Platte nur für Timeshift belegt werden.

Gruß

Steffen

Link to comment

Ich finde die Begründung "wegen den Win98-Usern" ehrlich gesagt auch ziemlich an den Haaren herbeigezogen... :angry: schließlich kann ein Programm abfragen, unter welchem OS oder Dateisystem es läuft.

 

Griga

Link to comment
Guest Oliver

Sehe ich genauso, aber ich habe es mir auch nicht ausgedacht. :angry: Wenn schon keine automatische Erkennung, dann sollte zumindest eine Option für längere Aufnahmen vorhanden sein.

 

Bis dann, Oliver

Link to comment

Damit wären wir dann wieder an dem gleichen Punkt wie bei der Diskussion um die generelle Zeitbeschränkung der SkyAVC.ax angelangt. Marfi will es halt so (warum auch immer), und wenn es jemand nicht gefällt, braucht er den Filter ja nicht benutzen (frei zitiert).

 

Tatsache ist leider, dass die TimeShift-Funktion im Vergleich zu dem, was moderne Festplatten-Recorder bieten, nicht besonders gut dasteht. Dort gibt es, abgesehen von der Festplattenkapazität, keine Zeitbeschränkung. Jede Aufnahme kann gleichzeitig für Timeshift benutzt werden, und umgekehrt...

 

Aber anders gesehen: Besser die vorhandene als gar keine.

 

Griga

Link to comment
Guest Oliver

O, dann habe ich was falsch verstanden. Bisher dachte ich, dass die SkyAVC.ax eine Timeshift-Aufnahme bis 3.5h erlaubt und Christian dies mit Rücksicht auf schwächere Systeme nicht ausnutzt. :angry:

 

 

Bis dann, Oliver

Link to comment

Also wenn das von Marfi's Filter abhängt dann verstehe ich dass. Ich dachte bloß, wie Oliver, dass der Hauptbestandteil beim DVBViewer besteht.

Link to comment

Ja, es herrscht allgemein einige Unklarheit darüber, was der DVBViewer macht und was anderen Instanzen obliegt. Aus diesem Grund wird auch insbesondere bei Problemen dem DVBViewer manches zur Last gelegt, was nicht in seiner Verantwortung liegt. Deshalb hier noch einmal ein Info für alle, die mit der Materie nicht vetraut sind:

 

Man muss sich darüber im Klaren sein sein, dass die gesamte Signalverarbeitung - Audio und Video - von DirectShow-Filtern erledigt wird. Der DVBViewer erzeugt also das Fernsehbild nicht selbst; er verwaltet nur die Erzeugung bzw. arbeitet als User-Interface.

 

Einige der zuständigen Filter werden bei der Installation der SS2 mitinstalliert (der SkyStar 4.2-Renderkern vom Chiphersteller B2C2, der mpeg-Decoder von Mediamatics), andere schon im System vorhandene stammen von Microsoft (Overlay-Mixer, Video-Renderer, Audio-Decoder...) oder von anderer installierter Software (Elecard-Demultiplexer, nVidia-Videodecoder, Intervideo-Audiodecoder...). Die Kunst beim DVBViewer besteht darin, dies alles unter einen Hut zu bringen und die darin schlummernden Möglichkeiten dem Benutzer gut zugänglich zu machen.

 

Marfis Renderkern (noch so'n Filter) stammt von einem polnischen Programmierer, der sein Produkt dankenswerterweise umsonst zur Verfügung stellt - würde er Lizenzgebühren verlangen, wäre der DVBViewer einige Euros teurer, oder um einige Features ärmer.

 

Dies ist die eine Seite. Die schon mehrfach kritisierte Schattenseite ist die schon erwähnte Einschränkung bei Timeshift, deren technische Notwendigkeit fraglich ist, und die Tatsache, dass Marfis Filter am Ende eines Quartals üblicherweise zu funktionieren aufhört, also nur zeitbeschränkt arbeitet - man muss sich eine neue Version der Datei SkyAVC.ax von http://www.cait.com.pl/dvb.php downloaden und in den Ordner DVBViewer/Filters packen (und nicht vergessen: die alte Datei B2C2.dll löschen, die dann neu erzeugt wird).

 

Dies ist von Marfi so gewollt, mit der offiziellen Begründung, dass er sich nicht mit Bug-Reports befassen möchte, die von veralteten Versionen herrühren. Kritisiert wird dies von Usern, die mit der vorherigen Version bestens zurecht kamen, aber mit der neuen Ausgabe Probleme haben. Außerdem hat es schon einigen Ärger bereitet, dass der Filter auf benutzer-unfreundliche Weise ohne jeden Hinweis seinen Geist aufgibt - es gab schon öfters User, die dies nicht wussten und alles Mögliche veranstaltet haben (bis hin zur Neuinstallation des Systems), um die Sache wieder zum Laufen zu bringen...

 

Marfis Standpunkt diesbezüglich ist, dass er ja nichts an dem Filter verdient und ihn im wesentlichen für seinen persönlichen Gebrauch programmiert hat. Und wenn man damit nicht zufrieden wäre, bräuchte man ihn schließlich nicht benutzen. Auf der SkyAVC.ax-Site findet man folgendes Statement:

 

Liability - This software is private. One can use it without my consent. I do not guarantee any features of the software. All side effects are unintentional and I do not take the responsibility for damages, which may arise in consequence. My intention is only and solely to develop software for my use and so I present it only for educational purposes.

 

So, das wären die wichtigsten Fakten. Nun kann sich jeder seine Meinung dazu bilden...

 

Griga

Link to comment

Vielleicht sollte man mal eine Tabelle machen wo man die wichtigsten Funktionen auflistet und wer diese Funktion zur Verfügung stellt.

Vielleicht oben im Kopf ..DVBViewer, TechniSat 4.22 Renderer, Marfis Filter, Directshow Filter, DC-DSP-Filter, ...... und in den Spalten untereinander dann untereinander die Eigenschaften: .....timeshift, Bild in Bild, schneller Kanalwechsel, Bereitstellen der Satellitendaten, schreiben der Aufnahme auf die Platte, Equalizer für den Ton, AC3, Tonausgabe über S/PDIF ............

So könnte man vielleicht einiges Verständis erzeugen und auch bei der Fehlersuche helfen.

Wenn jemand Interesse an einer solchen Tabelle hat, der kann mir ja per PM Auflistungen (getrennt nach Komponenten des Rechners und Funktionalität des DVBViewers) zusenden. Ich würde dann eine Tabelle erstellen und bei mir auf der Seite posten (oder man kann es ja auch ins DVBViewer Manual einbauen).

Allerdings bin ich die nächsten Tage nicht zu Hause und würde erst am Wochenende damit beginngen können.

Gruß

Steffen

Link to comment
  • 2 weeks later...

es sollte noch eine möglichkeit geben timeshift zu verbessern..

das knüpft in etwa an die "manuelle Methode" von etwas weiter oben an..

 

Man müßte dazu dem DVBViewer sagen, dass er bei der Aufnahme die Datei nicht exclusiv Blockiert, also noch andere Programme mindestens Lese zugriff bekommen können (weiß jetzt nicht wie im Moment ist, ist aber keine große Umstellung).

 

Dann braucht man nur noch einen Player, der ebenfalls die Datei nicht exclusiv sperren will (der Media Player tut das.. :-/ ) oder vielleicht direkt support dafür im DVBViewer einbauen (hat einer vorgeschlagen, also Aufnehmen und gleichzeitig was anderes gucken, weiß aber nicht wie aufwendig das ist das einzubauen.)

 

Dann hätte man quasi unbegrenztes Timeshift (also nur noch von Plattenplatz und dateisystem beschränkt) oder gibt's bei normaler Aufnahme auch beschränkungen? ;-)

 

Wäre denke ich sogar die einfachste Möglichkeit... ist denk ich auch die Methode, die normale sat reciever mit timeshift machen...

 

Mfg Moe

Link to comment

Leider alles nicht so einfach, wie es auf den ersten Blick scheint...

 

Man müßte dazu dem DVBViewer sagen, dass er bei der Aufnahme die Datei nicht exclusiv Blockiert, also noch andere Programme mindestens Lese zugriff bekommen können

 

Das macht nicht der DVBViewer, sondern das OS - auf eine (insbesondere zum Schreiben) geöffnete Datei kann eine andere Instanz nicht zugreifen. Diese Einschränkung ist i.a. auch sinnvoll, das sonst allerlei Chaos droht. Der Zugriff geht nur, wenn die andere Instanz über das Dateihandle verfügt, d.h. es müsste eine Kommunikation zwischen den beteiligten Programmen aufgebaut werden. Falls jemand hier andere Möglichkeiten kennt... bitte melden und genau erläutern!

 

Hinzu kommt, dass das Auslesen der (noch im Entstehen begriffenen) Videodatei praktisch nur auf DirectShow-Ebene gelöst werden kann, da ja der Inhalt auch dargestellt werden soll. D.h. es muss ein Source-Filter programmiert werden, der nicht wie die üblichen Filesource-Filter eine fertige Datei mit gegebenem Dateinamen ausliest, sondern eine noch unfertige mit gegebenem Dateihandle.

 

Je mehr man das Problem durchdenkt, um so mehr kommt man darauf, wie kompliziert die Sache ist... entsprechende Planungen sind jedoch bereits im Gange.

 

Griga

Link to comment
  • 2 weeks later...

Hi Leute,

 

Ich hab das zwar schon mal beim Feature Request gepostet aber hier kommt's nochmal:

 

Ich denke man kann eine Datei auch nur teilweise schreibschützen. Ich hab grade ein bißchen mit VB.net und fielstreams rumhantiert. Da gibt es eine Funktion in der Filestreamklasse namens Lock der man sagen kann, welcher Teil der Datei exclusiv ist. Das hieße ja, das ich mit 'nem anderen Prozess auf die Datei zugreifen kann, außer natürlich auf den gesperrten Bereich.

 

@Griga:

 

Die Daten werden aber relativ schnell auf die Platte geschrieben, der Puffer ist nur 4KB groß. Ausserdem wird nach dem öffnen/erstellen der Datei sofort ein Dateisystemeintrag erstellt. Das Öffnen der Datei ist also nicht das Problem.

 

Die Größenbeschränkung kann man damit umgehen, indem man mehrere Dateien anlegt.

 

Tschö

Aydan

Link to comment

hmmm... interessant. Ich habe auch schon ein bißchen rumgeschnüffelt. Das Standard-Dateihandling von Delphi (bis Version 6) kennt das Shared-Attribut allerdings nicht, so dass man sich wohl per FileOpen mit Low-Level-Routinen rumschlagen muss.

 

Wie sieht denn das aus, wenn ein anderer Prozess die Datei öffnen will, z.B. der DirectShow-Filesource-Filter? Muss der das auf spezielle Weise tun (ebenfalls mit Shared-Attribut), oder geht auch ein ganz normales "exclusives" Öffnen?

 

Griga

Link to comment

So wie ich das sehe erlaubt der erste Prozess der die Datei sared_read öffnet anderen Prozessen die Datei zu lesen. Die müssen die Datei glaub ich nicht nochmal shared öffnen.

 

Tschö

Aydan

Link to comment
  • 1 month later...
es sollte noch eine Möglichkeit geben Timeshift zu verbessern... man müßte dazu dem DVBViewer sagen, dass er bei der Aufnahme die Datei nicht exclusiv blockiert, also noch andere Programme mindestens Lesezugriff bekommen können... dann braucht man nur noch einen Player, der ebenfalls die Datei nicht exclusiv sperren will... dann hätte man quasi unbegrenztes Timeshift

 

Ich habe in der Hinsicht mal genauer nachgeforscht und einiges probiert. Hier die Ergebnisse:

 

- Der DVBViewer schreibt die Dateien beim Aufnehmen bereits im Shared-Modus, d.h. andere Progamme könnten im Prinzip gleichzeitig darauf zugreifen. Beweis: Der im CD-Ripper CDEx integrierte Player (http://www.cdex.n3.net/, Open Source) spielt MP2-Audiodateien, während der DVBViewer sie aufnimmt.

 

- Ich habe das Audiorecorder-Plugin probeweise so abgeändert, dass es die Dateien ebenfalls im Shared-Modus schreibt, und mir dazu den Delphi-Sourcecode für einen kleinen Audio-Player besorgt. Nach einigen Modifikationen spielte er tatsächlich alles, was ich mit dem Audiorecorder aufnehme, gleichzeitig ab. Es ist also im Prinzip kein großes Problem, dem Audiorecorder volle Timeshift-Fähigkeiten zu verpassen (werde ich womöglich auch machen).

 

Wer nun meint, dies müsse dann sicher auch mit DVBViewer-Videoaufnahmen gehen, freut sich leider zu früh...

 

Die Sache funktioniert nämlich nur, wenn der Player nicht-exklusiv auf die Datei zugreift. Alle von mir ausprobierten DirectShow-Filesource-Filter öffnen Dateien jedoch exklusiv, d.h. verweigern den Zugriff auf mpg-Videodateien, solange sie noch vom DVBViewer geschrieben werden. Wer's nicht glaubt, kann es mit GraphEdit ausprobieren. Da alle mir bekannten Player das Abspielen von mpg-Videos an einen DirectShow-Graphen delegieren, liegt hier der Hase im Pfeffer.

 

Ein zusätzliches Problem ist, dass kein Player damit rechnet, dass die Datei während des Abspielens länger wird, d.h. der Trackbar für das Suchen/Springen wird nicht angepasst. Deshalb kann man dann nicht über das beim Öffnen der Datei festgestellte Ende hinausspringen (darüber hinaus gespielt wird schon, wie die Audio-Versuche gezeigt haben).

 

Man bräuchte also für Video entweder einen neuen DirectShow-Filesource-Filter, der auf Timeshift-Bedürfnisse zugeschnitten ist, oder man müsste das Abspielen selbst in die Hand nehmen und mit Hilfe einer Decoder-DLL durchführen - so macht es der oben erwähnte Vesuchskaninchen-Audioplayer. Er liest die Datei selbst, benutzt MP3- bzw. Ogg Vorbis-DLLs für das Dekomprimieren und schickt die Daten dann zum WaveOut-Device, so dass überhaupt keine DirectShow-Klamotten ins Spiel kommen.

 

Allerdings ist diese Methode für mpg-Videos sehr ungebräuchlich, und ich weiß auch nicht, ob sich eine passende Decoder-DLL mit ausreichend dokumentiertem Interface auftreiben lässt. Wer sowas kennt, soll sich melden...

 

Griga

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...