mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
[Bug]: When importing audiobook as multiple MP3/M4B files, chapter titles are duplicated with same time stamp #2225
Closed
opened 2026-04-25 00:05:09 +02:00 by adam
·
15 comments
No Branch/Tag Specified
master
book_tags_genres_dedupe
episode_download_fallback
Issue-4540-SortBy-StartedDate-and-FinishedDate
episode_meta_tagging
fix_authorize_race_condition
redirect_transcode_requests
progress_updated_sort
fix_ereader_socket_event
fix_change_empty_root_password
fix_podcast_session_track_index
fix_set_token
session_modal_user
localize_durations
fix_oidc_create_user
jwt_auth_refactor
fix_scanner_deleting_single_file_books
fix_mediaprogress_updatedat_2
experimental_next_client
podcast_episode_duration
episode-timestamps-clickable
book_author_secondary_sort_title
podcast_useragents
pathexists_user_access
fix_pathexists_join
book_author_secondary_sort
clean_duplicate_mediaprogress
sanitize_html_description
trix_prevent_attachments
check_path_api_fix
fix_mediaprogress_updatedat
increase_express_json_limit
fix_dockerfile_nunicode
search_episodes
audiobook_tools_update
episode_secondary_sorts
hls_stream_url_update
new_session_track_endpoint
audiobook_tools_enhancements
watcher_rescans_update
player_track_tooltip
fix_exclude_prefixes_crash
socket_item_events
fix_podcast_episode_scanner_promise
new_stats_controller
count_cache_for_userpermissions
parsing-opf-v3
validate_migration_files
fix-quick-match-all-crash
fix-chapter-end-sleep-timer
stringify_sequelize_query
remove-col-ambiguity
fix_next_prev_edit_description
details_trim_whitespace
fix_content_url_basepath
fix_logger_fatal
progress_bar_visibility
batch-edit-populate-map-details
feed_generator_updates
bookmark-modal-updates
migrate-library-item-in-scanner
migrate-new-library-items
migrate-podcasts-new-library-item-2
migrate-podcasts-new-library-item
fix-remove-episode-from-playlist
playback-session-use-new-library-item
refactor-library-item
fix-heatmap-caption
feed-episodes-upsert
share-media-player-media-session-api
remove-old-playlist
remove_old_collection_object
plugin-implementation-demo
feed_migration
refactor-feeds-from-item
fix_remove_authors_no_books
v2.17.3-fk-constraints-migration
migrations-first-upgrade
sqlite_2
feature/nuxt-target-server
waveform
sqlite
playlists
video
v2.35.1
v2.35.0
v2.34.0
v2.33.2
v2.33.1
v2.33.0
v2.32.1
v2.32.0
v2.31.0
v2.30.0
v2.29.0
v2.28.0
v2.27.0
v2.26.3
v2.26.2
v2.26.1
v2.26.0
v2.25.1
v2.25.0
v2.24.0
v2.23.0
v2.22.0
v2.21.0
v2.20.0
v2.19.5
v2.19.4
v2.19.3
v2.19.2
v2.19.1
v2.19.0
v2.18.1
v2.18.0
v2.17.7
v2.17.6
v2.17.5
v2.17.4
v2.17.3
v2.17.2
v2.17.1
v2.17.0
v2.16.2
v2.16.1
v2.16.0
v2.15.1
v2.15.0
v2.14.0
v2.13.4
v2.13.3
v2.13.2
v2.13.1
v2.13.0
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.11.0
v2.10.1
v2.10.0
v2.9.0
v2.8.1
v2.8.0
v2.7.2
v2.7.1
v2.7.0
v2.6.0
v2.5.0
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.23
v2.2.22
v2.2.21
v2.2.20
v2.2.19
v2.2.18
v2.2.17
v2.2.16
v2.2.15
v2.2.14
v2.2.13
v2.2.12
v2.2.11
v2.2.10
v2.2.9
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.5
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.19
v2.0.18
v2.0.17
v2.0.16
v2.0.15
v2.0.14
v2.0.13
v2.0.12
v2.0.11
v2.0.10
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v1.7.2
v1.7.1
v1.7.0
v1.6.0
v1.5.5
v1.5.0
v1.4.11
v1.4.9
v1.4.7
v1.4.6
v1.4.4
v1.4.2
v1.4.0
v1.4.1
v1.3.4
v1.3.3
v1.3.1
v1.2.8
v1.2.6
v1.2.5
v1.2.4
v1.2.1
v1.1.15
v1.1.14
v1.1.13
v1.1.12
v1.1.11
v1.1.10
v1.1.9
v1.1.8
v1.0.0
0.9.61-beta.0
0.9.61-beta
Labels
Clear labels
authentication
backlog
bug
chapter editor
config-issue
ebooks
encoding/embedding
enhancement
help wanted
listening sessions & progress
planned
possible plugin
progress sync
pull-request
sorting/filtering/searching
unable to reproduce
upload
users & permissions
waiting
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
adam (Adam Melkus)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/audiobookshelf#2225
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ZLoth on GitHub (Sep 2, 2024).
What happened?
I have a preference towards breaking my audiobooks into multiple files at the chapter level. This has been occurring ever since I installed ABS at the end of March, 2024. When I import an audiobook, the chapter labels are duplicated with the same identical time stamp.
What did you expect to happen?
When importing an audiobook, only one instance of a chapter label is being imported.
Steps to reproduce the issue
WHAT SHOULD HAPPEN: For each chapter, one chapter label is being created.
WHAT REALLY HAPPENS: Multiple chapter labels are being created.
MP3TAG screenshot showing file name and titles:

ABS Settings:

ABS Library Settings:

I turned off everything except metadata and the issue still occurs.
Chapter Lists:


Log File: Log Files.zip
Recording of issue:
https://github.com/user-attachments/assets/270b16e3-f9c1-41a0-880b-08df23d001df
Audiobookshelf version
v2.12.3
How are you running audiobookshelf?
Docker
What OS is your Audiobookshelf server hosted from?
Linux
If the issue is being seen in the UI, what browsers are you seeing the problem on?
Chrome
Logs
Additional Notes
Also tested with "Store metadata with item" has been switched off without resolution.
@advplyr commented on GitHub (Sep 23, 2024):
I can see from your screenshot of the edit chapters page that each of the audio files have embedded chapters. I cannot see what the actual issue is because I would have to see what those embedded chapters are for each file.
When an audiobook has multiple audio files that have embedded chapters Abs will attempt to merge them if they are different. From what I can see in the screenshot it looks like the audio files have chapters embedded with different timestamps. If that is the case it would be something you would want to fix on the audio files since that would be inaccurate chapter times.
This is the logic for audio files with embedded chapters
https://github.com/advplyr/audiobookshelf/blob/5b22e945dab1d31ecb7727d26e2456f75151d1d0/server/scanner/AudioFileScanner.js#L467-L492
@ZLoth commented on GitHub (Sep 24, 2024):
I have sent you log files and an example book via WeTransfer. The link has been provided to your advplyr email address.
The following is my workflow in Windows 11:
Note that the issue also occurs when I did the conversion in OpenAudible as a MP3. I switched several months ago because of the small size.
@ZLoth commented on GitHub (Sep 24, 2024):
Hmmm.... when I did an audio probe of the chapters, I see the following:
This, this is probably being generated by OpenAudible. Can you confirm?
@advplyr commented on GitHub (Sep 24, 2024):
The audio files have the previous and next chapter embedded that are close to 0 duration. I've seen that once before. I don't know what the advantage is in doing that. Having chapters with 0 duration doesn't seem like a good practice (especially since they aren't exactly 0, they are like 1ms).
I made an update that will filter out those chapters before merging. This worked well when testing with your audiobook.
@ZLoth commented on GitHub (Sep 24, 2024):
Me too. I have opened up OpenAudible issue When splitting audiobook file, the previous/next chapter is included in the split file #1461 and referenced this issue.
Thank you. I look forward to the update.
@ZLoth commented on GitHub (Sep 25, 2024):
@advplyr , OpenAudible is now working on a fix. Once a beta is released, I can provide you with another test file.
@ZLoth commented on GitHub (Sep 26, 2024):
And, issue is not fixed with the latest OpenAudible beta, although I'm wondering if we are looking in the right place.
Looking back at the example book provided... here is lines 153-187 (edited for brevity)...
But, when we look at lines 188-218, specifically line 209, we see the following (edited for brevity):
Thus the "title" in line 209 matches up with the title on line 173. Ok, fine. However, lets look at another book.
My second example is NPR Road Trips: Postcards from Around the Globe. The Metadata originally had just Chapters 1-16, but I located the actual chapter titles and replaced them with MP3Tag. Lets take a look at lines 103-126 (edited for brevity):
Yet, when I look at line 149 from the section of lines 127-171, I see the following (edited for brevity):
This changed title was from when I edited the M4A file so that the chapter title was "A New Passage To India". That's what I'm expecting to import into ABS, not Chapter 4 (or Chapter 5) for that matter. I can understand the logic if you are importing a single-file MP3/M4B file into ABS as all of the chapters titles are embedded in a single file. But, I'm splitting the chapters, thus expecting one file to have a single chapter.
Not sure how you want to handle the logic, but it should be that if there is a single chapter exceeded .2ms in the chapters section, then check format → tags → title and pull that title instead
PROBE - 04 - NPR Road Trips Postcards from Around the Globe - A New Passage to India.txt
@ZLoth commented on GitHub (Sep 26, 2024):
@advplyr : From OpenAudible:
@advplyr commented on GitHub (Sep 26, 2024):
Ffmpeg has a separate flag for
map_chapters.-map_chapters -1to not keep chapters@ZLoth commented on GitHub (Sep 27, 2024):
It's now fixed in OpenAudible 4.4.7.
@github-actions[bot] commented on GitHub (Oct 5, 2024):
Fixed in v2.14.0.
@ZLoth commented on GitHub (Oct 6, 2024):
Thank you,
@advplyr commented on GitHub (Jan 12, 2025):
I found a bug with the previous solution I implemented causing multiple chapters to have the same
id. This resulted in the audio player being unable to navigate chapters correctly and the chapter modal showing 2 chapters as the current chapter.I also found an issue where if the chapter title had a carriage return at the end it was being carried over and impacting the logs. I updated the prober to trim whitespace from titles.
@ZLoth commented on GitHub (Jan 12, 2025):
Thank you @advplyr . Looking forward to the release.
@github-actions[bot] commented on GitHub (Jan 20, 2025):
Fixed in v2.18.0.