Chromecast can natively play only these media formats:

BubbleUPnP can transcode non natively supported media whenever necessary to make it playable.

Transcoding can be performed out of the box by your Android device (local transcoding), or by installing and running BubbleUPnP Server on a desktop computer or NAS.

Some Android devices may not be powerful enough to locally transcode some video, but can easily transcode all audio, including audio in videos. The most common case is transcoding DTS and AC3 audio in MP4/MKV videos, as well as unsupported audio codecs (ALAC, WMA, ...) in music files.

If you must transcode non supported videos formats (AVI, MPEG-2, FLV, ...), please consider instead installing 'BubbleUPnP Server' on a desktop computer or adequately powerful NAS.

Transcoding support also enables audio/video track selection in videos containing multiple ones.

Local transcoding is not compatible with Chromecast Guest mode.

Local transcoding tips (v4.3 improvements)

Since v4.3, local video transcoding is now hardware accelerated by your Android device, whenever possible. This results in vastly more efficient transcoding, a tad less processor intensive with less heat and battery drain. It also makes possible to transcode videos that were too heavy previously (resulting in stutters). If hardware transcoding fails or is not possible, the app will gracefully fallback to software transcoding. Hardware transcoding can be disabled in More > Settings > Chromecast transcoding > Use hardware transcoding. It is recommended to keep it enabled, unless you encounter a video that plays with visual artefacts (wrong colors, broken image, bad framerate, ...).

Software transcoding has also been improved, made less processor intensive at the expense of using more network bandwidth (which is usually not a problem). A new 'Faster software encoding' setting is available to make it even faster (requiring even more network bandwidth for good quality).

With this overhaul, there is a new video quality setting ('Video encode quality') characterized by a max bitrate for the encode (40, 20, 10, 5 Mbits/s choices) that applies to both hardware and software encoding. In practice the encoding can be much lower than this maximum, depending on video. The default is set to 10 Mbits/s which should give good results in most cases, but 20 Mbits/s is advised if the network bandwidth is available for it (there is no stutter).

What to do if a video is stuttering ?

A video can stutter if:

General tips:

If using local transcoding: