Real-time video detector
First Claim
1. A method for detecting a video seek request, the method comprising:
- receiving a hold-off status from an optimizer indicating that the optimizer is not receiving new transcoding sessions, the optimizer determining the hold-off status based on an estimate of a number of decode and encode macroblocks needed across existing transcoding sessions at the optimizer reaching a maximum capacity of macroblocks the optimizer can decode and encode per second, and wherein existing sessions at the optimizer are suspended for a period of time in response to a current video seek request prior to removal from a session table;
monitoring communications on a network to detect a video seek request originating from a client device, the video seek request indicating a new position for video playback in a video;
identifying whether the video seek request is associated with an existing session in the session table or constitutes a new session; and
redirecting the video seek request originating from the client to the optimizer in hold-off status in response to identifying that the video seek request is associated with an existing session in the session table, the optimizer configured for, in response to receiving the redirected video seek request from the client device;
establishing a first session with an origin server for retrieving video data from the origin server corresponding to the new position for video playback,transcoding the video data retrieved from the origin server over the first session corresponding to the new position for video playback, andestablishing a second session with the client device for providing the transcoded video data corresponding to the new position for video playback to the client device.
3 Assignments
0 Petitions
Accused Products
Abstract
A request to retrieve data from a client device is intercepted by a video detector. The video detector determines if the request is for retrieving a video file. If the request is for a video file, and the video file is deemed to be transcoded to be displayed on the client device, the video detector forwards the request to a video optimizer along with encoding parameters. Encoding parameters are selected by the video detector based on properties of the client device, networks accessible by the client device, conditions of those networks, properties of the requested video and the type of video requested. The encoding parameters also include a file format type to which the requested video is to be transcoded.
18 Citations
20 Claims
-
1. A method for detecting a video seek request, the method comprising:
-
receiving a hold-off status from an optimizer indicating that the optimizer is not receiving new transcoding sessions, the optimizer determining the hold-off status based on an estimate of a number of decode and encode macroblocks needed across existing transcoding sessions at the optimizer reaching a maximum capacity of macroblocks the optimizer can decode and encode per second, and wherein existing sessions at the optimizer are suspended for a period of time in response to a current video seek request prior to removal from a session table; monitoring communications on a network to detect a video seek request originating from a client device, the video seek request indicating a new position for video playback in a video; identifying whether the video seek request is associated with an existing session in the session table or constitutes a new session; and redirecting the video seek request originating from the client to the optimizer in hold-off status in response to identifying that the video seek request is associated with an existing session in the session table, the optimizer configured for, in response to receiving the redirected video seek request from the client device; establishing a first session with an origin server for retrieving video data from the origin server corresponding to the new position for video playback, transcoding the video data retrieved from the origin server over the first session corresponding to the new position for video playback, and establishing a second session with the client device for providing the transcoded video data corresponding to the new position for video playback to the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium storing executable computer program instructions for detecting a video seek request, the computer program instructions comprising instructions for:
-
receiving a hold-off status from an optimizer indicating that the optimizer is not receiving new transcoding sessions, the optimizer determining the hold-off status based on an estimate of a number of decode and encode macroblocks needed across existing transcoding sessions at the optimizer reaching a maximum capacity of macroblocks the optimizer can decode and encode per second, and wherein existing sessions at the optimizer are suspended for a period of time in response to a current video seek request prior to removal from a session table; monitoring communications on a network to detect a video seek request originating from a client device, the video seek request indicating a new position for video playback in a video; identifying whether the video seek request is associated with an existing session in the session table or constitutes a new session; and redirecting the video seek request originating from the client to the optimizer in hold-off status in response to identifying that the video seek request is associated with an existing session in the session table, the optimizer configured for, in response to receiving the redirected video seek request from the client device; establishing a first session with an origin server for retrieving video data from the origin server corresponding to the new position for video playback, transcoding the video data retrieved from the origin server over the first session corresponding to the new position for video playback, and establishing a second session with the client device for providing the transcoded video data corresponding to the new position for video playback to the client device. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
a video detector coupled to a network, the video detector configured to; receive a hold-off status indicating that a video optimizer is not receiving new transcoding sessions, monitor communications on a network to detect a video seek request originating from a client device coupled to the network, the video seek request indicating a new position for video playback in a video, in response to detecting the video seek request, identify that the video seek request is associated with an existing session in a session table tracking existing sessions at a video optimizer in hold-off status or constitutes a new session, and in response to identifying that the video seek request is associated with the existing session, transmit a redirect request to the client device from which the detected video seek request originated, the redirect request causing the client device to transmit a modified video seek request; and a video optimizer coupled to the network, the video optimizer configured to; determine a hold-off status based on an estimate of a number of decode and encode macroblocks needed across existing transcoding sessions at the video optimizer reaching a maximum capacity of macroblocks the video optimizer can decode and encode per second, and wherein existing sessions are suspended for a period of time in response to a current video seek request prior to removal from the session table, receive the modified video seek request associated with the redirect request from the client device, establish a first session with an origin server for retrieving video data from the origin server corresponding to the new position for video playback, transcode the video data retrieved from the origin server over the first session corresponding to the new position for video playback, and establish a second session with the client device for providing the transcoded video data corresponding to the new position for video playback to the client device. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification