A computer-implemented method for encoding two or more video streams associated with a content title for adaptive video streaming at respective, different, playback bit rates, the method comprising, for each of the two or more video streams: applying a video codec to the video stream at a specific playback bit rate for the video stream to generate (502; 602) a sequence of groups of pictures, "GOPs", wherein each GOP includes a key frame and one or more frames of video data; applying (504; 604) an advanced system format to the sequence of GOPs to generate one or more data packets that include the sequence of GOPs; padding one or more data packets for a said sequence of GOPs to align each key frame included in said sequence of GOPs with a different data packet; generating (510; 608) a sequence header index for the sequence of GOPs that includes switch points corresponding to respective GOPs in the sequence of GOPs, wherein a said switch point specifies a playback offset associated with a respective GOP in the sequence of GOPs and a data packet for the sequence of GOPs that includes a respective key frame included in said respective GOP in the sequence of GOPs; and combining (512; 610) the sequence header index with the one or more data packets to generate an encoded video stream, wherein, for each of the two or more video streams, the GOPs are associated with the same playback time interval and corresponding GOPs across the different video streams are associated with the same playback offsets, the playback offset associated with a said GOP determined based on the location of said GOP in the sequence of GOPs, whereby respective switch points of respective ones of the two or more video streams corresponding to the content title and encoded to different playback bit rates occur at the same playback time intervals at the same playback offsets across each of the two or more video streams. applying a video codec to the video stream at a specific playback bit rate for the video stream to generate (502; 602) a sequence of groups of pictures, "GOPs", wherein each GOP includes a key frame and one or more frames of video data; applying (504; 604) an advanced system format to the sequence of GOPs to generate one or more data packets that include the sequence of GOPs; padding one or more data packets for a said sequence of GOPs to align each key frame included in said sequence of GOPs with a different data packet; generating (510; 608) a sequence header index for the sequence of GOPs that includes switch points corresponding to respective GOPs in the sequence of GOPs, wherein a said switch point specifies a playback offset associated with a respective GOP in the sequence of GOPs and a data packet for the sequence of GOPs that includes a respective key frame included in said respective GOP in the sequence of GOPs; and combining (512; 610) the sequence header index with the one or more data packets to generate an encoded video stream, wherein, for each of the two or more video streams, the GOPs are associated with the same playback time interval and corresponding GOPs across the different video streams are associated with the same playback offsets, the playback offset associated with a said GOP determined based on the location of said GOP in the sequence of GOPs, whereby respective switch points of respective ones of the two or more video streams corresponding to the content title and encoded to different playback bit rates occur at the same playback time intervals at the same playback offsets across each of the two or more video streams.