The demand for streaming multimedia applications is growing at a fast rate. In this report, we present Bayeux, an efficient application-level multicast system that scales to arbitrarily large receiver groups while tolerating failures in routers and network links. Bayeux also includes specific mechanisms for load-balancing across replicate root nodes and more efficient bandwidth consumption. Our simulation results indicate that Bayeux maintains these properties while keeping transmission overhead low (i.e., overlay routing latency is only 2-3 times of the physical shortest path latency and redundant packet duplication is a 85-fold improvement over naive unicast). To achieve these properties, Bayeux leverages the architecture of Tapestry, a fault-tolerant, wide-area overlay routing and location network.