Here you can specify which profile should be used for video transcoding:
- No transcoding
- 720p / 128Kbps audio
- 480p / 128Kbps audio
- 360p / 128Kbps audio
- 240p / 128Kbps audio
- 240p / 64Kbps audio
- 120p / 64Kbps audio
All profiles will transcode to H264 for video and MP3 for audio, into an MPEG-TS container (for technical reasons it cannot be MP4).
Aspect ratio is preserved. The transcoded video may not be playable by the standard Android video player and requires a third party video player app such as MX Player and VLC.
- Mobile transcoding: profile to be used on a mobile connection
- Wifi / Eth transcoding: profile to be used on a WiFi / Eth connection
Audio, video and image transcoding settings
BubbleUPnP Server can optionnaly transcode audio (to MP3) and video (to H264/MP3) for playback on the Android device itself (using the local renderer). No transcoding is ever performed if streaming to an external renderer, as it may have a faster connection to BubbleUPnP Server than your Android device.
Separate transcode settings are also available for downloaded files.
For transcoding to work, BubbleUPnP Server must report that audio and/or video transcoding are supported in its Status tab.
In Android BubbleUPnP, you can configure how BubbleUPnP Server should perform the transcoding in Settings > Networks and settings.
There are separate settings for Audio, Video, Images, and for each connection type.
Turning Chromecast devices into a audio DLNA or OpenHome renderer
Selecting a Chromecast device, you can transform it into:
- a DNLA renderer. This is useful for using UPnP/DLNA software to play to a Chromecast device. An example among other is using foobar2000 to play to Chromecast Audio, using either foo_out_upnp or foo_upnp plugins. Or using JRiver Media Center to do the same thing
- an OpenHome renderer (see next paragraph). As any OpenHome renderers, this brings unattended playback of a playlist of music tracks to Chromecast devices, using an OpenHome controller (BubbleUPnP/BubbleDS, Linn Kazoo, LUMIN). In particular, using Android BubbleUPnP, you can now play a full playlist to Chromecast devices without needing to leave Android BubbleUPnP running (that is, if the music is not on your Android device).
IMPORTANT: you must make sure that TCP port 58050 (or the one you set if different from the default) is not blocked by a firewall or “security suite” for incoming connections from the local network. Otherwise, the Chromecast will not be able to connect to BubbleUPnP Server for streaming (on playback you’d hear a beep but the track would not play).
Audio and video is supported. Transcoding videos is not supported so only video natively suported by Chromecast will play.
Both renderer types support virtually all audio containers and codecs combinations.
Combinations not natively supported and playable by Chromecast are transcoded to WAV, preserving samplerate (up to 96kHz for Chromecast Audio) and bitdepth.
The created renderers do not support gapless playback because the underlying Chromecast devices do not support it.
If this change at some point, it will be looked into.
You can still play gapless using a gapless desktop music player that sends its audio output as a single PCM stream (eg foobar2000
It is not recommended to create both a DLNA and OpenHome renderer at the same time. If you do so, make sure to not mix UPnP/DLNA and OpenHome Control Points at the same time as they will fight to control the same Chromecast device and the result will be unpredictable.
Connecting to BubbleUPnP Server
- go into More > gear icon > Internet access with BubbleUPnP Server
- select an unused Network (Unset label) and set the connection parameters (screenshot below)
- use the Test button to test the connection
- use the Apply button to connect to BubbleUPnP Server and have the remote Media Servers appear as libraries that you can select
in the Library tab
This is the name used to identify the remote BubbleUPnP Server network. You can choose any name you want.
It is used to identify Media Servers from different networks. For example if your home Media Server is named
“My Media Server” and you set Name to “Home”, this Media Server will be listed as “My Media Server ” in the Library tab (as shown in the right screenshot).
This is the public connection URL to BubbleUPnP Server. The information used to set this field is displayed in the Status tab of BubbleUPnP Server.
For example if the Status tab shows:
To connect through HTTP, you must set “Server Address” to either http://220.127.116.11:58050 or http://my.host.org:58050
To connect through HTTPS, you must set “Server Address” to either https://18.104.22.168:58051 or https://my.host.org:58051
Login and Password
Use the login and password that you defined in the ‘Network and Security’ configuration tab in BubbleUPnP Server.
Active on connection
This setting allow you to set when Android BubbleUPnP should automatically connect to this remote network to make the
associated Media Servers available in the Devices tab of the app.
For example you may want to connect to this network only when your Android device uses a Mobile data connection.
In that case you would set this setting to “Mobile”. Now every time your Android device switches to a mobile connection,
BubbleUPnP will connect to BubbleUPnP server to make your Media Server available in the Devices tab.
And if you switch from a mobile connection to WiFi, it will disconnect and remove them from the Devices tab.
The possible choices are:
- Disabled: never connect to this network
- Mobile: connect to this network on mobile connections
- WiFi /Ethernet: connect to this network on WiFi or Ethernet connections
- Mobile / WiFi / Ethernet: connect to this network on mobile or WiFi or Ethernet connections
Advertise on LAN
This setting if enabled will make all Media Servers of this remote network (those listed in the right screenshot) visible on the target LAN on which your Android device is currently connected. This only work if your Android device uses a WiFi or Ethernet connection.
It means that your UPnP devices on the target LAN (a PS3, a DNLA TV, etc) should be able to see and browse your remote Media Servers.
This is UPnP tethering.
For example a PS3 accessing to your home Media Server follows this path when issuing commands (browsing, searching, etc):
PS3 -> Android device (BubbleUPnP) -> Internet -> BubbleUPnP Server -> Your Media Server.
For streaming audio or retrieving album art the PS3 talks directly to BubbleUPnP Server without Android BubbleUPnP in the middle:
PS3 -> Internet -> BubbleUPnP Server -> Your Media Server.
Music playback transcoding
This section configure how music streams should be transcoded.
- Mobile Max Bitrate (Local Renderer): on a mobile connection and when playing to the Local Renderer, BubbleUPnP Server will transcode to the specified bitrate all audio whose bitrate is higher than this bitrate
- WiFi / Eth Max Bitrate (Local Renderer): on a WiFi / Eth connection and when playing to the Local Renderer, BubbleUPnP Server will transcode to the specified bitrate all audio whose bitrate is higher than this bitrate
- Max Bitrate (external renderers): when playing to an externa renderer, BubbleUPnP Server will transcode to the specified bitrate all audio whose bitrate is higher than this bitrate
- Lossless only: enabling this setting will ensure that only lossless tracks will be possibly affected by the transcode settings. This is to prevent
lossy->lossy transcodes which should be avoided if possible are they are bad for audio quality (unless the source is 320Kbps in which case it might be acceptable)
- Seekable tracks: request BubbleUPnP Server to generate seekable transcoded music tracks (see below)
BubbleUPnP Server can generate seekable transcoded music tracks (disabled by default)
for tracks for which duration can be determined and whose duration is lower than 10 minutes.
It can be enabled in Android BubbleUPnP with the “Seekable tracks” toggle,
or forced on the server side with the -transcodeAudioSeekable command-line parameter.
When enabled, BubbleUPnP Server will transcode a track fully before serving it for playback to the client.
This introduces a variable delay depending on CPU speed and track duration before the track can be played.
On a standard PC, it should not exceed a few seconds.
That’s why it is not recommended to enable it if BubbleUPnP Server is running on a slow CPU (such as some NASes).
This delay only happens the first time a seekable track is generated as it is cached to disk for subsequent plays.
When enabling this feature, it is recommended to also enable Settings > Local renderer > Gapless playback, in Android BubbleUPnP.
Gapless playback will trigger transcoding of the next track before current track finishes and make the delay discussed above unoticeable in most cases. Only playback of the first track may be delayed.
Music caching on local storage
Android BubbleUPnP can optionally cache to local storage music accessed through BubbleUPnP Server. This reduces network usage when playing tracks that have been previously played. This is particularly useful on mobile data connections which may be metered and/or have limited bandwidth.
This section allows to configure caching settings:
- Active on connection: on which network connection type to enable caching
- Cache folder: select folder for storing cached tracks.
You can specifiy any folder you want, including a high capacity additional external SD Card. The cached data is preserved across app reinstalls.
- Max cache size: Max size in MB to allocate to cached tracks. When max size is reached, older cached tracks are deleted to make room for newer tracks. Set to 0 to disable caching
- Clear cache: delete all tracks from the cache folder
- Add to Android Library: when a track is cached, it is added to the Android Music Library, thus visible to other music players