Roku Soundbridge DLNA Profile

There is a March 14 post of a DLNA profile to transcode FLAC to WAV for Roku Soundbridges but it’s missing the file content.

Does anyone still have this profile?

I’ve made some progress on this but I have not succeeded. Below is what I think should be close.

<?xml version="1.0" encoding="utf-8"?>
<Client name="Roku Soundbridge">
  <!-- Author: frankusb -->
  <Identification>
    <Header name="User-Agent" substring="Allegro-Software-WebClient/4.32" />
    <Header name="User-Agent" substring="Roku SoundBridge/3.0" />
  </Identification>
  <TranscodeTargets>
    <MusicProfile container="wav" codec="pcm" />
  </TranscodeTargets>
  <DirectPlayProfiles>
    <!-- Define the formats that the device understand natively -->
    <MusicProfile container="mp4" codec="aac" />
    <MusicProfile container="mp3" codec="mp3" />
    <MusicProfile container="wav" codec="pcm" />
  </DirectPlayProfiles>
  <CodecProfiles>
    <MusicCodec name="*">
      <Limitations>
        <UpperBound name="audio.samplingRate" value="48000" />
        <LowerBound name="audio.samplingRate" value="8000" />
        <Match name="audio.samplingRate" list="8000|11025|16000|22050|24000|32000|44100|48000" />
        <UpperBound name="audio.channels" value="2" />
        <UpperBound name="audio.bitDepth" value="16" />
        <UpperBound name="audio.bitrate" value="1411" />
      </Limitations>
    </MusicCodec>
  </CodecProfiles>
</Client>

Plex uses the profile. There are two challenges so far. There is an audio.bitrate limitation of 288 somewhere that I don’t understand and I can’t get transcoding to work even from mp3 to mp3 using:

  <TranscodeTargets>
    <MusicProfile container="mp3" codec="mp3" />
  </TranscodeTargets>

With a low bitrate MP3, less than 288, direct play works.

May 14, 2020 16:21:47.246 [0x7f2bbcff9700] DEBUG - Mapped client to profile Roku Soundbridge using header User-Agent: Roku SoundBridge/3.0
May 14, 2020 16:21:47.247 [0x7f2bbcff9700] DEBUG - Mapped object df235f407dcb52d8e4de to /library/metadata/71811 part 0 on server 
May 14, 2020 16:21:47.247 [0x7f2bbcff9700] DEBUG - Downloading document http://127.0.0.1:32400/library/metadata/71811
May 14, 2020 16:21:47.247 [0x7f2bbcff9700] DEBUG - HTTP requesting GET http://127.0.0.1:32400/library/metadata/71811
May 14, 2020 16:21:47.259 [0x7f2bbcff9700] DEBUG - HTTP 200 response from GET http://127.0.0.1:32400/library/metadata/71811
May 14, 2020 16:21:47.259 [0x7f2bbcff9700] DEBUG - Caching document http://127.0.0.1:32400/library/metadata/71811 as fc2df8e9d9c6a4717bb2724d6d2bef31368a6bc4
May 14, 2020 16:21:47.260 [0x7f2bbcff9700] DEBUG - Serving up item /library/metadata/71811 part 0
May 14, 2020 16:21:47.260 [0x7f2bbcff9700] DEBUG - MDE: Selected protocol http; container: mp3
May 14, 2020 16:21:47.260 [0x7f2bbcff9700] DEBUG - MDE: analyzing media item 83409
May 14, 2020 16:21:47.260 [0x7f2bbcff9700] DEBUG - MDE: Last Child: DirectPlay
May 14, 2020 16:21:47.260 [0x7f2bbcff9700] DEBUG - MDE: Last Child: selected media 0 / 83409
May 14, 2020 16:21:47.264 [0x7f2bbcff9700] DEBUG - Proxied GET to http://127.0.0.1:32400/library/parts/109354/1581273862/file.mp3?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx: HTTP/1.1 200
May 14, 2020 16:21:47.264 [0x7f2bbcff9700] VERBOSE - Proxy response headers: X-Plex-Protocol: 1.0; ETag: "11e880465005714348fa20a31508d2e21742036a"; Last-Modified: Sun, 19 Apr 2020 18:07:40 GMT; Accept-Ranges: bytes; Connection: Keep-Alive; Keep-Alive: timeout=20; Content-Length: 6231271; Content-Type: audio/mpeg; Date: Thu, 14 May 2020 21:21:47 GMT
May 14, 2020 16:21:47.264 [0x7f2bbcff9700] DEBUG - Responding HTTP/1.1 200
May 14, 2020 16:21:47.264 [0x7f2bbcff9700] VERBOSE - Response headers: Content-Length: 6231271; Content-Type: audio/mpeg; Date: Thu, 14 May 2020 21:21:47 GMT; Accept-Ranges: bytes

High bit rate MP3s get transcoded, not sure why. But the transcode fails to play.

May 14, 2020 16:23:48.868 [0x7f2b8effd700] DEBUG - Mapped client to profile Roku Soundbridge using header User-Agent: Roku SoundBridge/3.0
May 14, 2020 16:23:48.868 [0x7f2b8effd700] DEBUG - Mapped object fd3d3c42e14fac3c6593 to /library/metadata/71861 part 0 on server 
May 14, 2020 16:23:48.868 [0x7f2b8effd700] DEBUG - Downloading document http://127.0.0.1:32400/library/metadata/71861
May 14, 2020 16:23:48.869 [0x7f2b8effd700] DEBUG - HTTP requesting GET http://127.0.0.1:32400/library/metadata/71861
May 14, 2020 16:23:48.875 [0x7f2b8effd700] DEBUG - HTTP 200 response from GET http://127.0.0.1:32400/library/metadata/71861
May 14, 2020 16:23:48.875 [0x7f2b8effd700] DEBUG - Caching document http://127.0.0.1:32400/library/metadata/71861 as cb8c47c94546c906f37013dbd63b46f939f895e9
May 14, 2020 16:23:48.875 [0x7f2b8effd700] DEBUG - Serving up item /library/metadata/71861 part 0
May 14, 2020 16:23:48.875 [0x7f2b8effd700] DEBUG - MDE: Selected protocol http; container: mp3
May 14, 2020 16:23:48.875 [0x7f2b8effd700] DEBUG - MDE: analyzing media item 83533
May 14, 2020 16:23:48.875 [0x7f2b8effd700] DEBUG - Fare Thee Well - audio.bitrate limitation applies: 320 > 288
May 14, 2020 16:23:48.875 [0x7f2b8effd700] DEBUG - Fare Thee Well - audio.bitrate limitation applies: 320 > 288
May 14, 2020 16:23:48.875 [0x7f2b8effd700] DEBUG - Fare Thee Well - audio.bitrate limitation applies: 320 > 288
May 14, 2020 16:23:48.875 [0x7f2b8effd700] DEBUG - MDE: Cannot direct stream audio stream due to profile or setting limitations
May 14, 2020 16:23:48.875 [0x7f2b8effd700] DEBUG - MDE: Fare Thee Well: selected media 0 / 83533
May 14, 2020 16:23:48.876 [0x7f2b8effd700] DEBUG - Proxied GET to http://127.0.0.1:32400/music/:/transcode/universal/start?directPlay=0&directStreamAudio=1&musicBitrate=192&path=%2Flibrary%2Fmetadata%2F71861&session=48c674696f189dcbeb792e86a237d6211b191783&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx: HTTP/1.1 400
May 14, 2020 16:23:48.876 [0x7f2b8effd700] VERBOSE - Proxy response headers: X-Plex-Protocol: 1.0; Content-Length: 89; Content-Type: text/html; Connection: Keep-Alive; Keep-Alive: timeout=20; Cache-Control: no-cache; Date: Thu, 14 May 2020 21:23:48 GMT
May 14, 2020 16:23:48.876 [0x7f2b8effd700] DEBUG - Responding HTTP/1.1 400
May 14, 2020 16:23:48.876 [0x7f2b8effd700] VERBOSE - Response headers: Content-Length: 89; Content-Type: audio/mpeg; Date: Thu, 14 May 2020 21:23:48 GMT; Cache-Control: no-cache; Connection: close

FLACs get transcoded and also do not play.

May 14, 2020 16:22:42.786 [0x7f2b8f7fe700] DEBUG - Mapped client to profile Roku Soundbridge using header User-Agent: Roku SoundBridge/3.0
May 14, 2020 16:22:42.787 [0x7f2b8f7fe700] DEBUG - Mapped object 423f46901d33d9d1381c to /library/metadata/82379 part 0 on server 
May 14, 2020 16:22:42.787 [0x7f2b8f7fe700] DEBUG - Downloading document http://127.0.0.1:32400/library/metadata/82379
May 14, 2020 16:22:42.787 [0x7f2b8f7fe700] DEBUG - HTTP requesting GET http://127.0.0.1:32400/library/metadata/82379
May 14, 2020 16:22:42.794 [0x7f2b8f7fe700] DEBUG - HTTP 200 response from GET http://127.0.0.1:32400/library/metadata/82379
May 14, 2020 16:22:42.794 [0x7f2b8f7fe700] DEBUG - Caching document http://127.0.0.1:32400/library/metadata/82379 as 22263468ffe9c563a58f8b4b8963e7ff7d65dbda
May 14, 2020 16:22:42.794 [0x7f2b8f7fe700] DEBUG - Serving up item /library/metadata/82379 part 0
May 14, 2020 16:22:42.794 [0x7f2b8f7fe700] DEBUG - MDE: Selected protocol http; container: mp3
May 14, 2020 16:22:42.794 [0x7f2b8f7fe700] DEBUG - MDE: analyzing media item 93828
May 14, 2020 16:22:42.794 [0x7f2b8f7fe700] DEBUG - MDE: Straight to Hell: no direct play music profile exists for http/flac/flac
May 14, 2020 16:22:42.794 [0x7f2b8f7fe700] DEBUG - Straight to Hell - audio.bitrate limitation applies: 1026 > 288
May 14, 2020 16:22:42.794 [0x7f2b8f7fe700] DEBUG - Straight to Hell - audio.bitrate limitation applies: 1026 > 288
May 14, 2020 16:22:42.794 [0x7f2b8f7fe700] DEBUG - MDE: Cannot direct stream audio stream due to profile or setting limitations
May 14, 2020 16:22:42.795 [0x7f2b8f7fe700] DEBUG - MDE: Straight to Hell: selected media 0 / 93828
May 14, 2020 16:22:42.795 [0x7f2b8f7fe700] DEBUG - Proxied GET to http://127.0.0.1:32400/music/:/transcode/universal/start?directPlay=0&directStreamAudio=1&musicBitrate=192&path=%2Flibrary%2Fmetadata%2F82379&session=48c674696f189dcbeb792e86a237d6211b191783&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx: HTTP/1.1 400
May 14, 2020 16:22:42.795 [0x7f2b8f7fe700] VERBOSE - Proxy response headers: X-Plex-Protocol: 1.0; Content-Length: 89; Content-Type: text/html; Connection: Keep-Alive; Keep-Alive: timeout=20; Cache-Control: no-cache; Date: Thu, 14 May 2020 21:22:42 GMT
May 14, 2020 16:22:42.795 [0x7f2b8f7fe700] DEBUG - Responding HTTP/1.1 400
May 14, 2020 16:22:42.795 [0x7f2b8f7fe700] VERBOSE - Response headers: Content-Length: 89; Content-Type: audio/mpeg; Date: Thu, 14 May 2020 21:22:42 GMT; Cache-Control: no-cache; Connection: close

If anyone has any pointers, please let me know. Thanks.

I forgot to mention with:

  <TranscodeTargets>
    <MusicProfile container="wav" codec="pcm" />
  </TranscodeTargets>

FLACs and higher than 288 bitrate MP3s are filtered from being displayed by the device.

May 14, 2020 16:57:07.560 [0x7f04a0ff9700] ERROR - MDE: unable to find a working transcode profile for audio stream
May 14, 2020 16:57:07.560 [0x7f04a0ff9700] DEBUG - MDE: ignoring media item 83533
May 14, 2020 16:57:07.560 [0x7f04a0ff9700] ERROR - MDE: no compatible media decisions are available
May 14, 2020 16:57:07.560 [0x7f04a0ff9700] DEBUG - MDE: received PLEX_PROTOCOL_ANY from client, but could not determine best protocol. Defaulting to HTTP
May 14, 2020 16:57:07.560 [0x7f04a0ff9700] DEBUG - MDE: analyzing media item 83533
May 14, 2020 16:57:07.560 [0x7f04a0ff9700] DEBUG - Fare Thee Well - audio.bitrate limitation applies: 320 > 288

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.