Multimedia streaming is a well established application in today's Internet and broadcasts of live events are increasingly popular. It is often the case that network conditions change during a live broadcast and this can potentially lead to Quality of Service issues at the receiving clients. This paper proposes a multimedia streaming architecture that can adapt to changing network conditions. For scalability purposes and to reduce network load, jitter and packet loss, stream relays form an integral part of this architecture as they forward media data to nearby clients. During operation, and in a manner transparent to the user, clients may be dynamically assigned to different stream relays, this results in server load balancing and in maintaining high Quality of Service for the end-users.