A method, comprising: receiving (605, 610), from a video display device (170, 285), a request for a content stream that includes splice points, wherein each splice point is associated with a position in the content stream; receiving, from a video encoder, a playlist that includes an ordered list of identifiers that refer to media segment files that represent the content stream, a duration tag for each of the media segment files, and splice point tags, wherein the content stream is segmented into the media segment files and splice points in the content stream are aligned with segment boundaries of the media segment files, wherein each duration tag indicates the duration of a corresponding media segment file, and wherein each splice point tag is in a location in the playlist that corresponds to the position of one of the splice points in the content stream; identifying an insertion position that corresponds to a media segment in the playlist that is to be replaced with an advertisement segment based on the location of the splice point tags in the playlist; selecting the advertisement segment such that the duration of the selected advertisement segment matches the duration specified in the duration tag corresponding to the media segment to be replaced; replacing the media segment with the advertisement segment at the insertion position to create a modified playlist; removing the splice point tags from the modified playlist; and sending the modified playlist to the video display device (170, 285) for downloading the media segment files and advertisement segment file according to the modified playlist for display on a video display. receiving (605, 610), from a video display device (170, 285), a request for a content stream that includes splice points, wherein each splice point is associated with a position in the content stream; receiving, from a video encoder, a playlist that includes an ordered list of identifiers that refer to media segment files that represent the content stream, a duration tag for each of the media segment files, and splice point tags, wherein the content stream is segmented into the media segment files and splice points in the content stream are aligned with segment boundaries of the media segment files, wherein each duration tag indicates the duration of a corresponding media segment file, and wherein each splice point tag is in a location in the playlist that corresponds to the position of one of the splice points in the content stream; identifying an insertion position that corresponds to a media segment in the playlist that is to be replaced with an advertisement segment based on the location of the splice point tags in the playlist; selecting the advertisement segment such that the duration of the selected advertisement segment matches the duration specified in the duration tag corresponding to the media segment to be replaced; replacing the media segment with the advertisement segment at the insertion position to create a modified playlist; removing the splice point tags from the modified playlist; and sending the modified playlist to the video display device (170, 285) for downloading the media segment files and advertisement segment file according to the modified playlist for display on a video display.