Index

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Hulk verschob Seite Index.vdr nach Index: Release 2.0.0)
Zeile 1: Zeile 1:
 
Die Indexdatei index.vdr wird automatisch vom [[VDR]] für jede Aufzeichnung erstellt. Über diese Indexdatei spult der VDR vor- und rückwärts oder führt Schnitte aus.
 
Die Indexdatei index.vdr wird automatisch vom [[VDR]] für jede Aufzeichnung erstellt. Über diese Indexdatei spult der VDR vor- und rückwärts oder führt Schnitte aus.
Soll die Indexdatei neu erstellt werden, hilft das Tool [[genindex]].
+
Soll die Indexdatei neu erstellt werden, hilft VDR.
 +
vdr --genindex=/path/to/recording/2013-11-06.04.18.50-0.rec/
  
 
Die Datei index.vdr ist eine Lookup-Tabelle der Speicherpositionen der Frames in den VDR-Stream Dateien (00x.vdr). Die Datei selber ist ein flaches Array vieler Indexeinträge mit folgender Struktur des jeweiligen Indexeintrages. Jeder Indexeintrag hat die Gesamtgröße von acht Bytes.
 
Die Datei index.vdr ist eine Lookup-Tabelle der Speicherpositionen der Frames in den VDR-Stream Dateien (00x.vdr). Die Datei selber ist ein flaches Array vieler Indexeinträge mit folgender Struktur des jeweiligen Indexeintrages. Jeder Indexeintrag hat die Gesamtgröße von acht Bytes.

Version vom 13. November 2013, 15:09 Uhr

Die Indexdatei index.vdr wird automatisch vom VDR für jede Aufzeichnung erstellt. Über diese Indexdatei spult der VDR vor- und rückwärts oder führt Schnitte aus. Soll die Indexdatei neu erstellt werden, hilft VDR.

vdr --genindex=/path/to/recording/2013-11-06.04.18.50-0.rec/

Die Datei index.vdr ist eine Lookup-Tabelle der Speicherpositionen der Frames in den VDR-Stream Dateien (00x.vdr). Die Datei selber ist ein flaches Array vieler Indexeinträge mit folgender Struktur des jeweiligen Indexeintrages. Jeder Indexeintrag hat die Gesamtgröße von acht Bytes.

struct tIndex 
{ int offset;      //(signed 32bit/4byte)   Speicherposition des Frame, relativ zum Dateianfang der jeweiligen Datei, verweist auf PES header
   uchar type;     //(8bit/1byte)           Type des Frames (no frame=0, I=1, P=2, B=3) nur an I-Frames kann geschnitten oder können beim Spulen ansprungen werden.
   uchar number;   //(8bit/1byte)           Nummer der Datei (00x.vdr) in der das Frame zu finden ist.
   short reserved; //(16bit/2byte) 
};

Bedingt durch die vorzeichenbehaftete Definition der Variablen offset ergibt sich eine Größenbegrenzung der VDR-Stream-Dateien (00x.vdr) von max. 2^31, also 2.147.483.648 Bytes (2GB).

Beispiel einer zusätzlichen Anwendung:

  • Dateigröße der index.vdr / 8 Byte = Anzahl der Frames der Aufnahme
  • Anzahl der Frames der Aufnahme / 25 = Länge der Aufnahme in Sekunden
  • Größe der index.vdr in Bytes / 12000 = Länge der Aufnahme in Minuten

Probleme

Diese Größenberechnung funktioniert allerdings nicht für Radioaufnahmen. Denn nur in Videoaufnahmen finden sich die I-Frames, für die die obigen Berechnungen gelten. Deshalb ist die angegebenen Spieldauer und damit auch die Spulgeschwindigkeiten bei vdr falsch.

Eine korrigierte index.vdr wird mit dem Audioindexer-patch erstellt, so dass auch Radioaufnahmen korrekt funktionieren.