The disclosed subject matter relates to methods, systems, and media for providing dynamic media sessions with video stream transfer features.
With the increase in networked media devices, users may generally be interested in transferring a presentation of video content from one device to another, for example, as they move around their home. For example, a user may want to begin watching a video content item on a first display device (e.g., a living room television) and then transfer playback of the video content item to a second display device (e.g., a kitchen display device) as they move into a room with the second display device. However, it can be difficult to transfer video content from one device to another. For example, it can be difficult for a user to start the same content on the new device, and for the user to remember the point at which the user left off.
Accordingly, it is desirable to provide new methods, systems, and media for providing dynamic media sessions with video stream transfer features.
Methods, systems, and media for providing dynamic media sessions with video stream transfer features are provided.
In accordance with some embodiments of the disclosed subject matter, a method for media playback is provided, the method comprising: causing, by a user device, a video content item to begin being presented on a first display device; receiving, at the user device, an indication that presentation of the video content item is to be transferred from the first display device to a different display device; determining that the first display device supports transferring the presentation of the video content item; determining that the different display device is capable of presenting the video content item; transmitting, from the user device to a server, an indication that presentation of the video content item is to be transferred from the first display device to the different display device based on the determination that the first display device supports transferring the presentation of the video content item and the determination that the different display device is capable of presenting the video content item; requesting, by the server, a playback state from the first display device; and transmitting, by the server to the different display device, the playback state to the different display device in connection with an instruction to begin presenting the video content item from a playback position that is based on the playback state.
In some embodiments, the method further comprises presenting a second user interface on the user device during presentation of the video content item on the first display device for controlling playback of the video content item on the first display device.
In some embodiments, the method further comprises presenting the second user interface on the user device during presentation of the video content item on the selected display device, wherein the second user interface is updated to indicate an identity of the selected display device.
In some embodiments, the second user interface includes a selectable icon that, when selected, causes the user interface that indicates display devices included in the group of available display devices to be presented on the user device.
In some embodiments, the selected display device is the user device.
In some embodiments, the method further comprises initializing, on the user device, a media playback application for presenting the video content item in response to receiving the selection of the display device.
In some embodiments, a first instance of a media playback application is executing on the first display device.
In some embodiments, the method further comprises determining whether the media playback application is capable of transferring the video content item from the first display device to a different display device.
In some embodiments, the server causes the second display device to execute a second instance of the media playback application, and wherein the second instance of the media playback application receives the playback state for resuming playback of the video content item.
In some embodiments, the method further comprises determining whether the first display device is capable of being removed from presenting the video content item.
In accordance with some embodiments of the disclosed subject matter, a system for media playback is provided, the system comprising a hardware processor that: causes, by a user device, a video content item to begin being presented on a first display device; receives, at the user device, an indication that presentation of the video content item is to be transferred from the first display device to a different display device; determines that the first display device supports transferring the presentation of the video content item; determines that the different display device is capable of presenting the video content item; transmits, from the user device to a server, an indication that presentation of the video content item is to be transferred from the first display device to the different display device based on the determination that the first display device supports transferring the presentation of the video content item and the determination that the different display device is capable of presenting the video content item; requests, by the server, a playback state from the first display device; and transmits, by the server to the different display device, the playback state to the different display device in connection with an instruction to begin presenting the video content item from a playback position that is based on the playback state.
In accordance with some embodiments of the disclosed subject matter, a non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for media playback is provided, the method comprising: causing, by a user device, a video content item to begin being presented on a first display device; receiving, at the user device, an indication that presentation of the video content item is to be transferred from the first display device to a different display device; determining that the first display device supports transferring the presentation of the video content item; determining that the different display device is capable of presenting the video content item; transmitting, from the user device to a server, an indication that presentation of the video content item is to be transferred from the first display device to the different display device based on the determination that the first display device supports transferring the presentation of the video content item and the determination that the different display device is capable of presenting the video content item; requesting, by the server, a playback state from the first display device; and transmitting, by the server to the different display device, the playback state to the different display device in connection with an instruction to begin presenting the video content item from a playback position that is based on the playback state.
In accordance with some embodiments of the disclosed subject matter, a system for media playback is provided, the system comprising: means for causing, by a user device, a video content item to begin being presented on a first display device; means for receiving, at the user device, an indication that presentation of the video content item is to be transferred from the first display device to a different display device; means for determining that the first display device supports transferring the presentation of the video content item; means for determining that the different display device is capable of presenting the video content item; means for transmitting, from the user device to a server, an indication that presentation of the video content item is to be transferred from the first display device to the different display device based on the determination that the first display device supports transferring the presentation of the video content item and the determination that the different display device is capable of presenting the video content item; means for requesting, by the server, a playback state from the first display device; and means for transmitting, by the server to the different display device, the playback state to the different display device in connection with an instruction to begin presenting the video content item from a playback position that is based on the playback state.
Various objects, features, and advantages of the disclosed subject matter can be more fully appreciated with reference to the following detailed description of the disclosed subject matter when considered in connection with the following drawings, in which like reference numerals identify like elements.
In accordance with various embodiments, mechanisms (which can include methods, systems, and media) for providing dynamic media sessions with video stream transfer features are provided.
In some embodiments, the mechanisms described herein can be used to transfer presentation of a video content item from a first display device to a second display device. In some embodiments, the first display device and the second display device can be any suitable type(s) of devices capable of presenting video content, such as a television, a smart television, a display connected to a streaming media device, a game console, a vehicle entertainment system, a mobile device (e.g., a mobile phone, a wearable computer, a tablet computer, a laptop computer, a desktop computer, and/or any other suitable mobile device), a virtual assistant device with a screen, and/or any other suitable type of display device.
In some embodiments, the mechanisms can cause presentation of the video content item to be transferred from the first display device to the second display device in response to any suitable information. For example, in some embodiments, a user device (e.g., a mobile phone, a virtual assistant device, a tablet computer, a wearable computer, and/or any other suitable device) that is used to control presentation of the video content item on the first display device can receive an indication that presentation of the video content item is to be transferred to the second display device. As a more particular example, in some embodiments, the user device can receive the indication via one or more user interfaces, as shown in and described below in more detail in connection with
In some embodiments, the mechanisms described herein can identify available display devices and can present the identified display devices for selection by a user. For example, in some embodiments, available display devices (e.g., “bedroom television,” “den television,” “kitchen smart display,” etc.) can be identified and can be presented as available display devices to which presentation of a video content item can be transferred. In some embodiments, available display devices can be identified and presented for selection by a user in any suitable manner, as shown in and described below in connection with
In some embodiments, the mechanisms described herein can transfer playback of the video content item from the first display device to the second display device in any suitable manner. For example, as described below in more detail in connection with
Turning to
At 102 of process 100, the user device can cause a video content item to begin being presented on a first display device. In some embodiments, the first display device can be any suitable type of media presentation device that is capable of presenting video content, such as a smart television, a television coupled to a streaming media device that receives instructions from the user device, a game console, a virtual assistant device with a screen, and/or any other suitable display device. In some embodiments, the user device can communicate with the first display device in any suitable manner. For example, in some embodiments, the user device and the first display device can transmit and receive messages via a Wi-Fi network the user device and the first display device are both connected to. As another example, in some embodiments, the user device and the first display device can communicate via a BLUETOOTH network.
In some embodiments, the user device can cause the video content item to begin being presented on the first display device in any suitable manner. For example, in some embodiments, the user device can transmit a link to the video content item to the first display device that instructs the first display device to request or retrieve video content associated with the link and begin presenting the video content. Note that, in some embodiments, the video content item can be any suitable type of video content item (e.g., a video, a music video, a movie, a television show, live-streamed video content, and/or any other suitable type of video content item). In some embodiments, the video content item can be a video content item that is stored on a server (e.g., a server associated with a video sharing service, a server associated with a social networking service, and/or any other suitable server) that is streamed from the server by the first display device.
Note that, in some embodiments, the first display device can present the video content item using any suitable application that is executing on the first display device. For example, in some embodiments, the first display device can present the video content item using an application associated with a video sharing service, where the application causes a video player window in which the video content is played back to be presented on the first display device. In some embodiments, the first display device can initialize such an application in response to receiving an instruction from the user device.
In some embodiments, the user device can present a user interface that allows a user of the user device to control presentation of the video content item on the first display device. Turning to
In some embodiments, video information 202 can indicate a title of the video content item, such as shown in
In some embodiments, video content 204 can include any suitable images associated with the video content item. For example, in some embodiments, video content 204 can include a thumbnail image that represents the video content item being presented on the first display device.
In some embodiments, display device indicator 206 can include any suitable information, such as a name of the first display device (e.g., “living room TV,” “mobile phone,” “bedroom TV,” and/or any other suitable name). In some embodiments, display device indicator 206 can include any suitable icon(s) that indicates any suitable information, such as a type of device associated with the first display device (e.g., that the first display device is a television, that the first display device is a game console, and/or any other suitable device type information), an indication of an owner of the first display device (e.g., an icon that includes an initial of the owner, an image that includes a profile photo of the owner, and/or any other suitable owner indication), and/or any other suitable information. Note that, in some embodiments, display device indicator 206 can be selectable. In such embodiments, in response to determining that display device indicator 206 has been selected, the user device can present a user interface that allows a different display device to be selected to transfer content to the selected display device, as shown in and described below in connection with
In some embodiments, video playback indicator 208 can indicate a duration of the video content item and/or how much of the video content item has elapsed at a current time, as shown in
In some embodiments, user interface 200 can include playback controls 209 that can be used to modify playback of the video content item. As a more particular example, in some embodiments, as shown in
Referring back to
It should be noted that, in some embodiments, the user device can determine whether the video content item can be transferred to a second display device. For example, the user device can determine whether the video content item is associated with a particular type of content and, in response to determining that the video content item is associated with a particular type of content (e.g., movie content, subscription-based content, premium content, content associated with a particular type of media service, etc.), the user device can proceed to 106 of process 100. In another example, the user device can determine whether the video content item is being presented using a media playback application that is capable of supporting the transfer of the video content item to the second display device. In a more particular example, the user device can determine whether the media playback application used to present the video content item on the user device supports stream transfer of the video content item and the user device can determine whether the user device can be removed as the device that presents the video content item. Accordingly, in response to the user determining that the video content item cannot be transferred to the second display device, the user device can prevent the video content item from being transferred.
At 106 of process 100, the user device can identify one or more candidate display devices capable of presenting the video content item. In some embodiments, the user device can identify the one or more candidate display devices in any suitable manner and using any suitable technique(s). For example, in some embodiments, the user device can use any suitable device discovery protocol to identify the one or more candidate display devices connected to a same communication network that the user device is connected to, such as a local Wi-Fi network in a home of a user of the user device, and/or any other suitable communication network. As a more particular example, in some embodiments, the user device can identify the one or more candidate display devices via mDNS, Discovery and Launch (DIAL), and/or using any other suitable protocol(s). Note that, in some embodiments, an identified display device can be connected to a Wi-Fi network directly or via a streaming media interface that is connected (e.g., via an HDMI connection, and/or connected in any other suitable manner) to the display device.
In some embodiments, the user device can identify one or more display devices using any suitable device discovery protocol and can subsequently determine whether each of the discovered display devices is capable of receiving a transfer of presentation of the video content item. In some embodiments, the user device can determine whether each identified display device is capable of being a candidate display device based on any suitable information, such as based on a type of device of the identified display device, a capability of the identified display device, subscription information, and/or any other suitable information, as described in more detail below.
In some embodiments, the user device can identify any suitable information about each of the one or more identified display devices. For example, in some embodiments, the user device can determine a type of device associated with each of the identified display devices. As a more particular example, in some embodiments, the type of device can indicate that the identified display device is a television, that the identified display device is a streaming media device connected to a television, that the identified display device is a virtual assistant device with a screen, and/or any other suitable type of device. As another example, in some embodiments, the user device can determine a capability of each of the identified display devices. As a more particular example, in some embodiments, the user device can determine whether each identified display device is capable of receiving instructions from the user device and/or from a server associated with a media casting session (e.g., instructions to initialize a particular application for presenting video content, instructions that include a playback position, and/or any other suitable instructions). As another more particular example, in some embodiments, the user device can determine whether each identified display device is updated with a particular version of an application to be used for presenting the video content item. As yet another example, in some embodiments, the user device can identify a model number of each identified display device.
In some embodiments, the user device can determine a proximity of each identified display device to the user device. For example, in some embodiments, the user device can determine that a first identified device (e.g., a bedroom television) is closer to the user device than a second identified device (e.g., a kitchen smart display).
In some embodiments, the user device can additionally determine whether a user of the user device has purchased a particular subscription with a service used for playing, downloading, or streaming the video content item. For example, in some embodiments, the user device can determine whether the user has purchased a premium subscription that allows the user to transfer presentation of a video content item from one display device to another. In some embodiments, the user device can determine whether the user has purchased a particular type or level of subscription in any suitable manner. For example, in some embodiments, the user device can transmit a query to a server associated with a service that provides the video content item, where the query requests account information corresponding to a user account of the user. Note that, in some embodiments, the user device can store account information that indicates whether the user has purchased a particular subscription or a particular level of subscription to the service.
In some embodiments, the user device can then determine whether each identified display device is capable of being included in the candidate display devices based on the information associated with each identified display device (e.g., device type information, capability information, and/or any other suitable device information) and/or the subscription information. For example, in some embodiments, the user device can determine that an identified display device that is not updated with a particular version of a particular application is not to be included in the candidate display devices. As another example, in some embodiments, the user device can determine that none of the identified display devices are to be included in the candidate display devices in response to determining that the user has not purchased a particular subscription or level of subscription.
At 108 of process 100, the user device can present a user interface that indicates the identified candidate display devices. Turning to
In some embodiments, stop presentation button 252 can, in response to being selected, cause presentation of the video content item to stop on the first display device. Note that, in some embodiments, stop presentation button 252 can be omitted.
In some embodiments, volume indicator 254 can indicate a current volume of audio content associated with the video content item being presented by the first display device. For example, as shown in
In some embodiments, group of identified candidate display devices 256 can include any of the one or more display devices identified as described above in connection with block 106. For example, as shown in
Note that, in some embodiments, any suitable error message can be presented in place of group of identified candidate display devices 256 or in connection with a particular display device. For example, in some embodiments, in an instance in which no candidate display devices have been identified at block 106, an error message can be presented that indicates that no display devices were found. As another example, in some embodiments, in an instance in which the user device determined that a user of the user device has not purchased a particular type of subscription that is required for transferring presentation of a video content item, an error message that indicates that purchase of a subscription is required can be presented. In such embodiments, the error message can include a link that, when selected, causes the user device to navigate to a page for purchasing a subscription to the service. As yet another example, in some embodiments, in an instance in which a particular display device has been identified by the user device, and in which it has been determined that the particular display device is not to be included as a candidate display device because the user of the user device has not purchased a particular subscription or level of subscription, the identified display device can be included in group of identified candidate display devices 256 in a manner that indicates that the display device has been identified but is not currently available for transfer of a presentation of video content. As a more particular example, in some embodiments, the identified display device can be listed in group of identified candidate display devices 256 with the name or identifier of the identified display device grayed out and/or presented in any other suitable visual manner that indicates that the display device is not currently available as a display device. Note that, in some embodiments, such an identified display device can be presented in connection with a link that, in response to being selected, can cause the user device to navigate to a page for purchasing the subscription or the level of subscription required to include the identified device as available for transfer of a presentation of video content.
In some embodiments, each display device in group of identified candidate display devices 256 can be associated with a selection button, such as selection button 262. In some embodiments, selection of selection button 262 can cause the corresponding display device to be identified by the user device as a selected display device, as described below in connection with block 110 of
Note that, in some embodiments, the display devices included in the group of identified candidate display devices can be presented in any suitable order. For example, in some embodiments, the display devices can be presented in alphabetical order. As another example, in some embodiments, the display devices can be presented in order of proximity to the user device. As a more particular example, in some embodiments, candidate display devices that are determined to be closer to the user device can be presented in a higher position within group of identified candidate display devices 256.
Referring back to
Referring back to
At 112 of process 100, the user device can transmit, to a server, an indication that presentation of the video content item is to be transferred to the selected second display device. In some embodiments, the server can be any suitable server. For example, in some embodiments, the server can be associated with a media casting session service that stores any suitable information associated with a casted media playback session in which the video content item is currently being presented by the first display device, as described in more detail in connection with
Note that, in some embodiments, in response to receiving the indication from the user device, the server can perform any suitable actions that transfer presentation of the video content item to the second display device, as shown in and described below in connection with
At 114 of process 100, the user device can determine whether the selected second display device is the user device itself.
If, at 114, the user device determines that the selected second display device is not the user device itself (“no” at 114), the user device can, at 116 of process 100, present a user interface for controlling playback of the video content item on the second display device. In some embodiments, the user interface can be similar to user interface 200 as shown in and described above in connection with
If, at 114, the user device determines that the second display device is the user device itself (“yes” at 114), the user device can, at 118 of process 100, load an application for presenting the video content item. In some embodiments, the application can be any suitable application. For example, in some embodiments, the application can be associated with a video sharing service that provides the video content item being presented.
At 120 of process 100, the user device can begin presenting the video content item. In some embodiments, the user device can begin presenting the video content item from a playback position corresponding to a time point at which the first display device stopped presentation of the video content item. Note that, in some embodiments, the user device can begin presenting the video content item using any suitable technique(s). For example, as described below in more detail in connection with
It should be noted that, in some embodiments in which the second display device is a leader device of a group of devices including one or more follower devices, the second display device can receive information associated with the media playback session, such as an identifier of the video content item being presented and an indication of a playback position from which the second display device is to begin presenting the video content item, and can transmit instructions to each of the follower devices that cause the follower devices to present audio content associated with the video content item synchronously with the second display device.
Turning to
At 302 of process 300, the server can receive, from a user device, an indication that presentation of a video content item is to be transferred from a first display device to a second display device. As described above in connection with
In some embodiments, the indication can include any suitable information. For example, in some embodiments, the indication can include identifiers of the first display device and/or the second display device. As a more particular example, in some embodiments, the identifiers can include any suitable identifying information, such as network information associated with the first display device and/or the second display device (e.g., IP addresses, port information, MAC addresses, and/or any other suitable network information), a make or model of the first display device and/or the second display device, and/or any other suitable identifying information. As another example, in some embodiments, the indication can include an identifier of a media playback session associated with presentation of the video content item. As yet another example, in some embodiments, the indication can include an identifier of the video content item (e.g., a URL at which the video content item is located, a name of the video content item, and/or any other suitable identifying information).
At 304 of process 300, the server can transmit instructions to the second display device to initialize an application for presenting the video content item. In some embodiments, the application can be any suitable application. For example, in some embodiments, the application can be associated with a particular video sharing service, a particular media content presentation service, a particular social networking service, and/or any other suitable application. In some embodiments, the application can cause video content to be presented on a device executing the application, for example, in a video player window presented within a user interface of the application. In some embodiments, the application can be an application that can manage presentation of the video content item on the second display device in any suitable manner. For example, in some embodiments, the application can control a video pipeline used to present video content on a display of the second display device. As another example, in some embodiments, the application can control an audio pipeline used to present audio content associated with the video content item using speakers associated with the second display device. Note that, in some embodiments, an instance of the application can be currently executing on the first display device in connection with presentation of the video content item on the first display device.
At 306 of process 300, the server can transmit, to the first display device, an instruction to stop presentation of the video content item and a request for a current playback session state that indicates a playback position at which presentation of the video content item was stopped on the first display device. In some embodiments, the instruction to stop presentation of the video content item can include any suitable instructions or commands. For example, in some embodiments, the instruction can include commands to stop presenting video content and audio content associated with the video content item by the first display device. As another example, in some embodiments, the instruction can include commands to relinquish any suitable resources used by the first display device, such as screen resources, audio presentation resources, and/or any other suitable resources. As yet another example, in some embodiments, the instruction can include commands to close or stop execution of an application executing on the first display device for presentation of the video content item.
At 308 of process 300, the server can receive, from the first display device, the current playback session state in response to the request. In some embodiments, the current playback session state can include any suitable information, such as an indication of a playback position at which presentation of the video content item was stopped on the first display device. For example, in some embodiments, the playback position can indicate a time point of the video content item at which presentation of the video content item was stopped on the first display device. As another example, in some embodiments, the playback position can indicate a last frame of the video content item that was presented by the first display device prior to stopping presentation of the video content item on the first display device. Additionally, in some embodiments, the server can receive, from the first display device, a content URL associated with the video content item, a current time or playback position of the video content item being played back on the first display device, a queue structure, user credentials associated with the media playback application used to present the video content item, etc.
At 310 of process 300, the server can transmit the current playback session state to the second display device in connection with instructions that cause the second display device to begin presenting the video content item based on the playback position included in the current playback session state. In some embodiments, the instructions can cause the second display device to begin presenting the video content item based on the playback position in any suitable manner. For example, in some embodiments, the instructions can cause the second display device to begin presenting the video content item at a playback position subsequent to the playback position included in the current playback session state. As a more particular example, in some embodiments, the instructions can cause the second display device to begin presenting the video content item from a frame subsequent to a last frame that was presented by the first display device. As another more particular example, in some embodiments, the instructions can cause the second display device to load a media playback application and resume the presentation of the video content item using the media playback application having the same application identifier and at a current playback position based on the current playback session state. As another example, in some embodiments, the instructions can cause the second display device to begin presenting the video content item from a playback position that precedes the playback position included in the current playback session state (that is, preceding a playback position at which presentation of the video content item was stopped on the first display device). In such embodiments, the instructions can cause the second display device to begin presenting the video content item from a playback position that precedes the playback position included in the current playback session state by any suitable duration (e.g., three seconds, five seconds, and/or any other suitable duration) and/or number of frames (e.g., thirty frames, sixty frames, and/or any other suitable number).
Turning to
Server 402 can be any suitable server(s) for storing information, data, and/or media content. For example, in some embodiments, server 402 can be associated with a content casting service for storing information associated with any suitable cast sessions and/or any suitable devices grouped together in a cast session. In such embodiments, server 402 can transfer playback of a video content item from a first display device to a second display device, as shown in and described above in connection with
Communication network 404 can be any suitable combination of one or more wired and/or wireless networks in some embodiments. For example, communication network 404 can include any one or more of the Internet, an intranet, a wide-area network (WAN), a local-area network (LAN), a wireless network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode (ATM) network, a virtual private network (VPN), and/or any other suitable communication network. User devices 406 can be connected by one or more communications links (e.g., communications links 412) to communication network 404 that can be linked via one or more communications links (e.g., communications links 414) to server 402. The communications links can be any communications links suitable for communicating data among user devices 406 and server 402 such as network links, dial-up links, wireless links, hard-wired links, any other suitable communications links, or any suitable combination of such links.
User devices 406 can include any one or more user devices suitable for presenting video content and/or audio content. For example, in some embodiments, user devices 406 can include speakers, a television, a media player, a game console, a mobile phone, a tablet computer, a desktop computer, a vehicle entertainment system, a wearable computer, and/or any other suitable type of user device.
In some embodiments, user device 406, such as a media presentation device or a media receiver device, can determine, via device discovery requests, that user devices 406 are multiple speakers within a particular proximity of user device 406 that have desirable audio playback capabilities in comparison with user device 406 having desirable video playback capabilities (e.g., a display having a particular resolution, a display having particular dimensions, etc.) and undesirable audio playback capabilities.
Although server 402 is illustrated as one device, the functions performed by server 402 can be performed using any suitable number of devices in some embodiments. For example, in some embodiments, multiple devices can be used to implement the functions performed by server 402.
Although two user devices 408 and 410 are shown in
Server 402 and user devices 406 can be implemented using any suitable hardware in some embodiments. For example, in some embodiments, devices 402 and 406 can be implemented using any suitable general purpose computer or special purpose computer. For example, a mobile phone may be implemented using a special purpose computer. Any such general purpose computer or special purpose computer can include any suitable hardware. For example, as illustrated in example hardware 500 of
Hardware processor 502 can include any suitable hardware processor, such as a microprocessor, a micro-controller, digital signal processor(s), dedicated logic, and/or any other suitable circuitry for controlling the functioning of a general purpose computer or a special purpose computer in some embodiments. In some embodiments, hardware processor 502 can be controlled by a server program stored in memory and/or storage of a server, such as server 402. In some embodiments, hardware processor 502 can be controlled by a computer program stored in memory and/or storage 504 of user device 406.
Memory and/or storage 504 can be any suitable memory and/or storage for storing programs, data, and/or any other suitable information in some embodiments. For example, memory and/or storage 504 can include random access memory, read-only memory, flash memory, hard disk storage, optical media, and/or any other suitable memory.
Input device controller 506 can be any suitable circuitry for controlling and receiving input from one or more input devices 508 in some embodiments. For example, input device controller 506 can be circuitry for receiving input from a touchscreen, from a keyboard, from one or more buttons, from a voice recognition circuit, from a microphone, from a camera, from an optical sensor, from an accelerometer, from a temperature sensor, from a near field sensor, from a pressure sensor, from an encoder, and/or any other type of input device.
Display/audio drivers 510 can be any suitable circuitry for controlling and driving output to one or more display/audio output devices 512 in some embodiments. For example, display/audio drivers 510 can be circuitry for driving a touchscreen, a flat-panel display, a cathode ray tube display, a projector, a speaker or speakers, and/or any other suitable display and/or presentation devices.
Communication interface(s) 514 can be any suitable circuitry for interfacing with one or more communication networks (e.g., computer network 404). For example, interface(s) 514 can include network interface card circuitry, wireless communication circuitry, and/or any other suitable type of communication network circuitry.
Antenna 516 can be any suitable one or more antennas for wirelessly communicating with a communication network (e.g., communication network 404) in some embodiments. In some embodiments, antenna 516 can be omitted.
Bus 518 can be any suitable mechanism for communicating between two or more components 502, 504, 506, 510, and 514 in some embodiments.
Any other suitable components can be included in hardware 500 in accordance with some embodiments.
In some embodiments, at least some of the above described blocks of the processes of
In some embodiments, any suitable computer readable media can be used for storing instructions for performing the functions and/or processes herein. For example, in some embodiments, computer readable media can be transitory or non-transitory. For example, non-transitory computer readable media can include media such as non-transitory forms of magnetic media (such as hard disks, floppy disks, and/or any other suitable magnetic media), non-transitory forms of optical media (such as compact discs, digital video discs, Blu-ray discs, and/or any other suitable optical media), non-transitory forms of semiconductor media (such as flash memory, electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and/or any other suitable semiconductor media), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media. As another example, transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.
In situations in which the systems described herein collect personal information about users, or make use of personal information, the users may be provided with an opportunity to control whether programs or features collect user information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current location). In addition, certain data may be treated in one or more ways before it is stored or used, so that personal information is removed. For example, a user's identity may be treated so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined. Thus, the user may have control over how information is collected about the user and used by a content server.
Accordingly, methods, systems, and media for providing dynamic media sessions with video stream transfer features are provided.
Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention, which is limited only by the claims that follow. Features of the disclosed embodiments can be combined and rearranged in various ways.
This application claims the benefit of U.S. Provisional Patent Application No. 62/946,704, filed Dec. 11, 2019, which is hereby incorporated herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
9489070 | Miyazaki | Nov 2016 | B2 |
10762928 | Camus | Sep 2020 | B1 |
20120254793 | Briand | Oct 2012 | A1 |
20150178227 | Salmela | Jun 2015 | A1 |
20170013331 | Watanabe | Jan 2017 | A1 |
20170026686 | Glazier | Jan 2017 | A1 |
20170238031 | Warrick | Aug 2017 | A1 |
20170289614 | VanBlon | Oct 2017 | A1 |
20180324684 | Onohara | Nov 2018 | A1 |
20190132639 | Panchaksharaiah | May 2019 | A1 |
20200195994 | Eluvan | Jun 2020 | A1 |
20200314481 | Gupta | Oct 2020 | A1 |
20210092176 | Schneider | Mar 2021 | A1 |
20210329310 | Wilson | Oct 2021 | A1 |
Number | Date | Country | |
---|---|---|---|
20210185365 A1 | Jun 2021 | US |
Number | Date | Country | |
---|---|---|---|
62946704 | Dec 2019 | US |