Trick Mode Support for VOD with Long Intra-Frame Intervals
A video-on-demand system encodes multiple video streams from media content, such that the video streams have staggered intra-frame intervals. When a client device requests a video stream, the video-on-demand system selects one of the multiple video streams based on the position of the intra-frames, and transmits the selected video stream to the client device.
1 . A method for selecting a video stream from a plurality of video streams comprising:
transmitting a first video stream with a first display speed;
receiving a request to transmit a video stream with a second display speed;
determining a current video position associated with the first video stream;
identifying a start position for a second video stream based on the current video position; and
selecting the second video stream from multiple video streams having the second display speed, such that the second video stream has an intra-frame near the start position.
2 . A method as recited in claim 1 wherein the first and second display speeds comprise at least one of normal forward, slow forward, fast forward, normal reverse, slow reverse, or fast reverse.
3 . A method as recited in claim 1 wherein the multiple video streams have staggered intra-frame intervals relative one video stream to another video stream.
4 . A method as recited in claim 1 wherein the multiple video streams have equal and staggered intra-frame intervals relative one video stream to another video stream.
5 . A method as recited in claim 1 further comprising transmitting the second video stream.
6 . A method as recited in claim 1 further comprising transmitting the second video stream, beginning at the start position.
7 . A method as recited in claim 1 further comprising transmitting the second video stream, beginning at the first intra-frame after the start position.
8 . A method as recited in claim 1 further comprising transmitting the second video stream, beginning at the last intra-frame before the start position.
9 . A method as recited in claim 1 wherein the second video stream has an intra-frame after and closest to the start position, compared to an intra-frame in another one of the multiple video streams having the second display speed.
10 . A method as recited in claim 1 wherein the second video stream has an intra-frame before and closest to the start position, compared to an intra-frame in another one of the multiple video streams having the second display speed.
11 . One or more computer storage media encoded with computer executable instructions that, when executed, direct a computing system to perform the method as recited in claim 1 .
12 . A system comprising:
means for selecting from a plurality of video streams with staggered intra-frame intervals, a video stream with an intra-frame nearest a specified location; and
means for transmitting the video stream that is selected.
13 . A system as recited in claim 12 , wherein the video stream with an intra-frame nearest the specified location is a video stream with a nearest intra-frame past the specified location.
14 . A system as recited in claim 12 , wherein the video stream with an intra-frame nearest the specified location is a video stream with a nearest intra-frame prior to the specified location.
15 . A system as recited in claim 12 , further comprising means for storing the plurality of video streams with staggered intra-frame intervals.
16 . One or more computer storage media encoded with computer executable instructions that, when executed, direct a computing system to:
transmit a first video stream having a first display attribute;
receive a request to transmit a video stream having a second display attribute;
select a second video stream from multiple video streams having the second display attribute and staggered intra-frame intervals; and
transmit the second video stream.
17 . One or more computer storage media as recited in claim 16 , wherein the first display attribute comprises a first display speed and the second display attribute comprises a second display speed.
18 . One or more computer storage media as recited in claim 16 , further encoded with computer executable instructions that, when executed, direct the computing system to select the second video stream by:
determining a current position associated with the first video stream;
identifying a start position associated with the multiple video streams that corresponds to the current position; and
selecting from the multiple video streams, a video stream with an intra-frame closest to the start position.
19 . One or more computer storage media as recited in claim 18 , wherein the video stream with an intra-frame closest to the start position is a video stream with a closest intra-frame before the start position.
20 . One or more computer storage media as recited in claim 18 , wherein the video stream with an intra-frame closest to the start position is a video stream with a closest intra-frame after the start position.