Bug 485636

Summary: ref: Bug 451787 this bug referes to chapters in m4b files, they can also be applied in mp3 files
Product: [Applications] kid3 Reporter: Lee <aussiefeld>
Component: generalAssignee: Urs Fleisch <ufleisch>
Status: RESOLVED NOT A BUG    
Severity: wishlist    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: attachment-3467932-0.html
attachment-3468566-0.html
attachment-3484922-0.html
image.png
image.png
image.png
attachment-3511048-0.html
attachment-94045-0.html
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
attachment-4054799-0.html

Description Lee 2024-04-16 14:48:13 UTC
chapters in m4b files can be applied to mp3 files using ffmpeg but are not visin]ble in kid3

SUMMARY
after adding chapters to m4b files they can be written to mp3 files using the following command but kid3 can not edit the mp3 chapter data



STEPS TO REPRODUCE
1. create m4b file with chapter data, this is possible using either kid3 or the latest beta of vlc or using ffmpeg
2. convert all m4b files in current directory to mp3 with the following command

for i in *.m4b; do ffmpeg -i "$i" "${i%.*}.mp3"; done

3. this writes the chapter data into the new mp3 files



OBSERVED RESULT
the outputed files have chapter data viewable in applications able to read it but kid3 shows this chapter data garbled

EXPECTED RESULT
kid3 should be able to read and edit this data

SOFTWARE/OS VERSIONS
Windows: 11 64bit

(available in About System)
KDE Plasma Version:  N/A
KDE Frameworks Version: N/A
Qt Version: N/A

ADDITIONAL INFORMATION
Comment 1 Urs Fleisch 2024-04-16 16:56:55 UTC
MP4 chapters are supported by mp4v2, but unfortunately not (yet) by TagLib. So you have to go to the plugin tab in the settings and check Mp4v2Metadata (and make sure that it comes before TaglibMetadata). Then restart Kid3 and you should be able to read chapters.
Comment 2 Urs Fleisch 2024-04-16 16:58:48 UTC
Sorry, did not realize that it is about MP3, I will have a look at it.
Comment 3 Lee 2024-04-16 17:06:46 UTC
Created attachment 168583 [details]
attachment-3467932-0.html

yes m4b files work (this bug is not about m4b files)

mp3 files can see at least some of the chapter data strangely, the linked
bug report refers to getting chapter data working for m4b files

On Wed, 17 Apr 2024 at 02:58, Urs Fleisch <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=485636
>
> --- Comment #2 from Urs Fleisch <ufleisch@users.sourceforge.net> ---
> Sorry, did not realize that it is about MP3, I will have a look at it.
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 4 Lee 2024-04-16 17:12:41 UTC
Created attachment 168585 [details]
attachment-3468566-0.html

this is true, i have
checked Mp4v2Metadata and
made sure that it comes before TaglibMetadata

 i did this so i can see chapter data for m4b files however i don't see it
working for mp3 files
i am on version git20230226

On Wed, 17 Apr 2024 at 02:56, Urs Fleisch <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=485636
>
> --- Comment #1 from Urs Fleisch <ufleisch@users.sourceforge.net> ---
> MP4 chapters are supported by mp4v2, but unfortunately not (yet) by
> TagLib. So
> you have to go to the plugin tab in the settings and check Mp4v2Metadata
> (and
> make sure that it comes before TaglibMetadata). Then restart Kid3 and you
> should be able to read chapters.
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 5 Urs Fleisch 2024-04-16 18:13:07 UTC
I have not many MP4 audiobooks, but I converted two of them and the MP3 was OK and was correctly read by Kid3 without anything garbled. Do you have some test files to convert?
Comment 6 Lee 2024-04-16 19:48:18 UTC
Created attachment 168589 [details]
attachment-3484922-0.html

Is my version new enough to see the results you do for mp3 files? If not,
can I get a url to get your version so I can test?
i am unsure how to create chaptered m4b files other than with open audible
from my purchased audiobooks

or

the other option I see is using ffmpeg (which is what openaudible uses.. i
found this out through correspondence with them)
i have not tried using ffempeg to manually add chapter data to files but
this link looks like it might do the trick
https://unix.stackexchange.com/questions/653990/add-chapter-metadata-to-audiobook-using-ffmpeg

i am happy to send a file i am concerned about sending copyrighted files




On Wed, 17 Apr 2024 at 04:13, Urs Fleisch <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=485636
>
> --- Comment #5 from Urs Fleisch <ufleisch@users.sourceforge.net> ---
> I have not many MP4 audiobooks, but I converted two of them and the MP3
> was OK
> and was correctly read by Kid3 without anything garbled. Do you have some
> test
> files to convert?
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 7 Lee 2024-04-16 22:01:04 UTC
Created attachment 168593 [details]
image.png

i created chapters 00 to 17 of 1min each in the m4b using kid3
and converted to mp3 under ubuntu using
    for i in *.m4b; do ffmpeg -i "$i" "${i%.*}.mp3"; done
chapters added
[00:00.00]Zeroth
[00:01.00]First
[00:02.00]Second
[00:03.00]Third
[00:04.00]Fourth
[00:05.00]Fifth
[00:06.00]Sixth
[00:07.00]Seven
[00:08.00]Eight
[00:09.00]Ninth
[00:10.00]Tenth
[00:11.00]Eleventh
[00:12.00]Twelth
[00:13.00]Thirteen
[00:14.00]Fourten
[00:15.00]Fiften
[00:16.00]Sixteen
[00:17.00]Seventeen
[00:17.00]

[image: image.png]

[image: image.png]
[image: image.png]

it looks like chapter editing in m4b files is significantly easier than mp3
files as all chapters are visible on the same dialogue for m4b files
but my test shows i can edit manually created chapters what confused me is
the same process is done two different ways even though the process for m4b
and mp3 files is essentially the same but in the app it uses different
dialogues....
doing more testing on files i convert from m4b files




On Wed, 17 Apr 2024 at 04:13, Urs Fleisch <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=485636
>
> --- Comment #5 from Urs Fleisch <ufleisch@users.sourceforge.net> ---
> I have not many MP4 audiobooks, but I converted two of them and the MP3
> was OK
> and was correctly read by Kid3 without anything garbled. Do you have some
> test
> files to convert?
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 8 Lee 2024-04-16 22:01:04 UTC
Created attachment 168594 [details]
image.png
Comment 9 Lee 2024-04-16 22:01:04 UTC
Created attachment 168595 [details]
image.png
Comment 10 Lee 2024-04-16 22:15:56 UTC
Created attachment 168597 [details]
attachment-3511048-0.html

in m4b files, there is a single entry called chapters, editing this shows
all chapters with their timestamps
in mp3 files, each chapter is shown as a separate entry on the properties
list and you have to edit each one separately to see the chapter text and
timing also shown are two offset values that appear to be set to all F's
and have no purpose??

On Wed, 17 Apr 2024 at 04:13, Urs Fleisch <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=485636
>
> --- Comment #5 from Urs Fleisch <ufleisch@users.sourceforge.net> ---
> I have not many MP4 audiobooks, but I converted two of them and the MP3
> was OK
> and was correctly read by Kid3 without anything garbled. Do you have some
> test
> files to convert?
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 11 Urs Fleisch 2024-04-20 13:52:02 UTC
Kid3 gives you full control over all the frames in a tag, therefore they are edited in exactly the structure how they are represented in the file. In MP4 files, the chapter information is in its own structure separated from the metadata atoms, so it makes sense to edit this in a single place. For MP3 files, this would be probably easier, however, it is not possible, because the TOC and Chapter frames are not so simple. They can contain embedded frames, typically the TOC frame contains a title frame, and each Chapter frame contains a title frame, but could also have a Picture and a URL frame embedded, as an example. So the structure can be arbitrarily complex, and in order to allow editing such a hierarchical complex structure, the user interface gets more complex too.
I have never seen an MP3 audio book where the offset fields are used, therefore they are set to the inactive value FFFFFFFF. This may seem strange, but since Kid3 allows editing of all fields inside the frames, they have to be shown too.
So from the discussion I would conclude that the converted chapter information is not garbled, but comes in a different, more complex format given by that unofficial addition to the ID3v2 standard. It can be correctly edited using Kid3, so I would not call this a bug.
Comment 12 Lee 2024-04-20 21:18:29 UTC
Created attachment 168723 [details]
attachment-94045-0.html

Thanks for the explanation.
it is unfortunate that each chapter has to be opened separately to see and
edit it vs being able to see the chapter data for the whole file at the
same time without having to open each chapter separately
if anyone needs to do a lot of editing of chapter data this could become
needlessly time consuming imagine if you needed to change the
capitalisation of the 1st character of each chapter as an example? in one
format it is significantly easier to perform compared to the other....

On Sat, 20 Apr 2024 at 23:52, Urs Fleisch <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=485636
>
> Urs Fleisch <ufleisch@users.sourceforge.net> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>              Status|REPORTED                    |RESOLVED
>          Resolution|---                         |NOT A BUG
>
> --- Comment #11 from Urs Fleisch <ufleisch@users.sourceforge.net> ---
> Kid3 gives you full control over all the frames in a tag, therefore they
> are
> edited in exactly the structure how they are represented in the file. In
> MP4
> files, the chapter information is in its own structure separated from the
> metadata atoms, so it makes sense to edit this in a single place. For MP3
> files, this would be probably easier, however, it is not possible, because
> the
> TOC and Chapter frames are not so simple. They can contain embedded frames,
> typically the TOC frame contains a title frame, and each Chapter frame
> contains
> a title frame, but could also have a Picture and a URL frame embedded, as
> an
> example. So the structure can be arbitrarily complex, and in order to allow
> editing such a hierarchical complex structure, the user interface gets more
> complex too.
> I have never seen an MP3 audio book where the offset fields are used,
> therefore
> they are set to the inactive value FFFFFFFF. This may seem strange, but
> since
> Kid3 allows editing of all fields inside the frames, they have to be shown
> too.
> So from the discussion I would conclude that the converted chapter
> information
> is not garbled, but comes in a different, more complex format given by that
> unofficial addition to the ID3v2 standard. It can be correctly edited using
> Kid3, so I would not call this a bug.
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 13 Urs Fleisch 2024-04-22 17:53:13 UTC
I understand your point. For MP4 chapters, I have re/ab-used the dialog from synchronized lyrics and event timing codes. This has quite a few advantages, you can see and add chapters on the fly when the track is played, and you can import and export LRC files. Probably, it would have been better to just use one of this two mentioned frames for chapters in an audio book instead of inventing such a complicated frame structure. I will have a look if I can provide an alternative view with such a dialog for MP3 chapters too.
Comment 14 Lee 2024-04-22 18:31:30 UTC
that sounds promising
idealy it should be possible to move between chapter text with a single click in the same way you can move between the track title field and the artist text
having the chapter data in a seperate location is while not ideal it is ok, but more than a single click to select the text field to enter chapter text........
Comment 15 Urs Fleisch 2024-09-18 16:59:56 UTC
I have now added a "Chapters" pseudo frame to edit ID3v2 CTOC and CHAP frames using the same dialog as for MP4 chapters. Could you please have a look at version git20240918 from https://sourceforge.net/projects/kid3/files/kid3/development/.
Comment 16 Lee 2024-09-19 12:19:07 UTC
Created attachment 173865 [details]
image.png

i downloaded kid3-3.9.5-win32-x64 and when i looked at an mp3 that has
chapters I could not see a difference in how the chapters were displayed in
the meta data in this version compared to 3.9.4
I am confused why you show the identifier in the list of metadata rather
than the actual data that contains the chapter text....

i may have misunderstood and am looking for/at the wrong things?
i am however willing to take some time to provide feedback on this topic

ver 3.9.4
[image: image.png]
[image: image.png]

ver 3.9.5
[image: image.png]

[image: image.png]
editing an m4b file
ver 3.9.4
[image: image.png]

[image: image.png]
ver 3.9.5
[image: image.png]


it is still a lot more cumbersome to edit the chapter text this way for mp3
files
the chapter data is still shown in the main dialogue for each separate
chapter
i can not see what has changed for the mp3 chapter metadata....

thoughts....
instead of showing and editing the chapter identifier in the main dialogue,
show and edit the chapter text in the main dialogue but allow the edit
dialogue as is so people can edit start and end timing for the selected
chapter this way it is quick to change chapter text which is what most
people will want to do but still allows people to edit timing if they need
it....



On Thu, 19 Sept 2024 at 02:59, Urs Fleisch <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=485636
>
> --- Comment #15 from Urs Fleisch <ufleisch@users.sourceforge.net> ---
> I have now added a "Chapters" pseudo frame to edit ID3v2 CTOC and CHAP
> frames
> using the same dialog as for MP4 chapters. Could you please have a look at
> version git20240918 from
> https://sourceforge.net/projects/kid3/files/kid3/development/.
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 17 Lee 2024-09-19 12:19:08 UTC
Created attachment 173866 [details]
image.png
Comment 18 Lee 2024-09-19 12:19:08 UTC
Created attachment 173867 [details]
image.png
Comment 19 Lee 2024-09-19 12:19:08 UTC
Created attachment 173868 [details]
image.png
Comment 20 Lee 2024-09-19 12:19:08 UTC
Created attachment 173869 [details]
image.png
Comment 21 Lee 2024-09-19 12:19:08 UTC
Created attachment 173870 [details]
image.png
Comment 22 Lee 2024-09-19 12:19:08 UTC
Created attachment 173871 [details]
image.png
Comment 23 Urs Fleisch 2024-09-19 12:59:54 UTC
With the new version, the "Chapter" and "Table of Contents" frames are still visible, but you do not have to use them. In addition, there should be a new "Chapters" (plural) pseudo frame which you can edit in the same way as in MP4, and it will create the CHAP and CTOC frames automatically. If you cannot see it, you probably do not have the "top level" flag set in the "Table of Contents", it will only take such CTOC frames, because others may be part of a subhierarchy. So please check again if you have "top level" set and if you can edit the "Chapters" frame.
Comment 24 Urs Fleisch 2024-09-19 13:01:52 UTC
P.S.: You must use https://sourceforge.net/projects/kid3/files/kid3/development/kid3-git20240918-win32-x64.zip, not 3.9.5.
Comment 25 Lee 2024-09-19 14:53:29 UTC
Created attachment 173875 [details]
image.png

ok..... now running

Kid3 git20240918
top level in CTOC was already checked for this mp3
[image: image.png]

i can edit chapter data in the following frame
[image: image.png]
this is much better and I see no need to use or show separate chapter data
in the main properties for mp3 files if this is implemented like this
EXCEPT this data only shows the start time for each chapter, some may
need/want to edit the end time for chapters which lets you edit chapter
duration though you have to manually calculate this (which is currently
possible through the main properties for each separate chapter only) but
this the only thing i see lacking
[image: image.png]



On Thu, 19 Sept 2024 at 22:59, Urs Fleisch <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=485636
>
> --- Comment #23 from Urs Fleisch <ufleisch@users.sourceforge.net> ---
> With the new version, the "Chapter" and "Table of Contents" frames are
> still
> visible, but you do not have to use them. In addition, there should be a
> new
> "Chapters" (plural) pseudo frame which you can edit in the same way as in
> MP4,
> and it will create the CHAP and CTOC frames automatically. If you cannot
> see
> it, you probably do not have the "top level" flag set in the "Table of
> Contents", it will only take such CTOC frames, because others may be part
> of a
> subhierarchy. So please check again if you have "top level" set and if you
> can
> edit the "Chapters" frame.
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 26 Lee 2024-09-19 14:53:29 UTC
Created attachment 173876 [details]
image.png
Comment 27 Lee 2024-09-19 14:53:29 UTC
Created attachment 173877 [details]
image.png
Comment 28 Urs Fleisch 2024-09-21 19:09:57 UTC
Normally, the end time of a chapter is the start time of the next chapter, so for most cases, this simplified, reduced information should be enough. To set the end time of the last chapter, add it in the last line with an empty text - this is the same behavior as for the MP4 chapters. If somebody needs gaps between the chapters or needs the additional features of the separate CTOC and CHAP frames with their sub frames (such as chapter pictures), he can still edit these frames directly.

This feature is now part of version 3.9.6, which I have released today.
Comment 29 Lee 2024-09-21 23:30:22 UTC
Created attachment 173945 [details]
attachment-4054799-0.html

Thank you for the clarification.

On Sun, 22 Sept 2024 at 05:09, Urs Fleisch <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=485636
>
> --- Comment #28 from Urs Fleisch <ufleisch@users.sourceforge.net> ---
> Normally, the end time of a chapter is the start time of the next chapter,
> so
> for most cases, this simplified, reduced information should be enough. To
> set
> the end time of the last chapter, add it in the last line with an empty
> text -
> this is the same behavior as for the MP4 chapters. If somebody needs gaps
> between the chapters or needs the additional features of the separate CTOC
> and
> CHAP frames with their sub frames (such as chapter pictures), he can still
> edit
> these frames directly.
>
> This feature is now part of version 3.9.6, which I have released today.
>
> --
> You are receiving this mail because:
> You reported the bug.