Author Topic: Automatisches Anhängen mehrerer Dateien freischalten  (Read 146 times)

tom1632

  • Newbie
  • *
  • Posts: 20
Automatisches Anhängen mehrerer Dateien freischalten
« on: March 17, 2019, 01:19:26 PM »
Hallo zusammen,

bei der Version 2.7.1.von avidemux wurde das automatische anfügen von Dateien deaktiviert, weil es Probleme verursachen kann. Da es bei mir immer einwandfrei funktioniert hat, bekam ich folgenden Tipp, um es wieder zu aktivieren:

Quote
Replace #if 0 at https://github.com/mean00/avidemux2/blob/master/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndex.h#L47 with #if 1 and rebuild Avidemux.

Bei der Version 2.7.2 ist "#if 1" bereits eingetragen, das automatische zusammenführen von Dateien passiert dennoch nicht.

Was kann ich noch machen, um diese Funktion wieder zu erhalten?

Danke
Thomas

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 2643
Re: Automatisches Anhängen mehrerer Dateien freischalten
« Reply #1 on: March 17, 2019, 02:10:48 PM »
Wurden die alten *.idx2-Dateien gelöscht? Für 1 GiB +/- 1 MiB große, sequenziell benannte Stream-Fragmente sollte das automatische Anfügen im MpegTS-Demuxer eigentlich funktionieren.

Die Funktion ist nun auf Fragmentgrößen 256, 512 MiB, 1, 2 und 4 GiB beschränkt, weswegen sie auch wieder aktiviert werden konnte.

tom1632

  • Newbie
  • *
  • Posts: 20
Re: Automatisches Anhängen mehrerer Dateien freischalten
« Reply #2 on: March 17, 2019, 02:41:33 PM »
Es sind keine alten .idx2 - Dateien vorhanden. Die Dateien haben am Ende, vor ".ts", eine fortlaufende Nummerierung. Die Größe ist 1078067200 pro Datei (ermittelt mit ls -l in der bash); ausgenommen natürlich die letzte Datei eines Streams, die eine beliebige Größe haben kann.

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 2643
Re: Automatisches Anhängen mehrerer Dateien freischalten
« Reply #3 on: March 17, 2019, 03:04:13 PM »
Verstehe, die Fragmentgröße ist somit mehr als 3 MiB außerhalb der Toleranz. Man bräuchte 5 MiB Toleranz, um diesen Fall abzudecken. Welches Gerät ist dafür verantwortlich?

tom1632

  • Newbie
  • *
  • Posts: 20
Re: Automatisches Anhängen mehrerer Dateien freischalten
« Reply #4 on: March 17, 2019, 03:17:17 PM »
Von TechniSat der TechniStar S1

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 2643
Re: Automatisches Anhängen mehrerer Dateien freischalten
« Reply #5 on: March 17, 2019, 07:03:49 PM »
Wenn man die Aufnahmen auf ein anderes Speichermedium, zum Beispiel auf ein Netzlaufwerk, Geräteseitig kopiert (Kapitel 8.4.3 der Bedienungsanleitung), bekommt man trotzdem immer gesplittete Streams?

Um die Toleranz weiter zu erhöhen, kann man in den Abschnitten

Code: [Select]
        // ____________________
        // Multi loading
        // ____________________
        uint32_t tabSize;
        std::string leftPart(left);
        std::string rightPart(right);
        delete [] left;
        delete [] right;
        left=NULL;
        right=NULL;
   
        aprintf( "\nAuto adding: \n" );
        uint32_t current=base;
        _curFd = 0;
        uint64_t total=0;
        uint64_t threshold,tolerance;
        threshold=tolerance=1;
        threshold<<=28;
        tolerance<<=20;

von fileParser::open in avidemux_core/ADM_coreDemuxerMpeg/src/dmx_io.cpp und

Code: [Select]
    // check whether the filesize approx. matches 2^n GiB, the usual
    // threshold for automatically split streams
    bool success=false;
    uint64_t fileSize,threshold,tolerance;
    threshold=tolerance=1;
    threshold<<=28; // we start at 256 MiB, this value is hardcoded in some devices
    tolerance<<=20; // 1 MiB

von ADM_probeSequencedFile in avidemux_core/ADM_coreUtils/src/avidemutils.cpp die Anzahl von Stellen, um die Bits von "tolerance" nach links verschoben werden, von 20 auf 23 erhöhen = 8 MiB Toleranz.

tom1632

  • Newbie
  • *
  • Posts: 20
Re: Automatisches Anhängen mehrerer Dateien freischalten
« Reply #6 on: March 19, 2019, 06:28:02 PM »
Das Kopieren von Aufnahmen auf ein anderes Speichermedium wird in der Bedienungsanleitung zwar angesprochen, es funktioniert aber nicht. Auch eine Suche mittels Google hat da keinen Erfolg gebracht.

Die Anpassung der Toleranzgrenzen funktioniert aber perfekt. Die TS-Files werden wieder autom. aneinandergefügt wie zuvor. Perfekt.

Vielen Dank für die rasche und erfolgreiche Hilfe!

Mfg, Thomas

Anfänger

  • Newbie
  • *
  • Posts: 1
Re: Automatisches Anhängen mehrerer Dateien freischalten
« Reply #7 on: March 23, 2019, 10:39:44 AM »
Und wie funktioniert das unter Windows?

(Ich habe gerade von Version 2.7.0 auf 2.7.3 gewechselt & muss jede Datei einzeln anhängen.)

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 2643
Re: Automatisches Anhängen mehrerer Dateien freischalten
« Reply #8 on: March 23, 2019, 11:13:17 AM »
Der Patch, der die Toleranzgrenze ab 1 GiB Fragmentgröße von 1 MiB auf 8 MiB anhebt ist in 2.7.3 bereits enthalten. Die Voraussetzungen sind also:

  • Alle Fragmente bis auf das letzte sind einheitlich 256, 512 MiB bzw. 1, 2 oder 4 GiB groß
  • Die Abweichung von der Zielgröße darf bis einschließlich 512 MiB Fragmentgröße 1 MiB nicht überschreiten, ab 1 GiB beträgt sie 8 MiB
  • Das letzte Fragment ist kleiner als die vorherigen.

Die alten Indexdateien müssen vorher gelöscht worden sein, dann sollte die Abfrage kommen.

Wie groß sind denn die Fragmente im vorliegenden Fall genau?

Um Missverständnissen vorzubeugen: Die Funktionalität ist nur für den MPEG-PS und MPEG-TS Demuxer gegeben, andere Formate sind dafür prinzipbedingt nicht ausgelegt.