Check out some special Android applications not found on the Play Store. One we found to be amazing is a Chromecast compatible version of XBMC KODI (forked) with special external player options for multiple ways to play movies and TV shows has been made by the XBMC HELPERS.
With this version of XBMC KODI, stream movies and TV shows even Live TV to various platforms such as Chromecast, Nexus Player, Samsung Smart TVs, other Smart TVs with internet connection for UPnP and DLNA settings options available.
To start we are a developer group who helps 10s of thousands of people each year with results. Providing help like setup, updates and troubleshooting any device or computer platform as well as multiple types of software and hardware.
Modifying certain applications through a github fork we created several versions of Android applications that give you external player features using Google Casting code and other types of external player options to Smart TVs and TV players like Chromecast, Nexus Player, Amazon Fire TV, LG and Samsung Smart TVs.
All are forked and modified but as a reminder we do not host any of the content. We can not control any of the updates and suggest not to. Also from time to time file locations or 3rd party add-ons for streaming content will change or need updating. We try our best to help everyone and ask you stay patient and keep trying to communicate if you have a legitimate problem or question.
We are not selling anything and our main work or helping is free. We do accept donations. Donations are used to help with buying new hardware/software/website hosting costs. We like to eat food too and we tend to help so many people it takes away from making an income. We are all students of various trades and professions and studies and as that you understand we do not spam, scam or want you to do anything other than what you enjoy, streaming TV and movies.
A reminder, we are not selling you anything and you should understand and expect NO refunds as that makes no sense to ask for a refund for a donation.
When you make a transaction we decide to release a version that is for testing only. This is not available in the Play Store and is given to use to try out. We ask that you understand you are not buying the applications but are donating to app and code writers students who use any donations to further development of possible future ideas or new ventures in code creation and official releases.
If you decide to make a transaction do not expect a refund. Do not expect anything to work or have any help behind troubleshoot or setup. Android devices come in many forms with many makers and with many levels of Android OS. We will try to help anyone with issues but do not expect to receive anything."
XBMC HELPERS Apps (github fork)
1TG Blog Sponsors
Several types of apps for testing.
Choose from below.
If you have a similar version like KODI or XBMC already installed, remove it first before installing any version from here.
We've made it easy to download your favorite applications. StreamHUB® Android applications bundle pack takes the latest and greatest developers and code writers and gives them a place to share, collaborate and get recognized for their great applications for Android TV an movies.
All apps are compatible with Android tablets, cell phones, Amazon fireTV and fireTV stick, Chromecast and Smart TVs (Samsung and LG Smart TVs)
1TG Blog Sponsors
Consider this a new era in how you will search for and download all the very best applications for Live Sports, movies and TV shows in HD commercial free!
So far we have gotten the creators for the apps listed below but as time goes more and more apps will be added. When you make your transaction today, you will be emailed with updates and links to downloading other new apps and updates totally free. As time goes you can count on us to give you what you need and without hassle or headache. We work directly with the developers and creators to StreamHUB® your ability to stay up-to-date and keep you doing what you enjoy, streaming TV, movies, live sports, music, games and more!
Apps so far include the latest updates for all applications
Disclaimer: we do not host any of files listed here we're merely held for developers to post their newest build versions of premium applications. Consider your transaction a donation and not to purchase
Please note: The use of a mobile hotspot with your Chromecast is not recommended.
✕(You can turn on video captions in your language. Play the video, and click the "CC" button. Then pick your language from the menu.)
You can set up your Chromecast in a snap using either an Android or iOS phone or tablet or a Mac, Windows or Chromebook computer running Chrome 28 or higher. You only need to set up your Chromecast once - you can cast from additional supported devices without having to set up Chromecast again. Before you begin the setup process, make sure you are connected to a 2.4 GHz Wi-Fi 802.11 b/g/n Wi-Fi network.
Once you’ve added the Cast extension, setup will automatically start in a new tab.
If setup doesn’t automatically begin, or if you want to run setup later, click on the Cast extension button in your browser and select Options. On the Options page, click on Add Chromecast.
If your Chromecast is set up correctly and your TV is on the correct input, you will see the Chromecast Home Screen with your Wi-Fi network name referenced on the bottom left-hand side. If you don't see the Chromecast Home Screen, change the input on your TV using the Input or Source button on your TV’s remote control.
Please note: Your Wi-Fi network configuration may prevent you from setting up Chromecast successfully. If you are having trouble connecting Chromecast to your Wi-Fi network, please see our Chromecast Router Compatibility list here. If you're still having trouble, please visit our Chromecast troubleshooter here.
Mac OS and OS X are registered trademarks of Apple Inc. Windows is a registered trademark of Microsoft Inc. iOS is a trademark or registered trademark of Cisco Inc. The Netflix logo is a trademark of Netflix, Inc. Netflix is available in certain countries. Unlimited streaming membership required. More information at www.netflix.com.
A Mac, Windows or Chromebook computer, or an Android or iOS smartphone or tablet.
You can connect Chromecast to your TV in a few simple steps:
A: Plug one end of the USB power cable into your Chromecast and the other end of the cable into the power supply and then into a nearby power outlet. We recommend that you use the USB power cable and power adapter that is included in the box for optimal performance.
B: Plug your Chromecast into any open HDMI input on your TV.
C: If you do not have access to an open outlet, you can also power your Chromecast by plugging the USB power cord directly into an open USB port* on your TV.
It's important to use the cords and adapters that come inside the Chromecast box. If you’re having trouble fitting Chromecast into your TV’s HDMI port, or if you need to improve your Wi-Fi reception, try using the HDMI extender that came in the Chromecast box.
Once your Chromecast is plugged in, you should see the Chromecast home screen. If you do not see the Chromecast home screen on your TV after setting up Chromecast, use the Input or Source button on your TV’s remote control to change the input until you see the Chromecast home screen.
*Do not plug the USB cable into a port labeled 'Service'; it must be labeled 'USB' or display the USB symbol.
transcode unsupported format on the fly to make most media playable: MKV, AVI, MOV, WMV, RMVB, TS, FLAC, WMA, ...
make large photos load faster and rotate photos according to EXIF orientation
perform transcoding to limit WiFi bandwidth required and avoid stuttering on the Chromecast
extract embedded subtitles in MKV, MOV, MP4 for display on the Chromecast
If you are using BubbleUPnP Server only with Chromecast, go here.
Internet streaming and downloading
BubbleUPnP Server makes your LAN Media Servers available to Android BubbleUPnP, for streaming over mobile (3G/4G) and WiFi connections, with the following advantages:
Easy to setup: you do not have to modify your Media Servers configuration in any way
Secure: all communication between Android BubbleUPnP and your Media Servers go through BubbleUPnP Server and is password protected. HTTPS is supported.
Network bandwidth efficient: bandwidth is greatly optimized between Android BubbleUPnP and your Media Servers, reducing loading times over mobile networks
Transcoding: BubbleUPnP Server can transcode audio on the fly to MP3, video to H264, and images, to adapt to lower bandwidth usually available on mobile networks
Transcoded downloads: you can download a transcoded version of your tracks for playback on your Android device with any audio player. Useful to download an MP3 version of your FLAC or lossless albums stored on your NAS.
This functionality can also be used on a regular LAN, for example to bypass regular UPnP SSDP device discovery in the rare cases it is not available for whatever reason
(blocked by a firewall, UDP multicast disabled at the router level, ...).
Using Android BubbleUPnP or BubbleUPnP Tether client, you can make your Media Servers from your home local network visible on another LAN to any UPnP AV devices of this LAN (TV, Control Points, ...).
To illustrate this functionality consider this scenario:
Suppose you have a Twonky server at home (replace Twonky with your favorite Media Server) and you go visit a friend who has a brand new UPnP/DLNA device
connected to his stereo and a Windows 7 PC with Window Media Player. Using your Android device and BubbleUPnP you can push music from your Twonky Server to his stereo.
With UPnP tethering you can do the same using the "Play to" functionality of Windows Media Player. In short, your Android device makes your home Twonky server visible to
Windows Media Player on your friend's network. This is UPnP tethering.
LAN Media Server proxying
Many Media Servers have bugs and sometimes return incorrect data which can prevent them from working fully with some UPnP Software.
BubbleUPnP Server can create a "proxy" Media Server (associated to a real Media Server on your LAN), that will attempt to convert incorrect data
into correct data. Data is always reformatted in a more compact format with the benefit of speeding up browsing on slower devices.
Except for this difference, the proxy Media Server acts exactly as the real Media Server it is linked to.
Another possible use of proxying is to solve potential Media Servers discovery issues in your network with some UPnP software.
As long as BubbleUPnP Server is able to discover your Media Server, it can create a proxy Media Server which in turn has more chance to be discovered by UPnP software.
When operating an UPnP AV Renderer, the playlist of audio tracks resides on the Control Point which must remain running
for playlist track advance to happen. It has 2 main drawbacks:
keeping a Control Point app running isn't the best solution, in particular on mobile devices as it consumes battery.
two or more Control Points cannot control the same UPnP AV Renderer and share the same playlist. For example, you cannot create a playlist on your smartphone Control Point
and later modify it on your PC or tablet Control Point
To tackle these issues, the OpenHome Playlist specification addresses the deficiencies of UPnP AV, adding
the ability for an OpenHome Renderer to store and manage its playlist. It can advance playback by itself without requiring a Control Point to be running.
Several OpenHome enabled Control Points can be connected to the renderer, sharing the same playlist. Any playlist change on one Control Point is immediately
reflected on the others.
BubbleUPnP Server makes it easy to create an OpenHome renderer from any exisiting UPnP AV Renderer (WMP for example). Refer to this section for more information on how
to create and control an OpenHome Renderer with Android BubbleUPnP or other OpenHome Control Points.
BubbleUPnP Server can run on any platform where Java 7 or higher is available (latest Java 8 recommended). This includes:
Windows XP / Vista / 7 / 8
Any NAS or device on which Java 7 or higher is available
IMPORTANT: if after install you cannot connect to the web interface, refer to the troubleshooting section.
Windows XP / Vista / 7 / 8
On Windows, the easiest way to get started is to use the installer.
Windows installer (requires 32-bit or 64-bit Windows with 32-bit Java, includes 32-bit ffmpeg)
At the end of the installation process, BubbleUPnP Server should be running as a Windows service. The installer will launch your Web Browser to configure it.
You can also connect to it pointing your Web Browser to http://localhost:58050 or launch the Desktop shortcut.
If the Web Browser cannot connect to BubbleUPnP Server, refer to the troubleshooting section.
You will find shortcuts in the Windows Start menu to stop/start the service and launch the configuration interface in your web browser.
If you do not want to run BubbleUPnP Server as a Windows service you can download the archive for other platforms.
If you are using BubbleUPnP Server only for Chromecast transcoding, go here.
The core of BubbleUPnP Server is a Web Server running on port 58050 by default for HTTP and on port 58051 for HTTPS.
The server must be accessible from the Internet on this port (LAN proxying functionality does not require this).
The Windows Installer will try to auto-detect network settings so the server is usable straight away adding the required firewall and NAT rules, but
this might not work in all network setups.
The configuration front-end is divided into 6 tabs:
This page displays a summary of the server operational status and has all information required to configure Android BubbleUPnP:
the server's status when connecting from the Internet
the server's public IP Address and hostname
the server's public HTTP and HTTPS Port
the server's LAN IP Address
the Internet connection test for both HTTP and HTTPS
the server's version and expiration date if any
the server's support for audio, video and image transcoding
If "Server is reachable from Internet" is displayed, everything is fine and BubbleUPnP Server is ready to use for remote access.
Otherwise something is preventing the Internet to connect on the HTTP or HTTPS port.
This will likely be a NAT or firewall issue. For example, if the public HTTP port is 58050 and the LAN IP Address displayed is 192.168.1.10
Add a rule on your router to redirect connection on TCP port 58050 to LAN IP Address 192.168.1.10 on port 58050. You must use the same port for the redirection
Add a rule on your firewall to allow incoming traffic on TCP port 58050 on the 192.168.1.10 machine
For HTTPS access repeat the 2 steps above with the HTTPS port (58051 by default)
IMPORTANT: if you use HTTPS access, the HTTP port must still be open as it is still used for media streaming requests only.
In this page you can set the login and password that you will use to connect to the server:
in Android BubbleUPnP
to access the configuration interface when connecting from the Internet (if "Allow to access server from the Internet" is enabled)
If you are using a dynamic DNS service because your ISP changes your IP address at regular interval, you can change the public hostname to your stable dynamic DNS hostname.
If option "Allow to access server from the Internet" is disabled, the server will deny all Internet connections.
If you plan to use BubbleUPnP Server with Android BubbleUPnP, you must enable this setting.
If option "Allow to configure the server from the Internet" is enabled, these credentials are also used to connect to the configuration web interface from the Internet.
By default this option is disabled and the configuration web interface is only accessible on the LAN.
If option "Enable media access log file" is enabled, all media streaming connections will be logged to the access_log.txt file found in the installation directory.
This page displays the list of Media Servers detected on your local network.
For each Media Server you can configure:
if this Media Server should be made available to Android BubbleUPnP when it connects
if a proxy of this Media Server should be created on the LAN
When a proxy Media Server is created, a new Media Server with the same name will appear on your LAN with "[proxy]" appended to the name.
For example if you have a Media Server named "Awesome" then a new one called "Awesome [proxy]" will appear.
You can connect to it with any UPnP software like you would connect to "Awesome".
For each UPnP AV Renderer you can create a playlist aware OpenHome Renderer that you can control with either Android BubbleUPnP or other OpenHome Control Points.
An OpenHome Renderer has the following advantages over a regular UPnP AV renderer:
each OpenHome renderer has its own playlist
gapless playback is supported when the underlying UPNP AV renderer supports it
no need to leave the Control Point running for playlist track advance to happen
several OpenHome Control Points (Android BubbleUPnP, Linn Kinsky) can be connected to the same renderer simultaneously, showing the same playlist and playback state
create a playing playlist on a device and pick it up later on another device
For example, consider this scenario:
with BubbleUPnP Server you create an OpenHome renderer from WMP
in Android BubbleUPnP on your phone you select this renderer and make a playing playlist and start playback
you exit BubbleUPnP. Playlist track advance is still performed by BubbleUPnP Server
sometimes later you launch BubbleUPnP on your tablet (or phone) and select the WMP OpenHome renderer. The initial playlist is displayed
To create an OpenHome Renderer from the selected UPnP AV Renderer just check "Create an OpenHome renderer".
A new UPnP Device will appear on the network named after the UPnP AV Renderer's name with "(OpenHome)" appended.
For example if you select a Windows Media Player Renderer called "bob (MYPCNAME: Windows Media Player)", then
the newly created OpenHome Renderer will appear as "bob (MYPCNAME: Windows Media Player) (OpenHome)" in Android BubbleUPnP.
An OpenHome renderer has two optional parameters that you can modify:
Room: the physical room where your renderer is located. Limited to 20 characters
Name: the name of the renderer within the room. Limited to 20 characters
Gapless playback: enable music gapless playback (see below)
Room and Name are ignored by Android BubbleUPnP. However they are used by other OpenHome Control Points such as Linn Kinsky
to get the full name of the renderer which will usually be "Room: Name".
the obvious one is to be able to play gaplessly gapless albums like "Dark side of the moon"
a less obvious one is to reduce gaps between non-gapless tracks streamed from the cloud (Dropbox, Google Music, etc).
The next track to be played is buffered in advance making possibly long buffering unnoticeable on next track transition
Gapless playback can only be enabled on renderers on which it may work.
Enabling it is not a guarantee that it will work. If gapless playback works in Android BubbleUPnP with the regular UPnP AV renderer, it should work
with the OpenHome renderer managed by BubbleUPnP Server.
Transcode high-res audio to 44.1/16 or 48/16 FLAC: force transcoding of audio > 48Khz to either 44.1/16 or 48/16 FLAC. This can be useful
for streaming on networks where bandwidth is sufficient for 44.1/16 or 48/16 FLAC but not higher (for example 4G/LTE on mobile)
Video encoding quality: Set video encoding quality for H264 transcoding. Higher quality requires more CPU power
Log to file: logging to file. Enabled by default. Disable to prevent hard drive spinning on some NAS when in power saving mode
First, you must determine on which machine of your network to install BubbleUPnP Server.
In most cases it will be a desktop computer or a NAS.
If you plan to transcode videos, you will need a powerful CPU. A fast PC is recommended, especially for 1080p video.
Many NAS will not be powerful enough (save for the most powerful ones).
If you need to transcode only audio (including just audio in videos), any machine should be able to handle it.
The easiest way is to install BubbleUPnP Server on a Windows PC or on Ubuntu Linux (PPA package). It includes everything you need for Chromecast transcoding straight away, without requiring to configure anything.
Just install it and it will be ready for use.
On other platforms, you must check these additional requirements:
A working ffmpeg binary is required. The ffmpeg version must not be too old (at least v1.0) and the more up to date it is, the better.
A working ffprobe binary is optional. If a local ffprobe binary is not found, ffprobe will be called from the cloud, requiring that BubbleUPnP Server is passing the connectivity test succesfully.
ffmpeg/ffprobe binaries located in the installation directory are used if present, otherwise they are searched in the PATH
On Ubuntu, the PPA package will download the required ffmpeg/ffprobe binaries so it should work out of the box
On other Linux distributions, unzip these binaries in the installation directory
On MacOS X, download binaries from this site and put them the installation directory
On the Raspberry Pi (powerful enough only for audio), the ffmpeg/ffprobe version might be too old and you must replace them by more recent binaries. This ffmpeg compilation guide may be useful
On other platforms you can try using Google for finding suitable ffmpeg/ffprobe binaries
The downloaded ffmpeg/ffprobe binaries must be executable:
chmod +x ffmpeg
chmod +x ffprobe
Whenever you update the ffmpeg/ffprobe binaries, you must restart BubbleUPnP Server for the change to take effect.
You can check what version of ffmpeg is used by looking at the BubbleUPnPServer.log.0 log file.
For full functionality, ffmpeg must include mp3 encoding support (libmp3lame), H264 support (libx264), Matroska support (libmatroska).
For transcoding media from Google Drive and more generally https streams, ffmpeg must be compiled with the https protocol (ffmpeg -protocols).
That is often not the case with static builds of ffmpeg found online.
Playing media with Android BubbleUPnP
Android BubbleUPnP automatically detects BubbleUPnP Server on your network for Chromecast transcoding duties.
There is no need to manually enter connection settings (unless you want to transcode to Chromecast outside your local network).
When BubbleUPnP Server is detected, the server version is displayed and all settings can be changed:
Simply play any media to Chromecast normally. BubbleUPnP Server will perform transcoding in the background if and only if necessary.
If the media cannot be transcoded or if there is any error, the original media will be forwarded as is to the Chromecast and
might not play at all or partially (ex: video but no audio).
For best quality, BubbleUPnP Server only transcodes what is required: audio or video or both.
For example, a MKV containing H264 video and DTS audio will be transcoded to a MKV containing the unmodified H264 video and
the DTS audio track transcoded to MP3.
In some cases, audio and video are both untouched and just remuxed in a different container.
Standalone audio (eg FLAC, WMA, ...) is always transcoded to WAV, with no loss of quality.
It is possible to use transcoding features for use on the go, when you are not connected to your home local network.
For example, if you visit a friend with your Chromecast and want to play on his TV a video that requires transcoding.
In that case, you must manually enter BubbleUPnP Server connection settings as explained here.
When a remote BubbleUPnP Server is used, Settings > Chromecast > Version will show its ip address or hostname.
For technical reasons, only media reachable from the cloud can be transcoded by the remote BubbleUPnP Server. It includes:
your cloud media managed by Android BubbleUPnP: Google Drive, Dropbox, ...
your home media exposed to Android BubbleUPnP via BubbleUPnP Server
any media that is stored online and that BubbleUPnP is able to handle
Any media that resides on your Android device or your friend's local network cannot be transcoded by BubbleUPnP Server, because it cannot be reached.
Depending on the download bandwidth available on the target network and the upload bandwidth of your home network, you may have
to decrease "Max video bitrate" substantially for the video to play smoothly (not stutter due to insufficient bandwidth).
First, it is important to understand that some videos have very high bitrates requiring too much network bandwidth
that the Chromecast WiFi cannot handle, causing stutter.
And unlike wired networks such as Ethernet, WiFi is bad at sustaining stable bandwidth over time: it is usually very
spiky and irregular.
For best performance and for media not stored on your Android device, make sure that the machine running your UPnP/DLNA Media Server managing your media
use a wired (Ethernet) connection to your WiFi router. If that is a PC or a NAS, make sure that it is not connected through WiFi as
this will degrade network performance for streaming significantly.
Videos causing stutter will be in most cases high definition videos such as 1080p.
Most cameras on current phones take 1080p videos at very high bitrates and enter in the problematic category.
Stuttering can start to apppear with video bitrates higher than 8000 Kbps (1000 KB/s) and maybe even lower depending on the WiFi
To reduce network bandwidth and eliminate stutter, BubbleUPnP can force transcode videos whose bitrate is higher
than a user configured bitrate (the "Max video bitrate" setting).
For example, suppose you play a 1080p h264 video whose bitrate is 16000 Kbps. If "Max video bitrate" is set to 8000 and "Enforce max bitrate"
is enabled, this will force a reencode to 8000 Kbps, because 16000 > 8000.
But transcoding a video to reduce network bandwidth can potentially cause stutter if the CPU is not fast enough to perform the transcoding.
Transcoding a 1080p video requires a lot of CPU power and most current PCs are able to handle it. But if the CPU is not fast enough,
video will stutter because it cannot be transcoded fast enough.
To troubleshoot stutter issues, follow these steps for a possible solution:
On the machine running BubbleUPnP Server, monitor the ffmpeg process CPU usage (using the task manager on Windows), while the stuttering video is playing:
the ffmpeg process is not running (no transcoding is performed)
The cause of stuttering is that the video bitrate is too high.
Make sure "Enforce max bitrate" is enabled
lower "Max video bitrate" to 5000 Kbps and play the video again
if the video still stutters
lower "Max video bitrate" to 2000 Kbps and play the video again
if the video still stutters, go to 3. to check if the CPU is maxed out
the ffmpeg process is running and its CPU usage is not close to 100% (transcoding is performed, CPU not maxed out)
The cause of stuttering is that the video bitrate is too high.
lower "Max video bitrate" to 5000 Kbps and play the video again
if the video still stutters:
lower "Max video Bitrate" to 2000 Kbps and play the video again
if the video still stutters the cause of the stutter is unknown and neither due to bandwith nor to the CPU usage
the ffmpeg process is running and its CPU usage is close to 100% (transcoding is performed, CPU maxed out)
The cause of stuttering is that the CPU is maxed out
to lower CPU usage, set "Video encoding speed" to "Ultra fast" and play the video again
if CPU usage:
is still at 100%: disable transcoding by setting a high value (such as 30000) for "Max video bitrate" and play the video again.
if it still stutters there is no solution as the video requires too much bandwidth and your CPU is not powerful enough to lower it
is below 100% but video still stutters: go to 2.
Android BubbleUPnP doesn't detect BubbleUPnP Server
If you installed BubbleUPnP Server and Android BubbleUPnP doesn't detect it (Chromecast settings remain grayed out):
make sure that a firewall running on the machine on which BubbleUPnP Server runs is not blocking UDP port 1900
on Windows, check that BubbleUPnPServer.exe is not blocked by the firewall
reboot your WiFi router and Android device
Some or all of my videos managed by Windows Media Player do not play
There is a known issue with WMP. The symptom is that the Chromecast will show the video loading screen for a few seconds before reverting
to the BubbleUPnP logo.
The cause is unclear and until there is a solution, it is suggested to use another Media Server such as Serviio.
Go into Settings > Networks and settings, select an unused Network and set the connection parameters (left screenshot)
Use the Test button to test the connection
Use the Apply button to connect to BubbleUPnP Server and have the remote Media Servers listed in the Devices tab of the app (right screenshot)
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 [Home]" 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:
Public IP Address: 184.108.40.206
Public HTTP Port: 58050Public HTTPS Port: 58051Public host name: my.host.org
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
Use the login that you defined in the Security tab.
Use the password that you defined in the Security tab.
Active on connection
This setting allow you to set when 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.
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.
SD Card mobile music caching
Android BubbleUPnP can optionally cache to SD Card music accessed through BubbleUPnP Server, when using a mobile data
network connection. This reduces mobile data usage when playing tracks that have been previously played.
This section allows to configure caching settings:
Cache folder: select folder for storing cached tracks. By default this is <internal sd card root>/BubbleUPnP/cache/media.
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
Music playback transcoding
Mobile Max Bitrate: on a mobile connection, BubbleUPnP Server will transcode to the specified bitrate all audio whose bitrate is higher than this bitrate
WiFi / Eth Max Bitrate: on a WiFi / Eth connection, 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 (since BubbleUPnP 1.7.7): request BubbleUPnP Server to generate seekable transcoded music tracks (see below)
BubbleUPnP Server 0.7 introduces the ability to 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 with "Settings > Network and Settings > Seekable tracks" in Android BubbleUPnP 1.7.7+,
or forced on the server side with the -transcodeAudioSeekable command line argument or related parameter in the configuration.xml file.
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.
Here you can specify which profile should be used for video 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 or BS Player and probably many others.
The recommended player is MX Player.
Mobile transcoding: profile to be used on a mobile connection
Wifi / Eth transcoding: profile to be used on a WiFi / Eth connection
Image transcoding to local renderer
Optimize bandwidth: reduce the size of image by resizing and recompressing. Necessary for viewing large size photos over mobile networks.
Image quality: 0-100 jpeg compression quality. Higher is better quality and higher size.
File downloads transcoding
Here you will find specific transcode settings applied to downloaded files:
Lossless audio bitrate: downloaded lossless audio files will be transcoded by BubbleUPnP Server as MP3 of the specified bitrate
Video transcoding: downloaded videos will be transcoded to MKV with the specified quality
After installation, in the View menu of foobar2000 select "UPnP Browser".
The UPnP Browser window displays all your discovered LAN Media Server allowing browsing an playing music as shown in the left screenshot.
In the view Menu, select "Add remote Internet UPnP Server..." and enter BubbleUPnP Server connection settings (left screenshot):
the public hostname of BubbleUPnP Server with the protocol (http or https) and port. For example: http://22.214.171.124:5081 or https://126.96.36.199:5081. It is recommended that you use https whenever possible
the login and password you defined in the "Network and Security tab" of BubbleUPnP Server
If you are behind a HTTP proxy, you must set it before connecting with "Configure http proxy settings..." or in File > Preferences > Tools > UPnP > Browser
TIP: If you are on a corporate network only allowing outgoing HTTP traffic on port 80, you can setup BubbleUPnP Server to run on port 80 (provided you have no other web server using this port).
For HTTPS, use port 443.
After clicking OK and if the connection to BubbleUPnP Server is successful, the UPnP Browser tree will show a new Media Server named "BubbleUPnP Server (<Remote PC Network name>) [Internet]",
as shown in the right screenshot.
This "Super" Media Server lists all your Media Servers on your remote LAN for which the setting "Make this Media Server available in Android BubbleUPnP and foobar2000 for Internet access"
is enabled in BubbleUPnP Server (in the Media Servers tab).
To disconnect or remove the BubbleUPnP Server "Super" Media Server from the UPnP Browser, right click its root node and select "Remove server" in the context menu.
Note that you can integrate the "UPnP Browser" as a panel in the main foobar2000 window to avoid having a separate floating window.
Here are basic instructions to do so:
make sure the standalone "UPnP Browser" window is closed
As with Android BubbleUPnP as a client, it is possible to transcode audio on the fly when accessing your Media Servers with foobar2000.
Unlike Android BubbleUPnP, the transcoding settings are configured in BubbleUPnP Server, in the "Settings / foobar2000 remote access" tab.
Max audio bitrate: all files whose bitrate is greater than the specified bitrate will be transcoded to the specified bitrate. If bitrate is unknown, transcoding is performed.
Set to "None" to disable all transcoding.
Apply Max audio bitrate only to lossless audio: if enabled, only lossless files (FLAC, ALAC, ...) are applied the Max audio bitrate rule so only lossless files will possibly be transcoded. This prevents any lossy->lossy
transcoding which should be avoided if possible, if audio sound quality is important.
Transcoded files will not be seekable in foobar2000.
Changing these settings will only take effect in foobar2000 when browsing folders that were not previously browsed. To apply changes on browsed
folders, you must disconnect/reconnect the BubbleUPnP Server "Super" Media Server.
NEW: Since foo_upnp 0.99.45 it is possible to override server transcode settings (only lossless audio) in foobar2000, in Files -> Preferences > Tools > UPnP > Browser > Remote Internet Servers:
foo_upnp 0.99.45 also now makes it possible to play videos from BubbleUPnP Server. To play a video:
Browse to the video folder using the UPnP Browser
In the "UPnP Browser Selection" playlist, double-click the video. Then select a video player app (VLC, ...) to start playback. You can
alternatively open the video with context menu > UPnP Controller > Open ...
Starting with BubbleUPnP Server 0.6.4, it is possible to set video transcoding in foo_upnp settings in Files -> Preferences > Tools > UPnP > Browser > Remote Internet Servers > Video transcoding
BubbleUPnP Tether client is a simple Java command-line program that will make available on the LAN it is running Media Servers managed by BubbleUPnP Server on another LAN, with optional audio and video transcoding (UPnP Tethering).
It is only meaningful to run this client on a different LAN than BubbleUPnP Server.
Start it from the command-line with a BubbleUPnP Server connection URL specified with -connect and the login specified with -login. For example, on Windows (launsh.sh on unix):
launch.bat -connect https://myhostname.org:58051 -login mylogin
[it will ask for BubbleUPnP Server password here]
Once started, you should be able to access tethered media servers from any UPnP program or device on the LAN the client is running. By default, a tethered media server network name is appended "[tether]" to be differentiated from regular UPnP devices.
Several options can be specified on the command line and in particular transcoding options:
BubbleUPnP Server connection URL (eg, http://hostname:port or https://hostname:port)
Suffix appended to tethered UPnP device network names (default: "tether"). Allows to differentiate tethered devices from regular devices
Show command line help
log level, one of: OFF, ALL, FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE
Enable logging to file
Login for BubbleUPnP Server
Password for BubbleUPnP Server. If unspecified it will be prompted interactively
Set this option to transcode only lossless audio to the bitrate specified by -transcodeAudioMaxBitrate
Set this option to transcode to mp3, audio files whose original bitrate is higher than the specified bitrate. Valid values: 128, 192, 256, 320
Video container format used for transcoded videos (default: "mpegts"). Valid values: "mpegts" for MPEG-TS and "matroska" for MKV. Use MKV to
preserve embedded subtitles in transcoded video. MKV requires BubbleUPnP Server 0.6.5+
Transcode videos as a MPEG-TS stream of to the specified height in pixels. Audio is transcoded to MP3 128 Kbps. For example, to transcode
videos to 480p, set this value to 480. Valid values: [120...1200]
To change the HTTP or HTTPS port used by the server you must edit the configuration file and restart the server.
The configuration file is named configuration.xml. It is located in the installation directory.
Open it with your favorite editor and modify the field httpPort (or httpsPort). If you set a port < 1024 on unix you will need to start the
server as root otherwise you will get a permission error on startup.
To restart the server:
on Windows: use the "Stop BubbleUPnP Server Service" then "Start BubbleUPnP Server Service" found in the "BubbleUPnP Server" sub-menu of the Windows Start Menu
on other platforms: kill and restart the BubbleUPnP Server java process
Connecting through a VPN is not really necessary in most cases, as connecting through HTTPS over the Internet is more flexible.
If you want to connect through a VPN you can still do it, with the following limitations due to UPnP device discovery not being available on VPNs:
The connecting client (Android BubbleUPnP or foobar2000) will only be able to play media to itself (the local renderer in Android BubbleUPnP)
In Android BubbleUPnP, UPnP Tethering will be inoperant
To connect to a VPN in either Android BubbleUPnP or foobar2000, simply connect to BubbleUPnP Server using its LAN ip address instead of its public IP address,
the same as if you were connecting to it on a LAN only.
On Windows, ffmpeg is bundled in the Windows Installer so transcoding will work out of the box.
Transcoding support is enabled if the ffmpeg executable can be found in the PATH. ffmpeg
must be compiled with libmp3lame support.
To check that libmp3lame is supported the command below should return this output:
A number of issues may prevent BubbleUPnP Server to start. Most of them are network related.
First, make sure the version of Java is 7 or higher. BubbleUPnP Server will not work with older versions.
You can find the execution log file named BubbleUPnPServer.log.0 in the installation directory (by default on Windows: C:\Program Files (x86)\BubbleUPnP Server).
You can check this file for startup error messages:
org.teleal.cling.transport.spi.InitializationException: Could not discover any bindable network interfaces and/or addresses
On startup, usable network interfaces are enumerated. This error happens if none is found.
A network interface is usable if:
it is up (connected)
it has at least one assigned ip address
it is not a VMWare or Parallels virtual interface
it is not a PPP interface
it is not a loopback interface
Furthermore, at least one network interface must have an IPv4 address that is neither a loopback address (127.0.0.1) nor a link-local address (169.254.xxx.xxx).
MultiException[java.net.BindException: Address already in use, java.net.BindException: Address already in use]
The port (58050 by default) used by BubbleUPnP Server is currently used by another application (or BubbleUPnP Server is already running).
You can check which ports are used with the netstat command.
Configure a different port or kill the application using the current port.
org.teleal.cling.transport.spi.InitializationException: Could not initialize MulticastReceiverImpl: java.net.BindException: Address already in use
Some other program is bound to SSDP port 1900. You can check which ports are used with the netstat command.
org.teleal.cling.transport.spi.InitializationException: Could not initialize StreamServerImpl: java.net.SocketException: Permission denied: listen
Check that your firewall or other security software is not blocking Java
If you set a HTTP port < 1024, make sure you are running BubbleUPnP Server as root (on unix).
java.lang.RuntimeException: java.io.IOException: No route to host at org.fourthline.cling.transport.impl.DatagramIOImpl.send(SourceFile:159)
If you get this error on MacOS X and you are using a software called "Peer Guardian", go into Peer Guardian's settings and select the "Disable Filters" option.
Could not initialize StreamServerImpl: java.io.IOException: Unable to establish loopback connection
It seems this error is related to the Comodo firewall. Try disabling Comodo or adding a rule to allow BubbleUPnPServer.exe.
java.io.IOException: Cannot run program "netstat": error=2, No such file or directory
On non-Windows machines, the netstat command must be available and in the PATH.
[info] vmarg.3=-Djava.class.path=C:\Program Files (x86)\BubbleUPnP Server\BubbleUPnPServerLauncher.jar [info] Main Class: com/bubblesoft/bubbleupnpserver/server/Main Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
This error may happen only on Windows when running BubbleUPnP Server as a service, if the Java JRE is not correclty installed or incomplete.
Generally, reinstalling the latest version or the JRE (x86 or x64 depending on the Windows installer used) fixes it:
fixed failure to play video to Chromecast with Android BubbleUPnP in the following scenario:
Android BubbleUPnP and Chromecast are on a remote network
video played is exposed by BubbleUPnP Server (browsing remotely a [Home] media server)
video doesn't need transcoding (eg mp4)
0.9-update2 (Jan 20th 2015)
faster video analysis for some media types. Mostly noticeable when accessing the video is slow (cloud)
fixed failure to load the web configuration pages on the local network if there is no Internet connection
fixed transcoded video downloads (initiated from Android BubbleUPnP) not working with videos including image based subtitles (VobSub)
fixed possibly corrupted update download if the server is shutdown during download
fixed server crashing if browsing proxy media server folders with huge number of items (> 10K), with some browsing clients
fixed browsing MediaMonkey remotely (or as a proxy media server) returning no item (workaround MediaMonkey bug)
0.9-update1 (Nov 29th 2014)
fixed FLAC and other Chromecast non natively supported audio formats transcoded to mp3 instead of WAV (regression)
fixed inability to connect to BubbleUPnP Server with older versions of Android BubbleUPnP (regression)
0.9 (Nov 14th 2014)
Java 7 is the minimum version required
all installers now install the latest version, downloaded from bubblesoftapps.com
BubbleUPnP Server can update itself to new versions, either automatically or manually:
How updates are performed can be configured in the Settings > Updates web page.
By default, the server will check for updates everyday at 4am and automatically restarts
with the new version if an update is found. If Auto-update is disabled, updates are still
downloaded but not applied. This can be done manually in the Settings > Updates web page where manually
checking for update can also be done.
Moreover, if an update is found, it is notified on the Status page.
Chromecast: added ability to force video transcode even for supported formats. Enable in Android BubbleUPnP 2.1+: Settings > Chromecast > Force video transcoding
Chromecast: added ability to not transcode AC-3, for AC-3 passthrough. Enable in Android BubbleUPnP 2.1+: Settings > Chromecast > AC-3 Passthrough
Chromecast: HLS web streams (.m3u8 links) can now be played. The stream is just remuxed, with no loss of quality. Requires Android BubbleUPnP 2.1+
Chromecast: fixed unsupported container just containing a supported audio track, not playing (ex: a flv with an aac audio track)
cloud ffprobe (used on installs on which ffprobe is not available such as NASes) now supports probing https streams (mostly cloud streams: Google Drive, DropBox, ...)
added -disableChromecastSupport. Use if running multiple BubbleUPnP Server instances on the same LAN (not recommended!), so Android BubbleUPnP picks up the correct instance (the one not using this option) for Chromecast transcoding
fixed failure to create OpenHone Sonos renderers
fixed making NAT loopback requests that can fail with some routers
fixed rare fatal startup failure if adding NAT rules via UPnP fails
resize large photos to max Chromecast resolution (1080p) for faster loading. Requires Android BubbleUPnP 2.0.4.
Resized images are also cached to disk for even faster subsequent loading. Also rotates photos according to EXIF orientation.
web server updated to Jetty v7.6.15
fixes in public hostname detection and setting manually the hostname (DynDNS), to avoid an invalid hostname resulting in a failed connectivity test
fixed possible transcoding failure with PS3 Media Server
fixed failure to transcode non-seekable streams (live TV, HDHomeRun) for remote Android playback
fixed Chromecast transcoding failing for movies with multichannel audio with more than 6 channels (DTS-ES, 6.1, 7.1) and option "Preserve multichannel audio" enabled in Android BubbleUPnP
fixed proxy local media server not discoverable if the original device XML contains URLBase (example: Universal Media Server)
increase UPnP IGD timeout from 3 to 5s on Windows and 10s on non-windows (useful for slow devices such as Rpi)
automatic port forwarding rules added via UPnP IGD can be disabled with -disableUPnPPortForwarding
automatic opening of http and https ports with iptables (local firewall) can be disabled with -disableAddIptableRules (only on non-Windows and MAC platforms)
On Windows, sleeping prevention when streaming can be disabled with -disablePreventWindowsSleep (in case it causes Windows to never sleep)
Windows installer: updated icon, updated to WinRun4J 0.4.5, updated to ffmpeg 2.2.3
Ubuntu PPA: run BubbleUPnP Server with the user specified in /etc/default/bubbleupnpserver (default: root)
display better error messages in case the connection test fails
0.8.2 (Mar 20th 2014)
faster Chromecast embedded subtitle extraction if multiple subtitles
fixed non standard h264 profile videos not playing to Chromecast such as 10 bits videos.
fixed some video failing to transcode for Chromecast
preserve multichannel audio in video Chromecast transcodes
if an mp3 encoder is not available in the ffmpeg build, fallback to aac (if available) for audio transcoding in videos for Chromecast
detect ffmpeg versions too old for Chromecast video transcoding
fixed public hostname auto-detection sometimes incorrect
remove UPnP http/https port mappings on server shutdown
fixed Synology package to work with DSM 5.0 firmware
0.8.1 (Mar 4th 2014)
support seek in transcodes
support for embedded subtitles
support transcoding to a max bitrate
support transcoding with a specified x264 profile
support transcoding a specified audio and video track
transcode mp4 if it contains unsupported codecs (eg xvid in mp4)
fixed failure to transcode non-seekable streams such as live TV
fixed failure to transcode FLAC with embedded album art
fixed very high CPU usage when transcoding 1080p videos
do not reencode vorbis to mp3 in videos
fixed recent failure to determine the public ip address
fixed web configuration showing a blank page in rare case
0.8 (Feb 19th 2014)
Chromcast transcoding support for use with Android BubbleUPnP 1.8.0
Windows: prevent computer from going to sleep if currently streaming
fixed Rygel media server not available when connecting to BubbleUPnPS Server with Android BubbleUPnP
0.7 (Jan 3rd 2014)
gapless playback for OpenHome renderers if the underlying UPnP AV renderer supports gapless (disabled by default, must be enabled in the "Renderers" page for each OpenHome renderer)
higher quality downscaling of images whenever possible (enough memory). When updating from a previous version, clear manually the "cache" directory to regenerate images
attempt to automatically open http and https ports with iptables on Unix systems
added ability to set transcoded video H264 quality (Settings > Advanced > Video encoding quality)
added ability to force transcoding of high-res audio to either 44.1/16 or 48/16 FLAC (Settings > Advanced > Transcode high-res audio to 44.1/16 or 48/16 FLAC)
added ability to set logging level (Settings > Advanced > Log to file)
fixed OpenHome failure to seek FLAC and WAV for some renderers
fixed OpenHome failure to play next cloud stream in some cases
fixed transcoding LPCM streams not working
fixed transcoding TS stream with dvb_teletext subs failing
other obscure fixes
web: updated to GWT 2.5.1 (may work better with recent versions of IE)
Windows installer: updated java installer to 7u45
Windows installer: updated bundled ffmpeg to v2.1.1
0.6.5 (May 1st 2013)
added support for transcoding videos to MKV instead of MPEG-TS in a number of cases. MKV is automatically used when embedded subtitles must be preserved, and
for transcoded video downloads (both require Android BubbleUPnP 1.6.8+). ffmpeg must have been compiled with MKV support
fixed proxy media servers not discovered by Windows Media Player
added option -useNumericIpInStreamURL to force the server to return numeric ip stream URLs instead of a hostname.
This may be required for some specific renderers to accept to stream from a media server via tethering. This setting is forced if the browsing
client is a Samsung TV, which requires it
fixed small CPU spike every 30s on slow NASes
fixed stream URLs becoming invalid if browsing large number of items (more than 3000)
fixed Sony SA-NS310 renderer recognized as a media server instead of a renderer
fixed proxies not carrying the X_MS_MediaReceiverRegistrar service
libshine is used for mp3 transcoding if compiled in ffmpeg (useful on slow NASes as it uses way less CPU than libmp3lame)
added missing Standby action support for OpenHome renderers (simply stops playback)
fixed transcoded images rarely failing to load due to low read timeout
Windows installer: updated ffmpeg to 1.2, added ffprobe, updated Java installer to 7u21
0.6.4 (January 18th 2013)
transcoded videos now use MPEG-TS as container instead of AVI:
compatible with more video players on Android
fixes bogus video duration reported in most Android video players (duration is 00:00 as the stream is not seekable)
necessary change for these streams to play on a PC with foobar2000 as the client, with optional transcoding (see here), to a video player such as VLC
transcoded audio streams <= 64Kps use Ogg Vorbis for codec if ffmpeg supports it (compiled with libvorbis). This improves audio quality at low bitrates.
Works with Android BubbleUPnP and foo_upnp.
new command line option -webContextPath allows to change the root of all generated URLs by the server.
For example if webContextPath is set to /myprefix, all URLs will be of the form http://:/myprefix/...
The server's web interface will be found at http://:/myprefix. This URL must also be used as the Server connection URL in both
Android BubbleUPnP (requires v1.6.5) or foo_upnp.
This setting allows accessing BubbleUPnP Server through advanced proxies like LemonLDAP.
fixed proxy devices possibly not discovered by other UPnP software, when proxies are started before (in particular, software based on Platinum UPnP: XBMC, foo_upnp and many others)
fixed several OpenHome'd Xbox 360 issues
fixed slow retrieving of the WAN IP on startup when the primary server is not responding
fixed server remaining stuck on crash instead of exiting process
fixed server returning unplayable stream URLs if Internet connectivity appears after the server is started
fixed "Invalid pad bytes!" error (or similar message) preventing server startup on some exotic Java platforms (Solaris in particular)
fixed blinking popups in web configuration with Chrome 24
0.6.3 (November 15th 2012)
added subtitle support (including transcoded videos)
fixed certain XBMC and PS3 Media Server folders not browsable (due to invalid mime-types returned by these servers)
fixed rare issue on UPnP device disappearance
fixed sometimes wrong LAN IP detected in presence of a VPN
OpenHome room and name can be more than 20 characters
0.6.2 (September 12th 2012)
Ubuntu package in PPA repository. Downloadable ffmpeg static binary for Linux
fixed adding port forwarding rules using UPnP IGD not working anymore
fixed FLAC transcoding to MP3 not working if FLAC contains embedded album art, with newer versions of ffmpeg
on Java 7, modifying configuration.xml restarts the server automatically to take into account the changes
added advanced options in configuration.xml:
openHomeUseEventing: if true, the OpenHome renderer uses eventing instead of polling to get renderer state
openHomeTimeTaskPollingIntervalMs: polling interval in ms. Use higher values with problematic renderers (Pioneer)
thumbnailWidth: width of generated thumbnails in pixels (default: 160). Set to 0 to disable
0.6.1 (August 19th 2012)
fixed CPU and memory inefficient serving of transcoded images, now generated once and cached on disk
fixed rare issue were a Media Server discovered during BubbleUPnP Server initialization would not return correct streaming URLs
fixed browsing some Media Servers (PS3 Media Server, XBMC) failing due to invalid mime-types returned
removed minimserver removal of ">> Hide Contents" folder
removed -disableThumbnailTranscoding option not needed anymore
if no network interface is found on startup, make 3 new attempts at 10s interval. May help on Windows if service is started before network is fully up
added -Xss256k JVM parameter to launch.sh and launch.bat to prevent "java.lang.OutOfMemoryError: unable to create new native thread" on some systems
0.6 (August 13th 2012)
new demo server of BubbleUPnP Server to test without installing,
with either Android BubbleUPnP or foobar2000+foo_upnp. Contains sample music, photos, videos. To connect use: host: https://bubblesoftapps.com:58051, login: demo, password: demo
Faster web host for BubbleUPnP Server downloads (http://www.bubblesoftapps.com/bubbleupnpserver)
Synology NAS package available (created by winxi. Thanks!)
Improved Media Servers proxies:
add some *audio only* DLNA compatibility to non compliant Media Servers
add a LPCM/44.1/16 stream resource playable by any DLNA device for audio items. Example: minimserver able to play FLAC on a PS3
simplify streaming URLs to not contain any special URL encoded characters. Add file extension to stream URL path to make it look like a file (some rare renderers need this)
support for transcoding images for BubbleUPnP 1.5.0+ to optimize bandwith for mobile. This makes viewing large photos on a mobile connection practical
support for rotating transcoded photos if necessary based on EXIF info
support for recent versions of ffmpeg not working anymore to transcode video (now uses -preset <preset> instead of -fpre <preset file>).
The <preset> value can be set in configuration.xml (tag x264preset, valid values: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, verylow, placebo)
If the -preset option fails, -fpre will be used as a fallback to still work on older versions of ffmpeg
updated ffmpeg executable bundled in Windows installer
log files are now rotated and limited to 10Mb. reduced error spam in log for devices having issues. improved logging (device details, ffmpeg error output).
the server can be restarted from the web configuration in the Status page. Useful if the list of devices listed in the Media Renderer or Media Server tabs is not correct
fixed possible issues with device alive maintenance
fixed Server returning very low res album art for full covers
fixed transcoding images failing on some specific headless non-Windows installs
fixed OpenHome playlists not saved on server shutdown
fixed proxy Media Servers sometimes not discovered by other UPnP sofware on the LAN
fixed some obscure UPnP devices not discovered due to device bugs
fixed changing Repeat not working on OpenHome renderer in some cases
fixed audio not synced with video when transcoding some streams (IPTV)
if the server cannot initialize HTTPS, show an explicit error message in the Status page
added command line options -logFileMaxSize, -nologfile, -nologstdout
added <disableAudioVideoTranscoding> config file option to disable all audio/video transcoding even if ffmpeg is installed
added <disableImageTranscoding> config file option to disable all images resizing / rotating (do not disable for viewing photos over mobile!)
added <disableThumbnailTranscoding> config file option to disable thumbnail generation
added LICENSE.txt to distribution, shown by Windows Installer
Windows installer propose to install java 7u5 if Java 6 or 7 is not already installed
0.5.5.1 (June 9th 2012)
OpenHome playlists are now saved (on renderer network disappearance or server shutdown) and restored for each managed renderer (on network appearance)
BubbleUPnP Server can now be started without Internet connection. Limited to LAN-only functionality in that case (OpenHome, Media Server proxy)
support playing transcoded videos from starting position for resuming playback (requires Android BubbleUPnP 1.4.3+)
added fallback methods to find WAN IP Address
fixed mute notification not working on OpenHome'd WDTV Live
fixed ushare Media Server not discovered (ushare bug)
fixed Multicast2Unicast Server not being browsable (Multicast2Unicast bug)
0.5.4 (April 15th 2012)
added HTTPS support for connecting. Default https port is 58051. Works with Android BubbleUPnP 1.3.3+ and foo_upnp 0.99.37+
added support for sending compressed data to foo_upnp 0.99.37+ to save bandwidth
added support for logging media streams connections, in the NCSA common file format
Media streams logs are added to file access_log.txt found in the installation directory. Can be enabled/disabled in the "Network and Security" tab. Disabled by default
fixed obscure startup crash on some Windows installs
fixed new version check notification not working since v0.5
foo_upnp 0.99.36 can now control OpenHome renderers created by BubbleUPnP Server
0.5.2 (Mar 22th 2012)
fixed video transcoding possibly not working on non-Windows installs
video transcoding can be customized with preset file libx264-current.ffpreset. The content of this file can be modified or replaced with one of the presets found in the ffpresets sub-directory to control transcoding parameters
fixed server sometimes not starting on boot as a Windows Service
fixed seeking not working in Linn Kinsky when operating an OpenHome Renderer
0.5.1 (Mar 1st 2012)
added ability to create an OpenHome renderer from any UPnP AV Media Renderer. Provides persistent server-side playlist for playback, with shuffle and repeat support
added video transcoding support with Android BubbleUPnP (requires BubbleUPnP 1.3.2 or higher)
added "Allow to access server from the Internet" setting in the Network tab. If disabled, all remote (non LAN) connections will be denied
fixed issue with stopping the Windows Service
fixed issue with bad XML encoding in some cases, on Windows
0.4 (Feb 1st 2012)
fixed 100% usage of 1 CPU core when serving files
fixed proxy devices not browsable by some Control Points
fixed PS3 Media Server not browsable beyond its root folder
remove unresponding Media Servers from list that failed to notify their disappearance (can be disabled with discoveryMaintenanceInterval=0 in conf file)
increased timeouts for WMP
0.3.2 (Jan 8th 2012)
increased heap from 16Mb to 24Mb on Windows when running as a service (prevents possible out of memory)
fixed 2 rare crashes on startup
fixed rare crash on Media Server disappearance
fixed network issue possibly leading server to prompt for login/password when connecting from LAN
discard link-local network interfaces
do not discard network interfaces that do not report they are multicast capable (may prevent a few undue "Could not discover any bindable network interfaces and/or addresses" errors on startup)
validate public IP Address returned by whatsmyip.org on startup
added "troubleshooting server startup"" section to documentation
0.3 (Dec 2nd 2011)
fixed Media Servers possibly disappearing/reappearing after some time
added the ability to specify manually public hostname, for networks using dynamic DNS
detect and use network interface connected to the Internet instead of the first network interface found (overridable with -lanIp)
improved reliability of streaming and downloading (fixed tracks possibly truncated before the end)
updated documentation and FAQ
0.2 (Nov 24th 2011)
optimize album art size for faster download speed over mobile connections
kill ffmpeg process when client stops playback
reduced exception spam in log
fixed crash preventing web server to start with some network interfaces