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.