Wie macht man einen Zeitsprung

Zusatz-Programme für Receiver der 5000er und 6000er Serie.

Hier geht's um alles, was mit den TAP Anwendungen für den PVR5x00/6000 zu tun hat.
Benutzeravatar
Jetson
Vielantworter
Vielantworter
Beiträge: 763
Registriert: Fr 9. Dez 2005, 19:29
Receivertyp: TF5200PVRc
Receiverfirmware: TF-NCPCd 2.75

Wie macht man einen Zeitsprung

#1

Beitrag von Jetson » Do 12. Jan 2006, 20:46

Nein, das wird jetzt keine Frage wie man einen Time Tunnel baut. :lol:
Vielmehr brauche ich einen Tipp, wie man während der Wiedergabe einer Aufzeichnung von der aktuellen Position möglichst präzise um x Sekunden vor oder zurückspringen kann. Wenn ich mir die API (v1.22) so anschaue, kommt da eigentlich nur die Funktion TAP_Hdd_ChangePlaybackPos() in Frage, aber dort kann man nur einen Block als Parameter angeben und keinen Zeitindex. Wie haben das die Programmierer von SmartSkipper oder Improbox gelöst?
Danke schon mal im voraus.
Gruß,
Jetson

Benutzeravatar
General
Super-Freak
Super-Freak
Beiträge: 3509
Registriert: Mo 5. Dez 2005, 12:58
Receivertyp: TF 5500 PVR / TF 0x1E14 HDPVR
Receiverfirmware: Aktuelle Beta
Wohnort: zu Hause

#2

Beitrag von General » Do 12. Jan 2006, 20:57

Jetson hat geschrieben:Nein, das wird jetzt keine Frage wie man einen Time Tunnel baut. :lol:
und ich wollt grad mit dem flux kompensator anfangen. :w00t:
MfG General
Topfield TF7700HDPVR + 500GB HDD + Alphacrypt Classik (3.16) + Sky das volle Programm
Jag's EPG + Improbox + NiceDisplay auf dem 5500er


:viking: Für viele Fragen gibt’s detaillierte Antworten im TopfWiki :viking:

:vertrag: Anfragen zu Betaversionen werden ignoriert. :vertrag:


Gebt CI+ keine Chance. Aufruf zum Boykott!!!

DeJe
Topfmeister
Topfmeister
Beiträge: 612
Registriert: Sa 10. Dez 2005, 13:57

#3

Beitrag von DeJe » Do 12. Jan 2006, 21:00

und ich wollt grad mit dem flux kompensator anfangen.
Dazu mußt Du den Topf aber ganz schön auf Geschwindigkeit bringen. :D
TF5000PVR Masterpiece mit 250GB Samsung, ImproBox Premium, QuickTimer, 3PG, Filer, FastSkip, WSSKiller

Benutzeravatar
General
Super-Freak
Super-Freak
Beiträge: 3509
Registriert: Mo 5. Dez 2005, 12:58
Receivertyp: TF 5500 PVR / TF 0x1E14 HDPVR
Receiverfirmware: Aktuelle Beta
Wohnort: zu Hause

#4

Beitrag von General » Do 12. Jan 2006, 21:01

DeJe hat geschrieben:Dazu mußt Du den Topf aber ganz schön auf Geschwindigkeit bringen. :D
dafür hat man doch nen reaktor im keller. :D
MfG General
Topfield TF7700HDPVR + 500GB HDD + Alphacrypt Classik (3.16) + Sky das volle Programm
Jag's EPG + Improbox + NiceDisplay auf dem 5500er


:viking: Für viele Fragen gibt’s detaillierte Antworten im TopfWiki :viking:

:vertrag: Anfragen zu Betaversionen werden ignoriert. :vertrag:


Gebt CI+ keine Chance. Aufruf zum Boykott!!!

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#5

Beitrag von Elle4u » Do 12. Jan 2006, 21:31

Jetson hat geschrieben:Wie haben das die Programmierer von SmartSkipper oder Improbox gelöst?
Danke schon mal im voraus.
Ich denke mal so:
TotalBlocks / Gesamtspieldauer = Blöcke pro Minute.
Und so dann pro Minute dieses Ergebnis auf CurrentPos draufrechnen?
Gruß,
Elle4u

Benutzeravatar
carsborc
Benutzer
Benutzer
Beiträge: 96
Registriert: Fr 9. Dez 2005, 16:12
Wohnort: München (Weltstadt m. H.)

#6

Beitrag von carsborc » Fr 13. Jan 2006, 08:54

General hat geschrieben:dafür hat man doch nen reaktor im keller. :D
endlich bekommt meiner im Keller mal einen nutzen, danke für die tolle Idee :D !
;) Gruß Carsten


:topf: 5200 C :type: Tap: itina, improbox premium
:bier: Avatar Vorschlag von Strizzi - Danke :bier:

Benutzeravatar
Pippin
Benutzer
Benutzer
Beiträge: 93
Registriert: Di 13. Dez 2005, 09:35
Receivertyp: TF 5000 PVR A
Wohnort: Aachen
Kontaktdaten:

#7

Beitrag von Pippin » Fr 13. Jan 2006, 15:45

Jetson hat geschrieben: Vielmehr brauche ich einen Tipp, wie man während der Wiedergabe einer Aufzeichnung von der aktuellen Position möglichst präzise um x Sekunden vor oder zurückspringen kann. Wenn ich mir die API (v1.22) so anschaue, kommt da eigentlich nur die Funktion TAP_Hdd_ChangePlaybackPos() in Frage, aber dort kann man nur einen Block als Parameter angeben und keinen Zeitindex.
TAP_Hdd_GetPlayInfo(TYPE_PlayInfo *playInfo ) gibt dir unter anderem den "Current" Block der Wiedergabe.

Bei Playback wird die Zeit/Block so berechnet, wie Elle4u schon geschrieben hat, bei Aufnahmen/Timeshift muss man die Aufnahmezeit aus den RecInfo TAP_Hdd_GetRecInfo( byte recSlot, TYPE_RecInfo *recInfo ) holen. Achtung, testen, welcher der beiden Rec Slots für dich in Farge kommt.

Beim Sprung für X Sekunden mit TAP_Hdd_ChangePlaybackPos( dword blockPos ); wird dann blockPos berechnet aus

playInfo ->currentBlock + (X * Blöcke pro Sekunde)

Alles klar? :thinker:
Gruß, Pippin

TF 5000 PVR A / 160GB, Alphacrypt, Harmony 885
FastSkip, Quicktimer, Improbox Premium, 3PG, Matrix Saver, Power Restore (+FW), Bookmark, NiceDisplay

Benutzeravatar
Jetson
Vielantworter
Vielantworter
Beiträge: 763
Registriert: Fr 9. Dez 2005, 19:29
Receivertyp: TF5200PVRc
Receiverfirmware: TF-NCPCd 2.75

#8

Beitrag von Jetson » Fr 13. Jan 2006, 19:06

Pippin hat geschrieben:TAP_Hdd_GetPlayInfo(TYPE_PlayInfo *playInfo ) gibt dir unter anderem den "Current" Block der Wiedergabe.

Bei Playback wird die Zeit/Block so berechnet, wie Elle4u schon geschrieben hat, bei Aufnahmen/Timeshift muss man die Aufnahmezeit aus den RecInfo TAP_Hdd_GetRecInfo( byte recSlot, TYPE_RecInfo *recInfo ) holen. Achtung, testen, welcher der beiden Rec Slots für dich in Farge kommt.

Beim Sprung für X Sekunden mit TAP_Hdd_ChangePlaybackPos( dword blockPos ); wird dann blockPos berechnet aus

playInfo ->currentBlock + (X * Blöcke pro Sekunde)

Alles klar? :thinker:

Erstmal Danke Elle4u und auch Dir. Die Berechnung auf diese Weise ist mir klar, ich bin mir aber nicht sicher ob jeder Block eine konstante Zeitspanne repräsentiert. Aufgrund der variablen Bitrate sollte eine Sequenz von relativ statischen Bildern weniger Platz in einem Block belegen als sehr dynamische Szenen. Letztendlich müssen ja immer 25 Bilder pro Sekunde dekodiert werden. Darüber hinaus ist die duration in den TYPE_(Play/Rec)Info Strukturen ganzzahlig, eine Aufnahme mit 45 Minuten hat also die gleiche Dauer wie eine Aufnahme die 45 Minuten und 1-59 Sekunden lang ist. Ich werde es mal mit obiger Formel testen und schauen, wie präzise die Sache ist. Ich hatte gehofft, es gäbe vielleicht eine undokumentierte API-Funktion, die einen Zeitindex als Parameter hat. Eigentlich möchte ich für das TAP, an dem ich gerade schreibe, nur wissen, ob beim Drücken der gelben Jump-Taste tatsächlich eine Bookmark angesprungen wurde oder ob lediglich 30 Sekunden vorgespult wurde.
Gruß,
Jetson

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#9

Beitrag von Elle4u » Fr 13. Jan 2006, 19:52

Jetson hat geschrieben:Eigentlich möchte ich für das TAP, an dem ich gerade schreibe, nur wissen, ob beim Drücken der gelben Jump-Taste tatsächlich eine Bookmark angesprungen wurde oder ob lediglich 30 Sekunden vorgespult wurde.
Du könntest im Header der Datei nachschauen, wo die Bookmarks gesetzt sind und diese Stellen mit der angesprungenen vergleichen. Oder habe ich da einen Denkfehler?
Gruß,
Elle4u

Benutzeravatar
Jetson
Vielantworter
Vielantworter
Beiträge: 763
Registriert: Fr 9. Dez 2005, 19:29
Receivertyp: TF5200PVRc
Receiverfirmware: TF-NCPCd 2.75

#10

Beitrag von Jetson » Fr 13. Jan 2006, 20:03

Elle4u hat geschrieben:Du könntest im Header der Datei nachschauen, wo die Bookmarks gesetzt sind und diese Stellen mit der angesprungenen vergleichen. Oder habe ich da einen Denkfehler?

Hatte ich auch schon dran gedacht, nur leider fehlt mir der Aufbau des Headers. Es können ja maximal 64 Bookmarks gesetzt werden, also vermute ich mal, dass es irgendwo im Header einen Bereich gibt, wo 64 Blocknummern gespeichert werden können. Das wäre natürlich optimal für das was ich machen möchte. Ich werde mal einen Binärvergleich derselben Aufzeichnung mit und ohne Bookmarks machen. Im Header stehen ja auch noch die ganzen Textinfos zur Sendung, aber die Bookmarks sollten eigentlich an einem festen Offset beginnen.
Gruß,
Jetson

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#11

Beitrag von Elle4u » Fr 13. Jan 2006, 20:22

Jetson hat geschrieben:Hatte ich auch schon dran gedacht, nur leider fehlt mir der Aufbau des Headers. Es können ja maximal 64 Bookmarks gesetzt werden, also vermute ich mal, dass es irgendwo im Header einen Bereich gibt, wo 64 Blocknummern gespeichert werden können. Das wäre natürlich optimal für das was ich machen möchte.
Es gibt da eine inoffizielle Übersicht von FireBird. Frag ihn mal, ob er sie Dir zur Verfügung stellt. Ich möchte sie nicht ohne Rückfrage rausgeben...

P.S. Da fällt mir gerade ein: Ob da die Bookmarks aufgeführt sind müßte ich erst noch checken... :wink:
Gruß,
Elle4u

Benutzeravatar
Gerti
Nicht mehr bei Topfield-Europe
<b>Nicht mehr bei Topfield-Europe</b>
Beiträge: 15742
Registriert: Fr 9. Dez 2005, 00:16
Receivertyp: Vu+ Uno 4k
Wohnort: Hürth
Kontaktdaten:

#12

Beitrag von Gerti » Fr 13. Jan 2006, 20:24


Benutzeravatar
Jetson
Vielantworter
Vielantworter
Beiträge: 763
Registriert: Fr 9. Dez 2005, 19:29
Receivertyp: TF5200PVRc
Receiverfirmware: TF-NCPCd 2.75

#13

Beitrag von Jetson » Fr 13. Jan 2006, 20:44

Habe gerade mal den Link von Gerti angeschaut. So wie es aussieht, stehen die Bookmarks dort nicht drin, es sei denn sie sind in dem Text-Bereich von EVT_INFO oder EXT_EVT_INFO mit drin. Kann es sein, dass die Bookmarks in einer separaten Datei abgelegt werden, die als Hidden markiert ist und deshalb unter Altair oder im Menü des Topfields nicht angezeigt wird?
Gruß,
Jetson

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#14

Beitrag von Elle4u » Fr 13. Jan 2006, 21:57

Jetson hat geschrieben:Habe gerade mal den Link von Gerti angeschaut. So wie es aussieht, stehen die Bookmarks dort nicht drin, es sei denn sie sind in dem Text-Bereich von EVT_INFO oder EXT_EVT_INFO mit drin. Kann es sein, dass die Bookmarks in einer separaten Datei abgelegt werden, die als Hidden markiert ist und deshalb unter Altair oder im Menü des Topfields nicht angezeigt wird?
Hm.
TFHead kann sie aber anzeigen...??? Daher kam ich drauf...
Gruß,
Elle4u

Benutzeravatar
Jetson
Vielantworter
Vielantworter
Beiträge: 763
Registriert: Fr 9. Dez 2005, 19:29
Receivertyp: TF5200PVRc
Receiverfirmware: TF-NCPCd 2.75

#15

Beitrag von Jetson » Fr 13. Jan 2006, 22:46

Elle4u hat geschrieben:Hm.
TFHead kann sie aber anzeigen...???

Leider nicht beim TF5200PVRc. Das Programm zeigt beim Laden der rec-Datei eine Fehlermeldung. Wahrscheinlich ist die Struktur des Headers etwas anders beim Kabelmodell. Interessant ist aber die Doku! Hatte eben auch schon bei meinem Binärvergleich die entsprechende Stelle im Header gefunden ab wo die Bookmarks gespeichert sind. In der Doku steht außerdem die Bookmarks sind im Header in der Einheit 1/10 s eingetragen. Damit bin ich eigentlich wieder am Anfang, denn wenn dort keine Blocknummern stehen, muß ich wieder wissen, bei welchem Zeitindex ich mich exakt befinde, um den Wert mit den Bookmark-Einträgen im Header vergleichen zu können. :(
Gruß,
Jetson

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#16

Beitrag von Elle4u » Fr 13. Jan 2006, 22:51

Schade... :(

Aber hauptsache ich hatte mal einen guten Einfall :D
Gruß,
Elle4u

Benutzeravatar
Jetson
Vielantworter
Vielantworter
Beiträge: 763
Registriert: Fr 9. Dez 2005, 19:29
Receivertyp: TF5200PVRc
Receiverfirmware: TF-NCPCd 2.75

#17

Beitrag von Jetson » Fr 13. Jan 2006, 22:56

Elle4u hat geschrieben: Aber hauptsache ich hatte mal einen guten Einfall :D

Auf alle Fälle!
Gruß,
Jetson

Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

#18

Beitrag von Harvey » Mo 16. Jan 2006, 23:54

Irgendwo hier im Forum gibt es die Info, dass der Beader vom 5200 4 Byte kürzer (oder länger?) ist. Deshalb der Fehlschlag von TFHead.

Das mit der Einheit 1/10s muss ich so hinnehmen, nur fehlt mir der Glaube. Um einen Bookmark so anzuspringen müsste die Datei durchsucht werden, und selbst für eine Binärsuche mit Schätzung des Einsprungpunktes geht mir das Springen zu schnell.
Gruss
Harvey

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#19

Beitrag von Elle4u » Mo 16. Jan 2006, 23:58

Harvey hat geschrieben:Irgendwo hier im Forum gibt es die Info, dass der Beader vom 5200 4 Byte kürzer (oder länger?) ist. Deshalb der Fehlschlag von TFHead.
Korrekt.
Es ist dieser Thread :wink:
Gruß,
Elle4u

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 29038
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

#20

Beitrag von FireBird » Mi 18. Jan 2006, 13:59

Hi,

leider habe ich den Thread erst jetzt gesehen.
Jetson hat geschrieben:Die Berechnung auf diese Weise ist mir klar, ich bin mir aber nicht sicher ob jeder Block eine konstante Zeitspanne repräsentiert.
Die Einheit eines Blocks ist 1 Sektor x 1 TS Paket = 512x188 = 94kB. Das macht die Sache zwar wunderbar unabhängig von der Clustergrösse einer HDD, hat aber keinen Bezug zur Zeit. Damit bleibt das Ausdividieren die beste Schätzung.

MfG. Alex

Antworten

Zurück zu „TF 5x00/6000 PVR TAP“