The present technology relates generally to access-aware systems and methods for remotely managing multi-stream recordings, such as from a mobile device.
Commercial and institutional users, such as businesses and universities, increasingly record their presentations or other content. For example, businesses and universities may record classroom lectures, informational presentations, training sessions, or other meetings, thereby enabling the preservation and sharing of presentation content with others. Such recordings may be multi-stream, where a single recording includes audio and/or video captured from multiple sources. For example, a multi-stream recording of a classroom lecture may include video of the lecturer and a capture of content being displayed on a computer during the lecture (such as presentation slides). As a further example, a multi-stream recording of a presentation may include video of the presenter and video of the audience. Oftentimes, businesses and universities have multiple lecture halls, classrooms, conference rooms, training rooms, etc. configured for multi-stream recording.
The known methods by which users manage multi-stream recordings leave much to be desired. For example, users may be required to initiate recordings directly at the recording equipment, schedule recordings in advance, or utilize a recording management interface lacking certain features. In a further example, specialized audio/visual technicians, located on-site, may be required to initiate and manage recordings. It would therefore be beneficial to be able to conveniently and easily manage multi-stream recordings in a manner that cures these and other shortcomings.
The present technology relates generally to systems and methods for remotely managing multi-stream recordings, such as through a mobile device. A multi-stream recording is a single recording that includes audio and/or video from multiple (two or more) sources. For example, a multi-stream recording of a classroom lecture may include video of the lecturer and a capture of content being displayed on a computer during the lecture (such as presentation slides). As a further example, a multi-stream recording of a presentation may include video of the presenter and video of the audience. In one embodiment of the present technology, a user affiliated with a commercial or institutional entity logs in to a multi-stream recording remote management system through an application running on a mobile device. After the user's log-in is verified, the application displays a list of multi-stream accessible recorders (e.g., recorders associated with conference rooms of a business to which the user is affiliated) based on access permissions associated with the user and the utilization of the multi-stream recorders by other users. The list may include multi-stream recorders that are remote from the user (i.e., in a different physical location), but that may nonetheless be remotely managed through the application. As described herein the system is configured to determine those multi-stream recorders that the user is currently authorized to manage, and may list only the identified recorders, thereby providing secure use of shared multi-stream recording resources among multiple users.
Using the application the user may perform a variety of management functions over the multi-stream recorders, including viewing information on available multi-stream recorders, retrieving information on past, current, or pending recordings associated with a selected multi-stream recorder, and initiating a recording for streaming or for saving to a default location associated with the user. The management functions available to the user may additionally be based on the user's access permissions.
These and other aspects of the technology will be described in greater detail below. The following description provides specific details for a thorough understanding and an enabling description of the present technology. One skilled in the art will understand, however, that the present technology may be practiced without many of these details. Additionally, some well-known structures or features may not be shown or described in detail, so as to avoid unnecessarily obscuring the relevant description of the various aspects of the technology. The terminology used in the description presented below is intended to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific embodiments of the technology.
Aspects of the technology can also be practiced in distributed computing environments, where tasks or modules are performed by remote processing devices, which are linked through a communications network, such as a Local Area Network (“LAN”), Wide Area Network (“WAN”), or the Internet. In a distributed computing environment, program modules or subroutines may be located in both local and remote memory storage devices. Aspects of the technology described herein may be stored or distributed on tangible, non-transitory computer-readable media, including magnetic and optically readable and removable computer discs, stored in firmware in chips (e.g., EEPROM chips). Alternatively, aspects of the technology may be distributed electronically over the Internet or over other networks (including wireless networks). Those skilled in the relevant art will recognize that portions of the technology may reside on a server computer, while corresponding portions reside on a client computer.
As illustrated, the system includes one or more content recorders 110 for capturing content to be included in a multi-stream recording. A content recorder 110 may be a mobile device, such as a mobile phone or tablet computer, connected to the network 125 through a wireless connection. A content recorder 110 may also be a laptop computer or desktop computer, connected to the network 125 through a wireless connection or a wired connection. Content recorders 110 may also be paired with a recording device 115, such as a video camera or microphone. Though illustrated as distinct devices, a recording device 115 may be integrated with a content recorder 110 (e.g., the built-in video camera of a mobile phone or tablet). Each content recorder 110 captures audio or visual content that may be included in a multi-stream recording. For example, a content recorder 110 paired to a recording device 115 may capture video via the recording device. As a further example, a content recorder 110 may capture content being displayed on, retrieved by, or stored on the content recorder 110 (e.g., a slide presentation being displayed on the content recorder, a webpage being accessed by the content recorder, an audio or video file being played by the content recorder, etc.).
One or more content recorders 110 may in combination form multi-stream recorders 105. A multi-stream recorder 105 includes the content from the associated content recorders 110 in the single multi-stream recording generated by the multi-stream recorder. For example, the recording from a multi-stream recorder 105 may include video from one content recorder 110 and web content from another content recorder 110. A multi-stream recorder 105 may correspond to a physical recording location, and each of the content recorders 110 that form the multi-stream recorder 105 may be located at that location. For example, each of the multi-stream recorders 105 may correspond to different classrooms, lecture halls, conference rooms, training rooms, or other locations where recording may be desired, and each of the associated content recorders 110 may be located at that classroom, lecture hall, conference room, training room, etc. Alternatively, a multi-stream recorder 105 may not correspond to a single physical location, and the content recorders 110 making up that multi-stream recorder 105 may be located at different locations.
Using a remote management device 120, a user may manage multi-stream recorders 105. The remote management device 120 may be, for example, a mobile computing device, such as a mobile phone or tablet computer, connected to the network 120 through a wireless connection. For example, the remote management device 120 may be a mobile phone belonging to the user and running an application through which multi-stream recorder remote management may be performed. The user may be affiliated with a business, university, or any other commercial or institutional entity at which multi-stream recorders 105 are located. For example, the user may be an employee of a business, a student or professor at a university, a member of IT staff, or another affiliated individual who has been given permission to remotely manage multi-stream recorders 105 at recording locations of the entity. The user may log in to the system, through an application on a remote management device 120, using a username and password provided by the system, a username and password associated with a user account at the entity (e.g., a university or corporate login), or with voice authentication.
The remote management device 120 may communicate with the remote management server 130 to facilitate management of the multi-stream recorders 105. For example, a user attempting to connect to the remote management system may enter user credentials at remote management device 120, which may be transmitted to the remote management server 130. The remote management server 130 may then validate the received user credentials, thereby authenticating the user.
After authenticating the user, access permissions associated with user account may be retrieved by the remote management server, such as from the recording metadata 140 or other storage area accessible to the server. As described herein, the retrieved access permissions facilitate the secure management of the multi-stream recorders in a multi-user environment. For example, the access permissions may control which multi-stream recorders 105 are accessible to the user (which may depend on whether the user should generally be permitted to access the multi-stream recorder, whether the recorder is currently in use or scheduled for use shortly, the user's current location, the current time and day, etc.). That is, a multi-stream recorder 105 that would otherwise be accessible to the user may be rendered inaccessible to the user at a particular time because the recorder is currently being managed (e.g., recording) by another user (as indicated, for example, by a schedule of recordings for each of the multi-stream recorders maintained as part of the recording metadata 140) or because the current time is outside the window during which the user is permitted to manage the recorder. In some embodiments, only those multi-stream recorders 105 determined by the system to be accessible by the user are provided to the remote management device 120. In other embodiments, both accessible and inaccessible multi-stream recorders may be provided to the remote management device 120, and inaccessible recorders may be indicated as such.
The remote management device 120 may generate a list of multi-stream recorders 105 for display to the user based on, for example, a list of accessible multi-stream recorders provided by the remote management server 130. As described herein, the user may remotely manage the multi-stream recorders 105, such as by entering management instructions into the remote management device 120. For example, the user may use a remote management device 120 to begin a recording at a multi-stream recorder 105. When a user initiates a recording at the remote management device 120, the remote management device 120 may send a scheduling update to the recording metadata 140 through the remote management server 130. Each multi-stream recorder 105 may, on a regular basis, poll the remote management server 130 to retrieve any updated schedule data corresponding to that multi-stream recorder. When a multi-stream recorder 105 determines it is scheduled to record, based on the retrieved schedule data, it will initiate recording. Once a recording begins, the recording may be uploaded by the multi-stream recorder 105 to a remote management server 130 via the network 125. The uploaded recording may then be saved in content storage 135. In addition to initiating recordings, other recording management functions may be performed by the user. For example, as described herein, the user may use the multi-stream recorder management system to schedule future recordings, to start a scheduling recording early, to stop a recording, to change metadata associated with a recording (e.g., title, description, presenter bio, etc.), to pause and resume an ongoing recording, to enable or disable specific streams of the multi-stream recording, and to augment the recording with supplementary information (e.g., live transcriptions, moderated audience questions, etc.). In addition to the management of recordings, the multi-stream recorder management system may enable remote management of the multi-stream recorders themselves. For example, the user may monitor the recording status of the multi-stream recorder, may modify which devices are used by the recorder (i.e., what streams are associated with recordings by the recorder), and other administrative functions (such as modifying all recordings scheduled for the recorder). As described herein, different management functions may be available to different users. For example, the access permissions may indicate which management functions are available to each user.
The permissions associated with a user, both with respect to which multi-stream recorders can be accessed by the user and which management functions are available to the user for the different multi-stream recorders, may be defined on an account-level for different user accounts maintained by the system. That is, in some embodiments, each user account may be explicitly characterized by the multi-stream recorders to which the user has access (including conditions, such as day and time) and available management functions over those recorders. In some embodiments, a user account may be associated with an account type or an account group, which defines a set of access permission of the accounts belonging to that type or group. For example, an account may be designated as an administrator account or a user account, based on which the account has different permissions associated with it. As a further example, an account may be associated with a group designation, such as “professor,” “facilities management,” “IT staff,” or “student,” based on which the account is associated with different permissions.
Beginning at block 205, the system receives login credentials with which to authenticate a user. The login credentials may be provided by the user through the mobile application running on the remote management device. The login credentials may be, for example, a username and password associated with the remote management system, a username and password associated with a third-party user account (e.g., a university or corporate login), or a user voice command.
At block 210, the system validates the received user login credentials. By validating the credentials, thereby authenticating the user, the multi-stream recorder remote management system may ensure that only authorized users are able to access the remote management system. Furthermore, as described herein, requiring the login to a user account (associated with the user login credentials) enables the system to determine access rights, user preferences, and other information associated with the user, based on which the system may enforce fine-grained access controls.
When login credentials are in the form of a username and password, the system verifies that the username and password are valid. For example, the system may compare the received username and password with a list maintained by the system or by a third-party authentication server. If the system detects a match, then the user is logged in to the user account with the username provided by the user.
When login credentials are in the form of a voice command, the system may use voice-recognition to verify the user. For example, the system may maintain voice data of authorized users. The voice data may have been previously provided by authorized users for the purpose of voice-recognition training. When a voice command to log in to the system is received, the system compares the received voice data to the maintained voice data of authorized users. If the system detects a voice match, then the user is logged in to a user account associated with the maintained voice data.
Once the user has logged in, the process 200 continues at block 215 and determines the access and control privileges associated with the authenticated user. As described herein, the access and control privileges describe, for individual user accounts as well as the account types and account groups to which the user accounts may belong, which remote multi-stream recorders are allowed to be accessed by the user and which control functions are available to the user over those recorders. The access and control privileges may, for example, be maintained by the system as part of user account storage. As part of the operation of block 215 the system may retrieve the relevant maintained permissions (e.g., account-level permissions for the authenticated user as well as the permissions for the types or groups to which the account belong), and based on the retrieved permissions, determine the access and control privileges for the user.
The user access and control privileges provide fine-grain access controls that enable only certain multi-stream recorders to be accessible to a user, and optionally, only when certain conditions are met. Such fine-grain controls may previously have been set by an administrator of the system. For example, an administrator may enable different multi-stream recorders for use on a user-by-user or group-by-group (i.e., students, guest lecturers, professors, physics department professors, math department professors, etc.) basis. That is, by way of example, an administrator may configure the system such that all individuals associated with the physics department of a university have access to one set of multi-stream recorders, all physics professors have access to a different set of multi-stream recorders, and a specific individual (e.g., the physics department head) has access to a third set of multi-stream recorders. The system thus enables the use of specific multi-stream recorders by specific users or groups of users of the system.
The user access and control privileges may specify additional criteria or limitations on when multi-stream recorders are accessible, which may be set on a recorder-by-recorder basis, a system-wide basis, or a combination thereof. For example, multi-stream recorders may be configured to only be accessible to certain users or groups at specified days or times. Thus, a multi-stream recorder may be configured so that it is accessible to professors at all times of the day, but accessible to students only during limited evening hours (such as when a student group is hosting a presentation). As a further example, multi-stream recorders may be further configured to be accessible based on the detected location of the remote management device being used by the user. Thus a multi-stream recorder may be identified as accessible to a user when the user is located in the same room or building of the multi-stream recorder, but not otherwise. As a still further example, the user access and control privileges may indicate whether a user has certain access rights to an in-use multi-stream recorder. For example, a first user may be permitted to manage any on-site multi-stream recorder, even when the recorder is currently being used (e.g., an administrator), while a second user may only be permitted to manage on-site multi-stream recorders that are idle.
At block 220 the system identifies the multi-stream recorders that are accessible to the logged-in user. As described herein, the multi-stream recorders accessible to the user may be based on access and control privileges associated with the user. For example, the user may be given access to a selection of multi-stream recorders associated with an entity (e.g., a university), and the accessible recorders (as determined by the block 220) may be further conditions by whether the user is currently on-site, whether it is currently day time or after-hours, etc.
At block 225, the system determines the recorder state, or operational status, of the accessible multi-stream recorders. For example, for each of the accessible multi-stream recorders the system may determine whether there is any activity at the recorder, such as whether the recorder is currently recording or idle. As a further example, for each of the accessible multi-stream recorders the system may determine whether there are any configuration, connectivity, or other issues with the multi-stream recorder, such as whether the recorder is offline, has lost a video feed, has lost an audio feed, etc.
At block 230, the system displays a preview of the accessible remote multi-stream recorders. In some embodiments, and for some categories of users, the system only displays previews of the accessible multi-stream recorders that were determined to be idle. For example, a non-administrator user may not receive a preview of a multi-stream recorder that is currently recording.
Referring back to
At block 240, the system determines which management controls are available to the user for the selected multi-stream recorder. As described herein, management controls may be associated with a recording at the multi-stream recorder (e.g., start recording, pause recording, stop recording, enable or disable stream in the recording, etc.), associated with the configuration of the multi-stream recorder itself (e.g., add or remove device streams to the multi-stream recorder, change multi-stream recorder description, etc.), or other. The available control may be based on, for example, the determined user access and control privileges of the user.
At block 245, the system displays a detailed view of the selected multi-stream recorder. The detailed view of the selected multi-stream recorder may be based on the recorder controls available to the user.
The interface 400 may also include a preview image and audio histogram 420 for one or more of the content recorders making up the multi-stream recorder. The audio histogram 420 reflects audio that has been detected in the vicinity of the content recorder, such as audio picked up by a microphone paired to the content recorder. The audio histogram 420 may, for example, provide confirmation that audio is being captured correctly by the content recorder. By providing a preview image and audio histogram for each of the content recorders of the multi-stream recorder, the system enables users to quickly preview what would be captured by a recording at the multi-stream recorder, and provides them with confidence in any subsequent remote recording.
Referring back to
At block 255, the system determines whether there are any resource conflicts associated with the management instruction received for the selected multi-stream recorder. Conflicts may occur, for example, when a user (such as a non-administrator) attempts to enact a chance to the recording schedule of the multi-stream recorder that interferes with a pre-existing scheduled recording. For example, the multi-stream recorder may be in-use and recording for another user. As a further example, the multi-stream recorder may be scheduled to begin a recording for another user within a threshold time from the present time. The system may use scheduling data maintained by the system to determine whether a multi-stream recorder is busy. By identifying management conflicts, the system can enforce rules regarding the management of busy recorders by different users. For example, for certain categories of users (e.g., end users), the system may prevent the execution of management instructions that would cause a conflict, and may additionally suggest alternative instructions that would not lead to a conflict (e.g., a shorter recording length or different recording time). As a further example, for certain categories of users (e.g., administrators), the system may allow the received management instruction to take priority over previously-scheduled activity at the multi-stream recorder.
At block 260, the system executes the received management instructions. For example, the system may begin a recording session at the multi-stream recorder based on the instructions received from the user. Additionally, the system may update system data, such as updating shared scheduling data maintained by the system when a new recording is scheduled or initiated. By doing so, the multi-stream recorder will no longer appear as available to other users of the system at the scheduling time indicated by the user. In this manner, the system provides use-based sharing of the shared multi-stream recorder resources.
Multi-Stream Recorder Remote Management Functions
As described herein, the multi-stream recorder remote management system provides a variety of management functions over remote multi-stream recorders. For example, the system may provide management functions over recordings (whether past, current, or scheduled), over the remote recorders, and other. A user may be provided access to different management functions over different multi-stream recorders and recordings depending on the privileges associated with the user. For example, some users may be provided access to recording functions only over their own recordings, while other users (e.g., administrators) may be provided access to recording functions over all recordings, as well as recorder functions over the recorder itself. The following is a brief description of some management functions which may be provided by some embodiments of the system. It will be appreciated that other management functions may be provided by the multi-stream recorder remote management system.
The remote management system may provide a number of functions to facilitate the management of recordings. For example, the system may enable a user to schedule a future recording at a remote recorder. The system may also enable the user to start a new recording (i.e., approximately immediately) at the remote recorder, or to start a scheduled recording early. Active recordings may be configured to be saves to a storage area and/or to be webcast live. When scheduling a recording or starting a recording, the system may verify that the recording to be started does not overlap with any previously scheduled recordings at the remote recorder. In addition to functions for scheduling and starting recordings, other management functions are provided by the system. For example, the system may enable a user to stop a recording, as well as enable the user to pause and resume the recording. Different recording functions, such as starting, stopping, pausing, and resuming may be provided on a per-stream basis, thereby enabling the user to separately control the different streams of the multi-stream recording.
The recording management may additionally enable the addition of supplemental or meta content to an active or scheduled recording. For example, the system may enable a user to create “attention points” or a table of contents of noteworthy moments during a recording. The system may enable a user to provide a live transcription of the recording. The system may also enable a user to moderate audience questions regarding the active stream. The system may additionally enable the user to specify information regarding the recording (e.g., recording title, recording description, etc.). Based on the access and control privileges associated with the users, some users may only be permitted to manage their own recordings, while other users may be permitted to manage all scheduled or active recordings. Additionally, the access and control privileges may grant access to different functions within a recording. That is, for example, one user (e.g., a “recording manager”) may be allowed to control all aspects of a recording, while a second user (e.g., a “moderator”) may only be allowed to interact with audience questions, and a third user (e.g., a “transcriber”) may only be allowed to create and modify recording transcriptions.
The remote management system may additionally provide a number of functions to facilitate the management of the multi-stream recorders. For example, the system may enable a user to monitor, but not modify, the current recording activity of the recorder. The system may also enable a user to configure the recorder. For example, the user can modify the description of the recorder, which devices are used by the recorder (corresponding to the different streams), etc.
The above descriptions of examples of the disclosed technology are not intended to be exhaustive or to limit the disclosed technology to the precise form disclosed above. While specific embodiments of, and examples for, the disclosed technology are described above for illustrative purposes, various equivalent modifications are possible within the scope of the disclosed technology, as those skilled in the relevant art will recognize. For example, while processes or blocks are presented in a given order, alternative implementations may perform routines having steps, or employ systems having blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative combinations or subcombinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at time shown as being performed in series, these processes or blocks may instead be performed or implemented in parallel, or may be performed at different times. Further, any specific numbers noted herein are only examples; alternative implementations may employ differing values or ranges.
Moreover, unless the word “or” is expressly limited to mean only a single item exclusive from the other items in reference to a list of two or more items, then the use of “or” in such a list is to be interpreted as including (a) any single item in the list, (b) all of the items in the list, or (c) any combination of the items in the list. Where the context permits, singular or plural terms may also include the plural or singular term, respectively. Additionally, the term “comprising” is used throughout to mean including at least the recited feature(s) such that any greater number of the same feature and/or additional types of other features are not precluded. It will also be appreciated that specific embodiments have been described herein for purposes of illustration, but that various modifications may be made without deviating from the technology. Further, while advantages associated with certain embodiments of the technology have been described in the context of those embodiments, other embodiments may also exhibit such advantages, and not all embodiments need necessarily exhibit such advantages to fall within the scope of the technology. Accordingly, the disclosure and associated technology can encompass other embodiments not expressly shown or described herein.
This application claims priority to U.S. Patent Application No. 62/287,814, entitled “REMOTE MANAGEMENT OF MULTI-STREAM RECORDINGS AND ASSOCIATED SYSTEMS AND METHODS,” filed Jan. 27, 2016, the contents of which are incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62287814 | Jan 2016 | US |