1. A method executable by a media client device to reduce total network bandwidth used in the distribution of a media stream to a plurality of media clients, wherein the media stream is distributed as a series of individually-addressable file segments, the method comprising: the media client device identifying other clients of the plurality of clients that have segments of the same media stream, the plurality of other clients being located within a same local network as the media client device and being logically organized in a hierarchical structure, the media client device requesting to join the hierarchical structure; the media client device receiving a response message from one of the other clients, the response message identifying a place in the hierarchical structure for the media client device; the media client device receiving mapping information from a particular one the other that describes locations of local segments of the media stream that are locally stored on each of the plurality of clients organized in the hierarchical structure; and the media client device subsequently obtaining at least one segment of the media stream from a location identified in the mapping information by making a direct request from the requesting client to the client within the local network having the locally-stored segment stored at the location identified in the mapping information and the media client device applying a priority policy rule defining segment quality priorities and network priorities that are used when obtaining media segments for media playback, and wherein the priority policy rule is defined to retrieve the highest quality segments possible based on a comparison of minimum segment quality available on the local network and minimum latency threshold for retrieving the packets from a network.