A method of reducing bandwidth needed for streaming media content from a streaming media server to a client media device, the method comprising: identifying, by the streaming media server, a subset of a plurality of media content items having a portion of media data in common; extracting, by the streaming media server, the common portion from a first media content item of the subset; generating, by the streaming media server, a common media package comprising the extracted common portion; providing, by the streaming media server to the client media device, the common media package; receiving, by the streaming media server from the client media device, a request for an item of content; selecting, by the streaming media server, an item of content from the subset of the plurality of media content items; and transmitting, by the streaming media server to the client media device, an identification of the common media package and an identification of a chunk of the selected item of content subsequent to the common portion, to trigger the client media device to render the previously provided common media package and request the subsequent chunk of the selected item of content; the method further comprising: receiving, by the streaming media server from the client media device, a second request for an item of content; selecting, by the streaming media server, a second item of content from the subset of the plurality of media content items; and transmitting, by the streaming media server to the client media device, the identification of the common media package and an identification of a chunk of the selected second item of content subsequent to the common portion, to trigger the client media device to render the previously provided common media package and request the subsequent chunk of the selected second item of content. identifying, by the streaming media server, a subset of a plurality of media content items having a portion of media data in common; extracting, by the streaming media server, the common portion from a first media content item of the subset; generating, by the streaming media server, a common media package comprising the extracted common portion; providing, by the streaming media server to the client media device, the common media package; receiving, by the streaming media server from the client media device, a request for an item of content; selecting, by the streaming media server, an item of content from the subset of the plurality of media content items; and transmitting, by the streaming media server to the client media device, an identification of the common media package and an identification of a chunk of the selected item of content subsequent to the common portion, to trigger the client media device to render the previously provided common media package and request the subsequent chunk of the selected item of content; the method further comprising: receiving, by the streaming media server from the client media device, a second request for an item of content; selecting, by the streaming media server, a second item of content from the subset of the plurality of media content items; and transmitting, by the streaming media server to the client media device, the identification of the common media package and an identification of a chunk of the selected second item of content subsequent to the common portion, to trigger the client media device to render the previously provided common media package and request the subsequent chunk of the selected second item of content. receiving, by the streaming media server from the client media device, a second request for an item of content; selecting, by the streaming media server, a second item of content from the subset of the plurality of media content items; and transmitting, by the streaming media server to the client media device, the identification of the common media package and an identification of a chunk of the selected second item of content subsequent to the common portion, to trigger the client media device to render the previously provided common media package and request the subsequent chunk of the selected second item of content.