Client-server-based solutions for playing online video advertisements on different user devices
Abstract
This patent disclosure provides various embodiments of an online 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 executing a user application including a video link to an online video, such as an online video Ad. The process then executes the video link to cause a new browser window to be opened within the user application and further cause a video playback request for the online video to be sent to a server. The process next receives a set of video playback addresses from the server specifying a set of storage locations of a set of transcoded versions of the online video. The process subsequently selects a video playback address from the set of video playback addresses corresponding to a transcoded version of the online video that matches a device version and a browser version of the user device. Next, the client process obtains the transcoded version of the online video from the selected video playback address. Finally, the process causes the obtained online video to play within the new browser window 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:
executing a user application on the user device, wherein the user application includes a video link to an online video; executing the video link to cause:
a new browser window to be opened within the user application; and
a video playback request for playing back the online video to be sent to a server, wherein the video playback request includes at least a device type and a browser type of the user device;
receiving a set of video playback addresses from the server specifying a set of storage locations of a set of transcoded versions of the online video, wherein the set of video playback addresses are generated by the server based at least on the device type and the browser type; selecting a video playback address from the set of video playback addresses corresponding to a transcoded version of the online video that matches a device version and a browser version of the user device; obtaining the transcoded version of the online video from the selected video playback address; and causing the obtained transcoded version of the online video to play within the new browser window on the user device.
2 . The computer-implemented method of claim 1 , wherein the video link is implemented in a script code, such as JavaScript, and wherein the script code implements one or more predetermined playback functions such as an autoplay function and an inline playback function within the user application.
3 . The computer-implemented method of claim 2 , wherein the new browser window is implemented with an embeddable browser, such as WebView.
4 . The computer-implemented method of claim 3 , wherein the embeddable browser is separated from a native browser of the user device that uses native video tags to control video playbacks, and wherein playing the online video in the embeddable browser window allows for bypassing restrictions of the native video tags on the predetermined playback functions specified in the video link.
5 . The computer-implemented method of claim 1 , wherein the online video is an online video advertisement (Ad), and wherein the server is an Ad server.
6 . The computer-implemented method of claim 1 , wherein the video playback request further includes network status information of a local area network (LAN) where the user device is located and connected to, and wherein the set of video playback addresses is generated by the server based on the network status information, the device type and the browser type.
7 . The computer-implemented method of claim 6 , wherein the network status information includes one or more of the following:
the type of the LAN; the highest data transmission rate of the LAN; an average transmission rate of the LAN; and a median transmission rate of the LAN.
8 . The computer-implemented method of claim 1 , wherein the method further comprises:
receiving a blacklist from the server, wherein the blacklist includes a second set of video playback addresses that do not support the device type and browser type specified in the video playback request; and rejecting any video playback address in the set of video playback addresses which is also in the second set of video playback addresses.
9 . The computer-implemented method of claim 1 , wherein selecting a video playback address from the set of video playback addresses includes:
determining if the user device supports WebAssembly; and if so,
selecting a first video playback address in the set of video playback addresses corresponding to a first transcoded version of the online video based on a H.264 encoding format;
otherwise,
selecting a second video playback address in the set of video playback addresses corresponding to a second transcoded version of the online video based on a MPEG-1 encoding format.
10 . The computer-implemented method of claim 1 , wherein the method further comprises:
during the playback of the transcoded version of the online video, sending playback quality information to the server; and receiving from the server, an updated set of video playback addresses generated based at least on the playback quality information, the device type, and the browser type.
11 . The computer-implemented method of claim 1 , wherein the device type of the user device includes some or all of the following user device information:
the device brand; the model of the device brand; the version of the device model; and the operating system (OS) type and version of the user device.
12 . The computer-implemented method of claim 1 , wherein the user device is a mobile device, and wherein the user application is an online mobile game.
13 . An apparatus for playing an online video on a user device, comprising:
one or more processors; a memory coupled to the one or more processors; and a program module, wherein the program module is stored in the memory and, during operation of the apparatus, is executed by the one or more processors to cause the program module to:
execute a user application on the user device, wherein the user application includes a video link to an online video;
execute the video link to cause:
a new browser window to be opened within the user application; and
a video playback request for playing back the online video to be sent to a server, wherein the video playback request includes at least a device type and a browser type of the user device;
receive a set of video playback addresses from the server specifying a set of storage locations of a set of transcoded versions of the online video, wherein the set of video playback addresses are generated by the server based at least on the device type and the browser type;
select a video playback address from the set of video playback addresses corresponding to a transcoded version of the online video that matches a device version and a browser version of the user device;
obtain the transcoded version of the online video from the selected video playback address; and
cause the obtained transcoded version of the online video to play within the new browser window on the user device.
14 . The apparatus of claim 13 , wherein the video link is implemented in a script code, such as JavaScript, and wherein the script code implements one or more predetermined playback functions such as an autoplay function and an inline playback function within the user application.
15 . The apparatus of claim 14 , wherein the new browser window is implemented with an embeddable browser, such as WebView.
16 . The apparatus of claim 15 , wherein the embeddable browser is separated from a native browser installed on the user device that uses native video tags to control video playbacks, and wherein playing the online video in the embeddable browser window allows for bypassing restrictions of the native video tags on the predetermined playback functions specified in the video link.
17 . A user device for playing an online video, comprising:
a processing module comprising a non-transitory computer readable medium storing instructions that, when executed, cause the user device to:
execute a user application on the user device, wherein the user application includes a video link to an online video;
execute the video link to cause:
a new browser window to be opened within the user application; and
a video playback request for playing back the online video to be sent to a server, wherein the video playback request includes at least a device type and a browser type of the user device;
receive a set of video playback addresses from the server specifying a set of storage locations of a set of transcoded versions of the online video, wherein the set of video playback addresses are generated by the server based at least on the device type and the browser type;
select a video playback address from the set of video playback addresses corresponding to a transcoded version of the online video that matches a device version and a browser version of the user device;
obtain the transcoded version of the online video from the selected first video playback address; and
cause the obtained transcoded version of the online video to play within the new browser window on the user device.
18 . The user device of claim 17 , wherein the non-transitory computer readable medium further stores instructions that, when executed, cause the user device to:
determine if the user device supports WebAssembly; and if so,
select a first video playback address in the set of video playback addresses corresponding to a first transcoded version of the online video based on a H.264 encoding format;
otherwise,
select a second video playback address in the set of video playback addresses corresponding to a second transcoded version of the online video based on a MPEG-1 encoding format.
19 . The user device of claim 17 , wherein the device type of the user device includes some or all of the following user device information:
the device brand; the model of the device brand; the version of the device model; and the operating system (OS) type and version of the user device.
20 . The user device of claim 17 , wherein the user device is a mobile device, and wherein the user application is an online mobile game.Join the waitlist — get patent alerts
Track US2021168433A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.