[PR #300] [MERGED] Fixes reading multiline data from file tags #3334

Closed
opened 2026-04-25 00:15:15 +02:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/advplyr/audiobookshelf/pull/300
Author: @ISO-B
Created: 1/7/2022
Status: Merged
Merged: 1/7/2022
Merged by: @advplyr

Base: masterHead: ffprobe_using_json


📝 Commits (2)

  • dc05c38 Fixes reading multiline data from file tags
  • f2e09e5 Cleaned unused require from prober

📊 Changes

2 files changed (+19 additions, -22 deletions)

View changed files

📝 package.json (+2 -1)
📝 server/utils/prober.js (+17 -21)

📄 Description

Swiched fluent-ffmpeg to node-ffprobe. Fluent's ffprobe implementation can't handle multiline tag data due to it's parsing process. There is open issue (https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/issues/457) about problem and even PR(https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/pull/476), but both are over 5 years old so I wouldn't hold my breath for that.

node-ffprobe supports getting probe data using json format which keeps line changes. Not sure if this is best library for this but it won't have any dependencies and it does the job.

Tested with two mp3 files. One has metadata and one doesn't and it seemed to get same metadata as the old implementation. I advice you to do some testing if there is something that I didn't notice.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/advplyr/audiobookshelf/pull/300 **Author:** [@ISO-B](https://github.com/ISO-B) **Created:** 1/7/2022 **Status:** ✅ Merged **Merged:** 1/7/2022 **Merged by:** [@advplyr](https://github.com/advplyr) **Base:** `master` ← **Head:** `ffprobe_using_json` --- ### 📝 Commits (2) - [`dc05c38`](https://github.com/advplyr/audiobookshelf/commit/dc05c384307e4c7f27938f4adec9c636810a443f) Fixes reading multiline data from file tags - [`f2e09e5`](https://github.com/advplyr/audiobookshelf/commit/f2e09e524f1ef625f7bf6c386960209e057a34de) Cleaned unused require from prober ### 📊 Changes **2 files changed** (+19 additions, -22 deletions) <details> <summary>View changed files</summary> 📝 `package.json` (+2 -1) 📝 `server/utils/prober.js` (+17 -21) </details> ### 📄 Description Swiched fluent-ffmpeg to node-ffprobe. Fluent's ffprobe implementation can't handle multiline tag data due to it's parsing process. There is open issue (https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/issues/457) about problem and even PR(https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/pull/476), but both are over 5 years old so I wouldn't hold my breath for that. node-ffprobe supports getting probe data using json format which keeps line changes. Not sure if this is best library for this but it won't have any dependencies and it does the job. Tested with two mp3 files. One has metadata and one doesn't and it seemed to get same metadata as the old implementation. I advice you to do some testing if there is something that I didn't notice. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-04-25 00:15:15 +02:00
adam closed this issue 2026-04-25 00:15:15 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#3334