[Google Chromecast] bhiga:
Because Chromecast communicates solely via WiFi, the minimum sustained wireless bandwidth is critical for streaming quality.

This is usually not a problem for "normal" Chromecast applications that pull streams from the Internet - those services are designed to adapt to and scale with the available connection speed.

Content streaming from local devices is a different scenario altogether.

Chromecast doesn't necessarily work the same as traditional set-top media players (Apple TV, WDTV, Roku, etc) when streaming media from your phone/tablet/computer (device-local) and LAN-based (from a server) media can consume more bandwidth than you would expect.

Depending on where the media is located and how it is being sent to Chromecast, up to 3x the media's bitrate may be consumed (and required) on the WiFi network. If you have high bitrate media, this can easily overload an 802.11g connection or even an 802.11n connection.

Keep in mind that connection speed is not constant, and is limited by both your environment and your router.

Other nearby WiFi devices can cause interference, and the 2.4 GHz wireless band that Chromecast uses is "crowded" with many devices like cordless telephones and microwave ovens using overlapping frequencies.

Also, routers vary in the wireless speeds they can maintain. Just because you have a 802.11n 150 Mbps connection, that does not mean your router can truly sustain 150 Mbps throughput.

Better routers advertise use cases for "HD streaming" and have Gigabit LAN ports rather than 100 Mbps LAN ports found on cheaper models.

Just like a Gigabit Ethernet USB 2.0 adapter will never reach full Gigabit speed due the USB 2.0 bottleneck (480 Mbps), cheaper routers often are limited by their internal processor's lack of forwarding speed.

See the attachments for use examples and how the required bandwidth can multiply: Note that the 10 Mbps figure is just an example.

Standard Internet stream example

YouTube, Hulu Plus, HBO Go, VEVO, etc use this methodology

Direct stream from LAN storage example

Plex (from a local Plex server) and fling (from a desktop) work this way. Desktop and Tab casting from Chrome also uses this data flow.

Data is sent from the LAN device via WiFi

Chromecast receives data from the LAN device via WiFi

Streaming from wireless device storage example

Casting content

stored on the device

(device-local) from Avia or RealPlayer Cloud use this method.

Data is sent from the casting device via WiFi to Chromecast

Chromecast receives data via WiFi

Forwarding from LAN storage example

Casting content

stored on a LAN device

(DLNA, network share, etc) from Avia uses this method.

Data is sent from the LAN device to casting device running Avia via WiFi

Data is sent from the casting device running Avia via WiFi to Chromecast - this is the forwarding piece, data travels through

Chromecast receives data via WiFi

To optimize available bandwidth for Chromecast:

Use an 802.11n dual-band router and put your other wireless devices on the 5 GHz access point whenever possible

or use a separate WiFi access point connected to the wired network for Chromecast

Use wired connections for cast sources (server/desktop/laptop) wherever possible

Reencode high-bitrate media to lower bitrate (4 Mbps should be fine for most use)

Optimize Chromecast's ability to get a stable WiFi signal - move it away from the TV using the HDMI extender or an HDMI extension cable

and/or move your router so it's closer to Chromecast (but not too close - too close can get into a "drowned in the noise" situation)