Client-server-based digital video players with real-time playback quality control
Abstract
This patent disclosure provides various embodiments of a client-server based digital video playback system and technique. In one aspect, a process for playing an internet/online video on a user device is disclosed. This process can begin by sending a video playback request for playing back an online video to a server. Next, the process receives a set of video playback addresses corresponding to a set of transcoded versions of the online video and a recommended playback order for the set of transcoded versions from the server. Note that the set of video playback addresses and the recommended playback order are generated based on the video playback request. The process subsequently selects a first video playback address from the set of video playback addresses corresponding to the highest order in the recommended playback order. The process next obtains a first transcoded version of the online video based on the selected first video playback address, and begins to play the obtained first transcoded version of the online video on the user device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method for playing an online video on a user device, the method comprising:
sending a video playback request for playing back an online video to a server; receiving a set of video playback addresses corresponding to a set of transcoded versions of the online video and a recommended playback order for the set of transcoded versions from the server, wherein the set of video playback addresses and the recommended playback order are generated based on the video playback request; selecting a first video playback address from the set of video playback addresses corresponding to the highest order in the recommended playback order; obtaining a first transcoded version of the online video based on the selected first video playback address; and playing back the obtained first transcoded version of the online video on the user device.
2 . The computer-implemented method of claim 1 , wherein the highest order in the recommended playback order corresponds to the highest quality version in the set of transcoded versions of the online video.
3 . The computer-implemented method of claim 1 , wherein while playing back the obtained first transcoded version of the online video on the user device, the method further comprises:
determining that a playback issue has occurred during the playback of the first transcoded version; selecting a second video playback address from the set of video playback addresses corresponding to the second highest order in the recommended playback order; obtaining a second transcoded version of the online video based on the selected second video playback address; and starting playing back the obtained second transcoded version of the online video on the user device after stopping the playback of the first transcoded version.
4 . The computer-implemented method of claim 3 , wherein the second highest order in the recommended playback order corresponds to the second highest quality version in the set of transcoded versions of the online video which is lower in overall video quality than the highest quality version.
5 . The computer-implemented method of claim 3 , wherein the method further comprises sending a report of the determined playback issue and the selected first video playback address associated with the determined playback issue to the server.
6 . The computer-implemented method of claim 3 , wherein while playing back the obtained second transcoded version of the online video on the user device, the method further comprises:
determining that the playback issue persists during the playback of the second transcoded version; selecting a third video playback address from the set of video playback addresses corresponding to the third highest order in the recommended playback order; obtaining a third transcoded version of the online video based on the selected third video playback address; and starting playing back the obtained third transcoded version of the online video on the user device after stopping the playback of the second transcoded version.
7 . The computer-implemented method of claim 6 , wherein the third highest order in the recommended playback order corresponds to the third highest quality version in the set of transcoded versions of the online video which is lower in overall video quality than both the highest quality version and the second highest quality version.
8 . The computer-implemented method of claim 1 ,
wherein the video playback request includes at least a device type and a browser type of the user device; and wherein the set of video playback addresses and the recommended playback order are generated based at least on the device type and the browser type of the user device.
9 . The computer-implemented method of claim 1 , wherein the determined playback issue includes one of the following: video stuttering, glitching, freezing, skipping, lagging, and error reporting.
10 . A computer-implemented method for facilitating playing back an online video on a user device, the method comprising:
receiving a video playback request from the user device for an online video; generating a set of video playback addresses corresponding to a set of transcoded versions of the requested online video and a recommended playback order for the set of transcoded versions, wherein the recommended playback order specifies from the highest recommended order to the lowest recommended order that each of the set of transcoded videos is to be selected and played back on the user device; and sending the set of video playback addresses and the recommended playback order back to the user device to facilitate playing back the requested online video on the user device.
11 . The computer-implemented method of claim 10 , wherein generating the recommended playback order for the set of transcoded versions of the online video includes assigning the highest recommended order to a version in the set of transcoded versions having the highest video quality and the lowest recommended order to a version in the set of transcoded versions having the lowest video quality version, and wherein a video quality of a given transcoded version includes both an encoding format and a video resolution.
12 . The computer-implemented method of claim 10 , wherein generating the set of video playback addresses includes generating video playback addresses for all available transcoded versions of the requested online video.
13 . The computer-implemented method of claim 10 , wherein the received video playback request includes at least a device type and a browser type of the user device, and wherein the generated set of video playback addresses corresponds to a subset of available transcoded versions of the requested online video that meets at least one of the device type requirement and the browser type requirement.
14 . A client device for playing an online video, comprising:
one or more processors; a web browser; a sending module configured to send a video playback request for playing back an online video to a server; a receiving module configured to receive a set of video playback addresses corresponding to a set of transcoded versions of the online video and a recommended playback order for the set of transcoded versions from the server, wherein the set of video playback addresses and the recommended playback order are generated based on the video playback request; a selection module configured to select a first video playback address from the set of video playback addresses corresponding to the highest order in the recommended playback order; an acquisition module configured to obtain a first transcoded version of the online video based on the selected first video playback address; and a playback module configured to play back the obtained first transcoded version of the online video on the user device.
15 . The client device of claim 14 , wherein while playing back the obtained first transcoded version of the online video on the user device, the playback module is further configured to:
determine that a playback issue has occurred during the playback of the first transcoded version; select a second video playback address from the set of video playback addresses corresponding to the second highest order in the recommended playback order; obtain a second transcoded version of the online video based on the selected second video playback address; and start playing back the obtained second transcoded version of the online video on the user device after stopping the playback of the first transcoded version.
16 . The client device of claim 14 , wherein while playing back the obtained second transcoded version of the online video on the user device, the playback module is further configured to:
determine that the playback issue persists during the playback of the second transcoded version; select a third video playback address from the set of video playback addresses corresponding to the third highest order in the recommended playback order; obtain a third transcoded version of the online video based on the selected third video playback address; and start playing back the obtained third transcoded version of the online video on the user device after stopping the playback of the second transcoded version.
17 . The client device of claim 14 , wherein the determined playback issue includes one of the following: video stuttering, glitching, freezing, skipping, lagging, and error reporting.
18 . A server for facilitating playing back an online video on a user device, comprising:
one or more processors; a storage device coupled to the one or more processors; a receiving module configured to receive a video playback request from the user device for an online video; a processing module configured to generate a set of video playback addresses corresponding to a set of transcoded versions of the requested online video and a recommended playback order for the set of transcoded versions, wherein the recommended playback order specifies from the highest recommended order to the lowest recommended order that each of the set of transcoded videos is to be selected and played back on the user device; and a transmitting module configured to send the set of video playback addresses and the recommended playback order back to the user device to facilitate playing back the requested online video on the user device.
19 . The server of claim 18 , wherein the processing module is configured to generate the set of video playback addresses for all available transcoded versions of the requested online video.
20 . The server of claim 17 , wherein the received video playback request includes at least a device type and a browser type of the user device, and wherein the processing module is configured to generate the set of video playback addresses for a subset of available transcoded versions of the requested online video that meets at least one of the device type requirement and the browser type requirement.Join the waitlist — get patent alerts
Track US2021168417A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.