A method for synchronizing playback of video content, the method comprising: receiving (602, 702), by a video playback device (202a-e, 400, 904a-c), and from a video server (216, 300, 350, 900) providing video content (302, 360, 362, 364, 910) comprising at least a first fragment (312, 410, 802-806, 852-856, 914) of video content (302, 360, 362, 364, 910) and a second fragment (312, 410, 802-806, 852-856, 914) of video content (302, 360, 362, 364, 910), the first fragment (312, 410, 802-806, 852-856, 914) and second fragment (312, 410, 802-806, 852-856, 914) each comprising a plurality of video frames; receiving (604, 704), by the video playback device (202a-e, 400, 904a-c) from the video server (216, 300, 350, 900) and in response to a request from the video playback device, a playlist (304, 366, 368, 370, 411, 912) associated with the video content (302, 360, 362, 364, 910) and a value indicating an age of the playlist (304, 366, 368, 370, 411, 912) and calculated based on a live point time of the video server and on a time the video server received the request; determining (606, 708), by the video playback device (202a-e, 400, 904a-c) and based on a response latency of the request, an estimated current time of the video server (216, 300, 350, 900); determining (606, 710), by the video playback device and based on the age of the playlist and the estimated current time of the video server, an estimated live-point time of the video server; selecting (612, 716), by the video playback device and based on the estimated live-point time, a scheduled playback time for the first fragment; determining (616, 720), by the video playback device, that an actual playback time at which playback of the first fragment occurs is different from the scheduled playback time; and modifying (618, 724, 726), by the video playback device, the second fragment to adjust, based on a difference between the scheduled playback time and the actual playback time, a playback duration of the second fragment. receiving (602, 702), by a video playback device (202a-e, 400, 904a-c), and from a video server (216, 300, 350, 900) providing video content (302, 360, 362, 364, 910) comprising at least a first fragment (312, 410, 802-806, 852-856, 914) of video content (302, 360, 362, 364, 910) and a second fragment (312, 410, 802-806, 852-856, 914) of video content (302, 360, 362, 364, 910), the first fragment (312, 410, 802-806, 852-856, 914) and second fragment (312, 410, 802-806, 852-856, 914) each comprising a plurality of video frames; receiving (604, 704), by the video playback device (202a-e, 400, 904a-c) from the video server (216, 300, 350, 900) and in response to a request from the video playback device, a playlist (304, 366, 368, 370, 411, 912) associated with the video content (302, 360, 362, 364, 910) and a value indicating an age of the playlist (304, 366, 368, 370, 411, 912) and calculated based on a live point time of the video server and on a time the video server received the request; determining (606, 708), by the video playback device (202a-e, 400, 904a-c) and based on a response latency of the request, an estimated current time of the video server (216, 300, 350, 900); determining (606, 710), by the video playback device and based on the age of the playlist and the estimated current time of the video server, an estimated live-point time of the video server; selecting (612, 716), by the video playback device and based on the estimated live-point time, a scheduled playback time for the first fragment; determining (616, 720), by the video playback device, that an actual playback time at which playback of the first fragment occurs is different from the scheduled playback time; and modifying (618, 724, 726), by the video playback device, the second fragment to adjust, based on a difference between the scheduled playback time and the actual playback time, a playback duration of the second fragment.