audiamus / AaxAudioConverter

Convert Audible aax files to mp3 and m4a/m4b
GNU General Public License v3.0
1.54k stars 117 forks source link

Probleme mit Kapitel Namen #27

Closed alurio closed 4 years ago

alurio commented 4 years ago

Hallo ! Ich benutze den Listen Audiobook Player aus dem Playstore. Deine Ansonsten grandiose Software produziert dort neuerdings den Fehler ,dass die Kapitel alle CHO heißen Hat wohl irgendwas was mit M4b zu tun,so verstehe ich jedenfalls dass was mir der Entwickler des Listen Audiobook Player geschrieben hat.

Der Fehler passiert bei frisch mit der neusten Version umgewandelten Büchern.

Komischerweise finde ich gerade nicht die Option dir einen File zu schicken.

What is happening is that these files were not tagged correctly with embedded chapters. Mp3 files can embedded multiple chapter information which my app will use, similar to an m4b file. Here in the file you sent me the id3 title tag is "Kapitel 1", however, it has a single embedded chapter with the title "ch0". From your original screenshot it seems that all of your audio files have a single embedded chapter named "ch0". I suppose what I can do is ignore it if there is only one embedded chapter and assume it is only correct when there are at least two chapters.

best, -jared

Kannst du da was machen ?

audiamus commented 4 years ago

Ah.

Die Schwierigkeit liegt hier in der Form der Auswertung durch diesen Player. Die eigentliche Information zum Titel des Stücks steckt bei MP3 ja im normalen Satz an Metadaten, codiert nach ID3v2.3 oder ID3v2.4. Das ist auch der Ort, wo die meisten Player suchen. Und dort steht der Kapitelname denn auch in voller Schönheit.

Die zusätzliche und separate Kapitel-Info außerhalb von ID3, die dem Stück mitgegeben wird, wurde in der Tat mit Version 1.12 neu gemacht und geändert. Sie dient gezielt dazu, die korrekte Spieldauer anzugeben. Denn MP3 hat dazu keine andere mir bekannte definierte Möglichkeit, außer der Abschätzung aus den Kenngrößen des Audiostroms. Und mehr als die Zeit lesen die anderen Medienspieler hier auch nicht heraus.

Entsprechend habe ich nun dort die präzise Zeitangabe für das Stück untergebracht. Der Text zu diesem Kapitel-Tag allerdings ist bislang ein reiner Platzhalter, den möglicherweise auch FFmpeg selbst vergibt, wohl in der Tat "Ch0".

Ich kann versuchen, den tatsächlichen Titel des Stücks noch mal dorthin zu kopieren und den Platzhalter "Ch0" zu ersetzen. Hier muss man allerdings aufpassen. Es wird immer nur genau ein Kapitel-Tag geschrieben, unabhängig vom inneren Aufbau des Stücks, denn dessen Zweck ist die Angabe der genauen Spieldauer des gesamten Stücks.

Das heißt auch, dass im Modus "Eine Datei" mit Format MP3 eine Kapitelstruktur zwar rein technisch unterzubringen wäre, dieses aber dann wieder auf Kosten der Angabe der Spieldauer gehen würde. Aber von der Kombination "Eine Datei" und MP3 kann ich sowieso immer nur abraten, da besonders ineffizient.

_Die nächste Version, an der ich fleißig arbeite, beschäftigt sich übrigens mit den Kapitelgrenzen. Insbesondere seit wir mit expliziten Kapitelnamen aus der content_metadata.json arbeiten, ja ursprünglich durch Deine Anregung entstanden, stelle ich fest, dass die Kapitelmarken nicht immer richtig positioniert sind. In Version 1.13 wird es daher eine Überprüfung dieser Stellen geben. Basierend auf einem einfachen heuristischen Ansatz werden die Kapitelmarken dann ggf. leicht verschieben. Grundlage dabei ist die Verteilung von Stille in unmittelbarer Nähe der ursprünglichen Kapitelmarke._

alurio commented 4 years ago

Hallo Audiamus!

Naja der Entwickler des Players macht ja selbst einen Lösungsvorschlag, ignorieren. Habe ihn darin bestärkt dass jetzt erstmal so zu lösen. Unabhängig davon würde ich mich freuen wenn du das andere auch noch versuchst und vielleicht in Version 1.13 unterbringst. Dass dies zu Verlusten im Modus eine MP3 führt dürfte den allermeisten Inklusive mir egal sein.

Wo steht denn die Spieldauer respektive der Platzhalter Cho drin? In der Software MP3 Tag, die ich benutze um Tags anzusehen und zu editieren wird mir diese Angabe nicht angezeigt.

Viele Grüße

Henning

audiamus notifications@github.com schrieb am Di., 30. Juni 2020, 09:54:

Ah.

Die Schwierigkeit liegt hier in der Form der Auswertung durch diesen Player. Die eigentliche Information zum Titel des Stücks steckt bei MP3 ja im normalen Satz an Metadaten, codiert nach ID3v2.3 oder ID3v2.4. Das ist auch der Ort, wo die meisten Player suchen. Und dort steht der Kapitelname denn auch in voller Schönheit.

Die zusätzliche und separate Kapitel-Info außerhalb von ID3, die dem Stück mitgegeben wird, wurde in der Tat mit Version 1.12 neu gemacht und geändert. Sie dient gezielt dazu, die korrekte Spieldauer anzugeben. Denn MP3 hat dazu keine andere mir bekannte definierte Möglichkeit, außer der Abschätzung aus den Kenngrößen des Audiostroms. Und mehr als die Zeit lesen die anderen Medienspieler hier auch nicht heraus.

Entsprechend habe ich nun dort die präzise Zeitangabe für das Stück untergebracht. Der Text zu diesem Kapitel-Tag allerdings ist bislang ein reiner Platzhalter, den möglicherweise auch FFmpeg selbst vergibt, wohl in der Tat "Ch0".

Ich kann versuchen, den tatsächlichen Titel des Stücks noch mal dorthin zu kopieren und den Platzhalter "Ch0" zu ersetzen. Hier muss man allerdings aufpassen. Es wird immer nur genau ein Kapitel-Tag geschrieben, unabhängig vom inneren Aufbau des Stücks, denn dessen Zweck ist die Angabe der genauen Spieldauer des gesamten Stücks.

Das heißt auch, dass im Modus "Eine Datei" mit Format MP3 eine Kapitelstruktur zwar rein technisch unterzubringen wäre, dieses aber dann wieder auf Kosten der Angabe der Spieldauer gehen würde. Aber von der Kombination "Eine Datei" und MP3 kann ich sowieso immer nur abraten, da besonders ineffizient.

Die nächste Version, an der ich fleißig arbeite, beschäftigt sich übrigens mit den Kapitelgrenzen. Insbesondere seit wir mit expliziten Kapitelnamen aus der content_metadata.json arbeiten, ja ursprünglich durch Deine Anregung entstanden, stelle ich fest, dass die Kapitelmarken nicht immer richtig positioniert sind. In Version 1.13 wird es daher eine Überprüfung dieser Stellen geben. Basierend auf einem einfachen heuristischen Ansatz werden die Kapitelmarken dann ggf. leicht verschieben. Grundlage dabei ist die Verteilung von Stille in unmittelbarer Nähe der ursprünglichen Kapitelmarke.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/audiamus/AaxAudioConverter/issues/27#issuecomment-651619000, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOUMUYPIT6CKWWGBBBBOWRDRZGK35ANCNFSM4OL46VBA .

audiamus commented 4 years ago

Wo steht denn die Spieldauer respektive der Platzhalter Cho drin?

Das ist halt wohl nicht wirklich genormt, und den allermeisten Tools unbekannt. Aber ffprobe kann es lesen.

Da findet man dann so etwas wie dies:

Duration: 00:05:20.28, start: 0.000000, bitrate: 66 kb/s Chapter #0:0: start 0.000000, end 320.204000 Metadata: title : ch0

alurio commented 4 years ago

Ah Okay

Ich habe gerade nochmal einen Test mit dem Voice Player aus dem Playstore genacht, der liest auch nur Cho aus. Damit haben jetzt 2 von 3 Playern die ich probiert habe, mit auch die populärsten, soweit ich das sehen kann, dieses Problem. Also wäre gut wenn du dass reparierst, wie vorgeschlagen, oder einfach wieder in den Zustand vor 1.12 zurückbsust,weil in der Abwägung korrekte Kapitellänge im zum Beispiel VLC versus sinvolle Kapitelbenennung, votiere ich natürlich für Letzteres.

Schon interessant wie immer wieder neues aufkommt. Du hättest wahrscheinlich auch nicht gedacht, dass sich dass Programm so auswächst

herzliche Grüße

Henning

audiamus notifications@github.com schrieb am Di., 30. Juni 2020, 10:45:

Wo steht denn die Spieldauer respektive der Platzhalter Cho drin?

Das ist halt wohl nicht wirklich genormt, und den allermeisten Tools unbekannt. Aber ffprobe kann es lesen.

Da findet man dann so etwas wie dies:

Duration: 00:05:20.28, start: 0.000000, bitrate: 66 kb/s Chapter #0:0: start 0.000000, end 320.204000 Metadata: title : ch0

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/audiamus/AaxAudioConverter/issues/27#issuecomment-651651053, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOUMUYK46G4S2PZWZYNTHD3RZGQ3PANCNFSM4OL46VBA .

audiamus commented 4 years ago

Die ID3-Tags habe ich nicht verändert. Gemäß gängiger MP3-Nutzung steht dort der Titel des Stücks. Werten Deine Player denn die Standard-Tags nicht aus? Oder nur, wenn diese zusätzlichen Kapitel-Metaeinträge nicht vorhanden sind? Damit würden sie aber eine Inkompatibilität zu allen anderen Playern schaffen.

Sicherlich ist so etwas historisch gewachsen. Rein technisch gesehen unterscheiden sich Hörbücher nicht von anderen Audio-Medien. Und was ich so in den verschiedenen Foren lese, stehen die Standard-Player wie VLC auch für MP3-Hörbücher hoch im Kurs.

Wie geschrieben kann ich versuchen, den tatsächlichen Titel des Stücks aus dem ID3-Tag zusätzlich in den Titel-Tag zu kopieren. Wenn das nicht hilft, wäre zukünftig noch eine Abschalt-Option des Kapiteleintrags denkbar, für diese speziellen Player. Denn die korrekte Zeitangabe ist schon wichtig. Der Punkt stand seit Ewigkeiten auf meiner Todo-Liste, aber es bedurfte eines externen Anstoßes, die Ursache für die falschen Angaben der Player zu finden.

audiamus commented 4 years ago

Schon interessant wie immer wieder neues aufkommt. Du hättest wahrscheinlich auch nicht gedacht, dass sich dass Programm so auswächst.

Ja, nicht schlecht. Wir näheren uns jetzt den 20,000 Downloads hier auf GitHub.

alurio commented 4 years ago

Hallo !

Ich weiß nicht, beim Listen Audiobook Player ist extra die Funktion id 3 Tags benutzen aktiviert, mit dem von mir beschriebenen Fehler, die Antwort des Entwicklers Jared Braken hab ich dir ja gepostet.

Vielleicht vernetzt ihr euch mal? Er reagiert immer schnell sitzt aber in den USA

jaredbracken@gmail.com

Viele Grüße

audiamus notifications@github.com schrieb am Di., 30. Juni 2020, 11:38:

Die ID3-Tags habe ich nicht verändert. Gemäß gängiger MP3-Nutzung steht dort der Titel des Stücks. Werten Deine Player denn die Standard-Tags nicht aus? Oder nur, wenn diese zusätzlichen Kapitel-Metaeinträge nicht vorhanden sind? Damit würden sie aber eine Inkompatibilität zu allen anderen Playern schaffen.

Sicherlich ist so etwas historisch gewachsen. Rein technisch gesehen unterscheiden sich Hörbücher nicht von anderen Audio-Medien. Und was ich so in den verschiedenen Foren lese, stehen die Standard-Player wie VLC auch für MP3-Hörbücher hoch im Kurs.

Wie geschrieben kann ich versuchen, den tatsächlichen Titel des Stücks aus dem ID3-Tag zusätzlich in den Titel-Tag zu kopieren. Wenn das nicht hilft, wäre zukünftig noch eine Abschalt-Option des Kapiteleintrags denkbar, für diese speziellen Player. Denn die korrekte Zeitangabe ist schon wichtig. Der Punkt stand seit Ewigkeiten auf meiner Todo-Liste, aber es bedurfte eines externen Anstoßes, die Ursache für die falschen Angaben der Player zu finden.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/audiamus/AaxAudioConverter/issues/27#issuecomment-651682329, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOUMUYK3VVYML5UMGSMVGO3RZGXALANCNFSM4OL46VBA .

alurio commented 4 years ago

Hey

Na wenn die korrekte Zeitangabe dir wichtig ist , bzw lange auf der To do Liste stand ist kopieren der Kapitelinformation bzw des Namens , dort wo ffmpg momentan noch Ch0 rein schreibt dann wohl der.richtige Lösungsansatz, ich hoffe das ist machbar und Wünsche mir dies hiermit herzlich für die kommende Programmversion

Viele Grüße

audiamus commented 4 years ago

Habe mir das gestern Abend angeschaut. Wird so eingebaut. Der Inhalt vom ID3-Tag "title" wird in den Tag "title" von Chapter Metadata kopiert.

alurio commented 4 years ago

Wunderbar!

Dann sollten die Hörbuchplayer, die ja offenbar von der Metadata und Cho schwer verwirrt sind wieder Ruhe geben.

Viele Grüße

audiamus commented 4 years ago

Eingebaut in 1.13.