A method for video playback uses only resources universally supported by a browser (“inline playback”) operating in virtually all handheld media devices. In one case, the method first prepares a 
video sequence for display by a browser by (a) dividing the 
video sequence into a silent video 
stream and an audio 
stream; (b) extracting from the silent video 
stream a number of still images, the number of still images corresponding to at least one of a desired output 
frame rate and a desired output resolution; and (c) combining the still images into a composite image. In one embodiment, the composite image having a number of rows, with each row being formed by the still images created from a 
fixed duration of the silent video stream. Another method plays the still images of the composite image as a 
video sequence by (a) loading the composite image to be displayed through a 
viewport defined the size of one of the still images; (b) selecting one of the still images of the composite image; (c) setting the 
viewport to display the selected still image; and (d) setting a 
timer for a specified time period based on a 
frame rate, such that, upon expiration of the specified time period: (i) selecting a next one of the still images to be displayed in the 
viewport, unless all still images of the composite image have been selected; and (ii) return to step (c) if not all still images have been selected.