MarvinB 5 Posted 2 hours ago Posted 2 hours ago I am the developer of Ear Wax, an Alexa music client that streams tracks from Emby Server 4.9.3.0. Emby’s FFmpeg transcode log confirms that it detects embedded ReplayGain tags. For example: REPLAYGAIN_TRACK_GAIN: -2.85 dB REPLAYGAIN_TRACK_PEAK: 0.861816 REPLAYGAIN_ALBUM_GAIN: -2.16 dB REPLAYGAIN_ALBUM_PEAK: 1.000000 The corresponding item is available through /emby/Audio/{Id}/stream.mp3, but requesting the complete item through /emby/Users/{UserId}/Items/{Id} does not return any gain, peak, ReplayGain, loudness, or normalization fields. Is there a supported API endpoint or optional field that returns these embedded ReplayGain values before playback? If not, is there a supported audio-streaming parameter that tells Emby’s transcoder to apply track ReplayGain during progressive MP3 transcoding? The goal is track-to-track volume consistency. I would prefer to use Emby’s existing metadata and transcoder without requiring users to install a custom plugin or modify their media files. I am specifically looking for: An API-accessible track gain and peak. A documented way to apply that gain during audio transcoding. Confirmation whether these capabilities are unavailable in Emby 4.9.3.0. Thank you
softworkz 5365 Posted 1 hour ago Posted 1 hour ago @MarvinB Thanks for your request. The way Emby works is that we are ffprobe-ing all new media files and are storing a subset of that data with the items in the library in the form of Emby SDK Reference: MediaSourceInfo and MediaStream. At the moment, replay gain information is not included with the media information data that is being stored. We might be able to add that, though. With regards to transcoding, the question is how it should be handled: applied and removed, not applied but preserved/carried over, not applied and dropped. I think the latter is happening at the moment - at least when a volume filter is included.
MarvinB 5 Posted 45 minutes ago Author Posted 45 minutes ago @softworkz; Thank you and that explains why the tags appear in the FFmpeg log but not in the item response. Would you consider adding the following optional fields to MediaSourceInfo or the audio MediaStream? ReplayGainTrackGain ReplayGainTrackPeak ReplayGainAlbumGain ReplayGainAlbumPeak ReplayGainReferenceLoudness The values would only need to be stored and returned through the API; existing playback behavior would not need to change. Separately, is there currently a supported audio-streaming request parameter, device-profile option, or API mechanism that allows a client to request a specific constant gain—such as -2.85 dB—during progressive MP3 transcoding? My intended client behavior is: Use track gain for mixed-track playback. Apply the gain during transcoding. Do not depend on the receiving player to interpret ReplayGain tags. Preserve existing behavior when no gain is requested. If no such transcoding control currently exists, would Emby consider exposing one? I am trying to avoid requiring users to install a custom plugin or modify their audio files. Thank you
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now