A method of streaming media content over a network, the method comprising: obtaining, at a client device coupled to the network from a director server coupled to the network, a prioritized list of a plurality of content delivery sources on the network, the plurality of content delivery sources comprising a remote storage digital video recorder (RS-DVR) network and one or more content delivery networks (CDNs), wherein the ranking of the RS-DVR network in the prioritized list increases if the amount of available backhaul bandwidth of the RS-DVR network increases, and wherein if said amount of available backhaul bandwidth exceeds a threshold value for maintaining satisfactory performance of the RS-DVR network then the RS-DVR network is ranked higher than one or more CDNs; selecting, by a media player at the client device, the highest ranked content delivery source from the prioritized list as a selected content delivery source; requesting, by the media player, the media content from the selected content delivery source via the network; obtaining, at the client device from the director server, an updated prioritized list that reflects a current condition on the network, wherein if the available backhaul bandwidth of the RS-DVR network has fallen below the threshold value for maintaining satisfactory performance of the RS-DVR network then the ranking of the RS-DVR network is lowered in the updated priority list to be below that of one or more CDNs; and in response to obtaining the updated prioritized list: selecting, by the media player at the client device, the highest ranked content delivery source from the updated prioritized list as the selected content delivery source; and requesting, by the media player, subsequent portions of the media content from the selected content delivery source via the network. obtaining, at a client device coupled to the network from a director server coupled to the network, a prioritized list of a plurality of content delivery sources on the network, the plurality of content delivery sources comprising a remote storage digital video recorder (RS-DVR) network and one or more content delivery networks (CDNs), wherein the ranking of the RS-DVR network in the prioritized list increases if the amount of available backhaul bandwidth of the RS-DVR network increases, and wherein if said amount of available backhaul bandwidth exceeds a threshold value for maintaining satisfactory performance of the RS-DVR network then the RS-DVR network is ranked higher than one or more CDNs; selecting, by a media player at the client device, the highest ranked content delivery source from the prioritized list as a selected content delivery source; requesting, by the media player, the media content from the selected content delivery source via the network; obtaining, at the client device from the director server, an updated prioritized list that reflects a current condition on the network, wherein if the available backhaul bandwidth of the RS-DVR network has fallen below the threshold value for maintaining satisfactory performance of the RS-DVR network then the ranking of the RS-DVR network is lowered in the updated priority list to be below that of one or more CDNs; and in response to obtaining the updated prioritized list: selecting, by the media player at the client device, the highest ranked content delivery source from the updated prioritized list as the selected content delivery source; and requesting, by the media player, subsequent portions of the media content from the selected content delivery source via the network. selecting, by the media player at the client device, the highest ranked content delivery source from the updated prioritized list as the selected content delivery source; and requesting, by the media player, subsequent portions of the media content from the selected content delivery source via the network.