GithubHelp home page GithubHelp logo

Problem mit kapitelnamen bei Hörbüchern mit mehr als 5 Teilen ( hier Jahre des Jägers von Don Winslow und Es von Steven King about aaxaudioconverter HOT 18 CLOSED

audiamus avatar audiamus commented on July 16, 2024
Problem mit kapitelnamen bei Hörbüchern mit mehr als 5 Teilen ( hier Jahre des Jägers von Don Winslow und Es von Steven King

from aaxaudioconverter.

Comments (18)

audiamus avatar audiamus commented on July 16, 2024 1

Hier die Dateinamen und alle 13 Metadaten Dateien als Zip

Ich danke Dir. Das wird jetzt ein wenig dauern, bis ich mir meine Test-aax-Dateien so zurecht gebogen habe, dass sie auch von ihren Tags her passen. Auf den ersten Blick sehe ich nämlich wieder keinerlei Ungereimtheiten. 😕

Falls alles nichts hilft, werde ich einen Logging-Mechanismus einbauen, evtl als Beta. Spätestens damit und ggf in mehreren Stufen sollte es möglich sein, die Ursache zu finden. Aber vielleicht geht es ja auch schneller...

from aaxaudioconverter.

audiamus avatar audiamus commented on July 16, 2024

Schau es dir an, vielleicht kriegst du das Mysterium ja gelöst.

Vielen Dank erst einmal für die Daten.

Das ist schon sehr merkwürdig. Die Inhalte dieser Dateien erscheinen mir in Ordnung.

Jetzt könnte noch sein, dass die Zuordnung der Dateien zwischen aax und json nicht funktioniert.

Möglicherweise gibt es Besonderheiten in der Namensgebung, die in meinen Beispielen nicht auftauchen und auf die AAX Audio Converter nicht vorbereitet ist.

Um das herauszufinden, könntest Du vielleicht noch folgendes bereitstellen:

Für die beiden Bücher:

  1. Sämtliche 13 content_meta_asin.json als zip packen und hier hochladen. json nimmt GitHub ja offensichtlich nicht, aber zip geht. Ein zip für alle reicht.
  2. Dazu sämtliche 13 vollständige .aax-Dateinamen, ohne Pfad, als Text, wobei ich davon ausgehe, dass alle im selben Ordner liegen.

Damit kann ich eines meiner Bücher 13-fach kopieren, und die Kopien umbenennen auf Deine .aax-Namen. Zusammen mit Deinen original content_meta bin ich dann so nah dran wie möglich, um es nachzuspielen.

Bei Es ist mir noch folgender Code aufgefallen "content_format":"AAX_44_64"

Die übliche Kombination wäre 22 kHz mit 64 kbit/s, und 44 kHz mit 128 kbit/s, doch es gibt wohl Variationen. Es scheint mir aber so, dass die alle unter "Hoher Qualität" eingereiht sind.

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

Hallo Audiamus

Hier die Dateinamen

Es - Teil 1_B004WNC3U6_LC_128_44100_Stereo.aax
Es - Teil 2_B004WNC40U_LC_128_44100_Stereo.aax
Es - Teil 3_B004WNC4GO_LC_128_44100_Stereo.aax
Es - Teil 4_B004WNC59A_LC_128_44100_Stereo.aax
Es - Teil 5_B004WNC6CQ_LC_128_44100_Stereo.aax
Es - Teil 6_B004WNC72K_LC_128_44100_Stereo.aax
Es - Teil 7_B004WNC7SE_LC_128_44100_Stereo.aax

Jahre des Jägers - T_B07P43X7WG_LC_128_44100_Stereo.aax
Jahre des Jägers - T_B07P55DJQT_LC_128_44100_Stereo.aax
Jahre des Jägers - T_B07P56L4K9_LC_128_44100_Stereo.aax
Jahre des Jägers - T_B07P56WBHK_LC_128_44100_Stereo.aax
Jahre des Jägers - T_B07P558R23_LC_128_44100_Stereo.aax
Jahre des Jägers - T_B07P578Z9F_LC_128_44100_Stereo.aax

und hier alle 13 Metadaten Dateien als Zip

content_metadata ES und jahre des Jägers .zip

Alle Dateien liegen in den Standard Verzeichnissen local state content. bzw Filescache.

Viel Erfolg !

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

Okay, bin gespannt woran es liegt, berichte mal, wenn du es ergründet hast.

from aaxaudioconverter.

audiamus avatar audiamus commented on July 16, 2024

Ich denke, ich hab's. Alle Teile, die die Kapitelnamen ignorieren, zeigen eine Gemeinsamkeit in der Analyse, die AAX Audio Converter für die zugehörigen content_meta.json durchführt. Jeweils ein Kapitel weist eine Länge von 0 ms aus. Das ist natürlich Unsinn, und ein Fehler seitens Audible. Der Kapitelname, der da eigentlich gesprochen werden müsste, wird dann wohl dem vorigen oder dem nächsten Kapitel zugeschlagen.

Wie damit umgehen? Bisher führt das zum Abbruch und Rückgriff auf die AAX-Kapitelnummern, bei mehrteiligen Büchern dann für das ganze Buch.

Was man vielleicht machen könnte, ist de-facto leere Audio-Dateien anlegen, mit einem Audiostrom minimaler Länge (falls das möglich ist), aber allen Tags.

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

Hallo Audiamus!

Hmm, schwer zu lösen, wenn Audible da Mist gebaut hat. Aber jetzt weiß man zumindest wo das Problem liegt. Kannst ja mal ausprobieren, ob das mit der quasi leeren Datei funktioniert.
Gruß !

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

Gutem Morgen!

Eine Sache noch,die mir gerade einfällt. Ich habe noch ein Buch, da sind die Kapitel auch schlampig umgesetzt. Shogun von James Clavel. Da gibt es mehrere 0 Sekunden lange Kapitel die der AAx Audioconverte auch tatsächlich erstellt. Die Information die eigentlich in die Leeren Kapitel gehört hängt dann am Nachfolgendem Kapitel dran. Warum er sich da anders verhält als bei King/ Winslow ist ja vielleicht interessant oder ?
Gruß

from aaxaudioconverter.

audiamus avatar audiamus commented on July 16, 2024

Da gibt es mehrere 0 Sekunden lange Kapitel die der AAx Audioconverte auch tatsächlich erstellt.

Die Entscheidung fällt in AudibleAppContentMetadata.cs, Zeilen 45-47. Findet sich in der Kapitelliste in content_meta.json mindestens ein Kapitel, wo length_ms gleich 0 oder der title leer ist, dann wird der Versuch, die Kapitelnamen zu verwenden, abgebrochen.

bool hasBlanks = metaChapters
  .Where (c => string.IsNullOrWhiteSpace (c.title) || c.length_ms == 0).Any ();
if (hasBlanks)
  return;

Nur wenn solche Anomalien nicht auftreten, werden die hier gefundenen Kapitel als Chapters2 in den zu bearbeitenden Buchteil übernommen, Zeile 56 a.a.O.

Das widerspricht aber ein wenig Deiner Beobachtung. Wie also sieht die content_meta.json für Dein Beispiel genau aus, wo die Länge 0 akzeptiert zu werden scheint?

In den Code-Zeilen im Auszug hier kommen Lambda-Ausdrücke und Language Integrated Queries (LINQ) zum Einsatz, eine geniale Erweiterung der eigentlich objektorientierten Sprache C# um Elemente einer "funktionalen" Sprache. Die LINQ-Methoden wie Where() oder Any() sind sogenannte Extension Methods, mit denen sich ein "Fluent API" (jeder nächste Funktionsaufruf verwendet das Ergebnis des vorigen) besonders gut lesbar implementieren lässt.

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

Hallo Audiamus !

Hier die Content Metas von Shogun, dort habe ich wie gesagt beobachtet, das mehrere Dateien mit allen Tags aber der Länge 0 Sekunden erstellt wurden, ist in der Audible Bibliothek genauso gewesen, also schlampig implementiert.

content_metadata shogun .zip

Gruß !

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

Hallo !

Ich rippe Shogun gerade nochmal, es gib mehrere Phänomene :
a) Das Kapitel Book two wird erstellt, hat eine Länge von 2 Sekunden, enthält aber nur stille. Die Stelle wo Der Sprecher part 2 sagt hängt dafür an Chapter 10 dran
Book 3 taucht 2x auf ( in der Zählung des AAX Audi Converters sowohl Track 34 als auch Track 36 , länge jeweils 0 Sekunden. Die gesprochen Information Book 3 hängt an chapter 30 dran in der Zählung des AAX Audiconverter Track 35 Book 3 taucht übrigens auch nochmal auf, als Track 49, ebenfalls mit Länge 0:00 Minuten Vielleicht ist da der Übergang zwischen Download Teilen? Bei Book 4, Book 6 und Book 5 übrigens genauso, Tracks werden erstellt sind aber 0 Sekunden lang. Warum er dass hier macht bei den anderen beiden Büchern aber die Konvertierung abbricht ist interessant.

.
b)

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

ps
Book Two tauch auch ein zweites mal als 0 sekunden Datei auf, als Track 19

Also wie gesagt hier gibt es leere Dateien.

from aaxaudioconverter.

audiamus avatar audiamus commented on July 16, 2024

Dankeschön. Ich werde versuchen, jede einzelne Deiner Beobachtungen im Debugger nachzuvollziehen. Das sollte auch möglich sein, schließlich arbeitet das Programm ja deterministisch. 😎

from aaxaudioconverter.

audiamus avatar audiamus commented on July 16, 2024

So, alles erklärbar. ☺️

Die Kapitel, die nachher als 0 sec erscheinen, sind tatsächlich mit der Länge 1ms angegeben. Und 1 ms scheint FFmpeg auch als Parameter zu akzeptieren, sonst hättest Du Audio-Datei dafür nicht bekommen.

Das doppelte "Book Two" usw. hängt tatsächlich mit der Aufspaltung in Teile zusammen. Die Teile folgen nicht der Buchstruktur. "Book Two" beginnt bereits in Teil 1, zwischen Kapitel 9 und 10. Beim 2. Teil, der mit Kapitel 16 beginnt, wird "Book Two" nochmal vorangestellt. Wenn Du jetzt "Kurze" und sehr "Kurze Kapitel" auf den voreingestellten Werten lässt, könnte es sein, dass AAX Audio Converter diese Wiederholungen mit raus filtert, aber nur dann, wenn die "Book"-Ansage mit in die gut 7 Sekunden passt, die für die Einleitung des jeweils nächsten Teils angegeben ist. (Man kann übrigens in VLC nachschauen, aus welchem Teil ein Kapitel stammt und wo der Übergang ist. Ich vergebe für jeden Buchteil (aax-Datei) eine neue Disc-Number, so wie beim klassischen Doppel- und Dreifach-CD/LP-Album. )

Für mich heißt das jetzt, dass die Kapitel, die tatsächlich auf 0 ms stehen, auf 1ms hoch gesetzt werden. Dann müsste es durchlaufen, und alle Kapiteltexte sollten sich in den erzeugten Dateien wiederfinden..

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

Fein, na Wenn sich das machen lässt, 0 MS Abgaben durch das Programm " künstlich " hochzusetzen ist das ja super, dann ist das Problem ja lösbar und meine Zuarbeit hat sich gelohnt Freue mich dann auf auf Version 1.8

from aaxaudioconverter.

audiamus avatar audiamus commented on July 16, 2024

Mit der heute veröffentlichten Version 1.8 nun erledigt.

from aaxaudioconverter.

alurio avatar alurio commented on July 16, 2024

from aaxaudioconverter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.