A playback device configured to perform adaptive bitrate streaming, the playback device comprising a processor configured, via a client application, to request a top level index file and container files via a network; wherein the client application further configures the processor to: commence playback by retrieving the top level index file that identifies a plurality of container files that contain the streams available to the playback device for use in adaptive bitrate streaming, where the available streams include a plurality of alternative video streams, each of the alternative video streams is the same source video content encoded at a different bitrate and is stored in a separate container file as a plurality of portions of video, each portion of video is encoded as at least one closed group of pictures starting with an Instantaneous Decoder Refresh frame, and each container file includes information concerning the encoding of the video contained within the container file and an index to the encoded media within the container file and the top level index file indicates the portions of each container file containing this information; select one or more streams including one of the plurality of alternative video streams to utilize in the playback of media based upon the retrieved at least a portion of the top level index file; using the top level index file to request the portions of the container file that include the information concerning the encoding of the video contained within the container file and the index to the encoded media within the container file configure a video decoder to playback the encoded video using the retrieved information concerning the encoding of the video; retrieve encoded media from the container file of the selected alternative video stream using the requested index information to the encoded media within the container file; playback the retrieved portions of video from the selected alternative video stream using the decoder; and when a change in streaming conditions is detected, select a new alternative video stream that is more appropriate for the streaming conditions than the previously selected alternative video stream. commence playback by retrieving the top level index file that identifies a plurality of container files that contain the streams available to the playback device for use in adaptive bitrate streaming, where the available streams include a plurality of alternative video streams, each of the alternative video streams is the same source video content encoded at a different bitrate and is stored in a separate container file as a plurality of portions of video, each portion of video is encoded as at least one closed group of pictures starting with an Instantaneous Decoder Refresh frame, and each container file includes information concerning the encoding of the video contained within the container file and an index to the encoded media within the container file and the top level index file indicates the portions of each container file containing this information; the available streams include a plurality of alternative video streams, each of the alternative video streams is the same source video content encoded at a different bitrate and is stored in a separate container file as a plurality of portions of video, each portion of video is encoded as at least one closed group of pictures starting with an Instantaneous Decoder Refresh frame, and each container file includes information concerning the encoding of the video contained within the container file and an index to the encoded media within the container file and the top level index file indicates the portions of each container file containing this information; select one or more streams including one of the plurality of alternative video streams to utilize in the playback of media based upon the retrieved at least a portion of the top level index file; using the top level index file to request the portions of the container file that include the information concerning the encoding of the video contained within the container file and the index to the encoded media within the container file configure a video decoder to playback the encoded video using the retrieved information concerning the encoding of the video; retrieve encoded media from the container file of the selected alternative video stream using the requested index information to the encoded media within the container file; playback the retrieved portions of video from the selected alternative video stream using the decoder; and when a change in streaming conditions is detected, select a new alternative video stream that is more appropriate for the streaming conditions than the previously selected alternative video stream.