This invention relates to a real-time communication video compilation system which streamlines the creation and integration of media-rich content into digital communications by enabling recording and sharing of screen content and camera feeds via the Real-Time Communication (RTC) Application Programming Interface (API).
The reliance on communication platforms has seen a significant surge in the past decade, largely attributed to the growing prevalence of virtual learning. Within the realm of virtual education, communication platforms play a pivotal role in enabling both asynchronous and synchronous interactions between educators and students.
The role of communication platforms has particularly evolved in synchronous communication through advancements in video calling technology. Educational institutions employ video calling to conduct live-streamed classes and facilitate online consultations, fostering direct engagement between educators and students. These interactions necessitate the sharing of participants' digital and physical environments. Broadcasting a participant's device screen offers a dynamic showcase of software processes, contributing significantly to an immersive and collaborative learning environment.
Furthermore, the capability to share a participant's physical surroundings empowers them to utilise various physical tools in real time through their device cameras. This broadens the spectrum of available teaching aids, encompassing tools like whiteboards, projectors, and even live demonstrations of handwritten work. Asynchronous communication, on the other hand, primarily involves messaging through email, chats, or forums, allowing participants to respond at their convenience rather than in real time.
In the context of virtual learning, asynchronous communication becomes vital when interactions occur outside of live classes. Such scenarios often entail the exchange of physical and digital content. Although current communication platforms offer the option to create videos using device cameras, this approach falls short, capturing only the user's physical surroundings. A substantial enhancement in communication between educators and students, benefiting not only virtual learners but all asynchronous messaging users, can be achieved if both the physical and digital aspects of a participant's space can be independently and simultaneously captured.
There is provided herein a real-time communication video compilation system which facilitates real-time communication video compilation using a server and an electronic device equipped with processing and memory capabilities.
The server hosts data, which may be in the form of web pages, which includes a real-time communication (RTC) component for executing RTC functionalities, preferably browser-based WebRTC functionalities.
This setup allows for the recording and storage of video files for use in a communication platform, possibly represented as a chat timeline or forum.
The process involves fetching the data from the server, which interact with the RTC protocol to access multimedia devices for recording. The user interface may allow for selection between different recording options, including the choice of camera feeds to overlay on the screen during recording. The system can stream media using the RTC API and record the entire screen, including any superimposed camera feeds, into video files. These files are then transmitted to the server for storage and can be integrated into a communication timeline, making them accessible for playback.
The present system's configuration inherently supports the convenient recording of video files for media-rich integration into real-time communications, like chat timelines or forums.
By utilising the WEBReal-Time Communication (RTC) API according to a preferred embodiment, the present system allows for the seamless capture and streaming of video directly within web browser applications which negates the need for external recording tools or software, streamlining the process for users to generate and share content in real-time.
Also, the ability to record the entire screen along with superimposed camera feeds enables a more dynamic and interactive form of communication. This feature is particularly beneficial for social interactions within chat timelines or forums, where visual cues and demonstrations can significantly enhance understanding and engagement.
Moreover, the system's capability to directly convert these recordings into video files for immediate integration into communication platforms simplifies the content sharing process. Users can record, upload, and share their videos without leaving the communication environment, making for a seamless user experience. This direct integration fosters a more interactive and engaging community experience, as participants can easily access, view, and respond to video content within the same platform.
Other aspects of the invention are also disclosed.
Notwithstanding any other forms which may fall within the scope of the present invention, preferred embodiments of the disclosure will now be described, by way of example only, with reference to the accompanying drawings in which:
The memory device 104 may comprise a plurality of software applications that are executed by the processor 103, including an application 106. In a preferred embodiment, the application 106 is a browser application 106.
The electronic device 102 may comprise at least one camera 107. In the embodiment shown, the electronic device 102 comprises a rear camera 107A and a front camera 107B. The electronic device 102 may further comprise a microphone 108. The electronic device 102 further comprises a digital display 109 configured to display a screen 110. As will be described in further detail below, the electronic device 102 interacts with the server 101 to display a recording taskbar 111 for the recording of video. The screen 110 may further comprise camera feeds 112 superimposed thereon.
The electronic device 102 may further comprise a data interface 113 for sending and receiving data across a wide area network, such as the Internet, which is used for communication with the server 101. The server 101 may similarly comprise the aforementioned processor 103, memory device 104, and data interface 113.
The server 101 maintains data 115. In a preferred embodiment, the data 115 includes web pages 114, and the server 101 executes a web server application configured to serve the web pages 114 to the browser application 106. These web pages comprise HTML, CSS, and client-side code (typically in the form of JavaScript).
The server 101 may further store a real-time communication (RTC) component 116, which comprises client-side code executed by the application 106. The RTC component 116 may be WebRTC components when the application 106 is a browser application.
The server 101 may further store video files 117 recorded by the electronic device 102. The server 101 may also store communication data 118 in the form of a chat timeline or forum.
At step 120, the browser application 106 fetches a web page 114 from the server 101. The web page 114 comprises client-side code configured to interact with an RTC protocol API, such as WebRTC (Web Real-Time Communication) technology. WebRTC enables real-time communication, such as audio, video, and data sharing, directly between web browsers and mobile applications.
The web page 114 may be served with an RTC component 116, which is activated by selecting the video recording option 132 at step 121. The video recording option 132 may be embedded in web pages 114 served by third-party web servers which, when executed by the browser application 106, retrieve the RTC component 116 from the server 101.
At step 122, the client-side code may interact with the RTC API exposed by the browser application 106 to gain access to the multimedia devices of the electronic device 102, including the screen 110 and the cameras 107.
In embodiments, the electronic device 102 may only comprise one camera 107, such as a webcam. However, where the electronic device 102 takes the form of a mobile communication device, the electronic device 102 may have an inbuilt front camera 107B and a rear camera 107A.
Depending on the response from the API at step 122, the client-side code may configure the taskbar 111 accordingly at step 123. For example, if only a front camera is available, the control 128B to record video from the rear camera 107A may be disabled or not displayed.
At step 124, the user makes a selection as to which media to record. For example, selecting the screen recording control 129 and the front camera control 128A would cause the client-side code to display the front camera feed 112B superimposed on the screen 110. Selecting both screen recording controls 128A and 128B would cause the client-side code to display both the front camera feed 112B and the rear camera feed 112A simultaneously on the screen 110.
As is evident from
Depending on the configuration of the controls 128 and 129, the client-side code would stream media using the RTC API at step 125. Media streamed from the cameras 107 would be displayed within the respective camera feeds 112 superimposed on the screen 110.
At step 126, the client-side code interacts with the Media Recorder API of the WebRTC framework to enable the browser application 106 to record video of the entire screen 110, which can be streamed into Blob objects or MediaRecorder chunks to the server 101. In this way, the browser application 106 records video data of the entire screen 110, including the camera feeds 112 superimposed thereon.
The taskbar 111 may have a recording control 130 that causes the client-side code to commence recording video and a stop control 131 to cease recording. The client-side code then generates a video file which is transmitted or streamed to the server 101 at step 127 for storage. The server 101 may then include a playable video communication 135 within the communication timeline 133, which, when selected, plays the video.
The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the invention. However, it will be apparent to one skilled in the art that specific details are not required in order to practise the invention. Thus, the foregoing descriptions of specific embodiments of the invention are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed as obviously many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the following claims and their equivalents define the scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2023902848 | Sep 2023 | AU | national |