This application claims priority under 35 U.S.C. §119 to Indian Patent Application No. 201631 020157 filed on Jun. 13, 2016, the entire content of which is hereby incorporated by reference.
In a traditional videoconference as shown in
A full mesh peer-to-peer (P2P) videoconference is achieved by setting up independent audio/video real-time RTP streams between each participant of the conference. Setting up individual streams with each participant allows the videoconferencing clients the capability to independently compose the video or to select which participant it wants to send/receive the video. However, because a centralized device like the MCU is not present, recording a session is not readily performed.
In embodiments according to the present invention, recording of sessions in a P2P videoconference can be performed. In a first embodiment each participant provides a one-way audio and video stream to a recording server, the recording server cooperating with the signaling server to establish the media streams and to record the desired streams and place desired restrictions on the resulting stored file. In a second embodiment, a plurality of recording servers are present, with participants cooperating with one of the recording servers to record each participants audio and video stream. In a third embodiment a recording server is integrated with the participant endpoint, with that participant using the local recording server.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an implementation of apparatus and methods consistent with the present invention and, together with the detailed description, serve to explain advantages and principles consistent with the invention.
Systems according to the present invention embody recording architectures where the recording server or servers are added as P2P participants in a full mesh conference.
Referring to
The recording server 212 establishes and modifies in runtime the quality (video size, bitrates, frame rate, etc) of the media streams it receives and stores for each participant 202, 204, 206 in the conference, since the recording is always separate. For example, the recording server 212 might want to receive high bit-rate streams from actively speaking participants while receiving low bit-rate streams for all other participants.
According to the present invention, each participant 202, 204, 206 has recording permissions, such as allow, deny or make private. This allows a participant to choose whether he or she agrees to be recorded. For example, if Participant 1202 initiates a conference recording, Participant 2204 can choose not to record his streams, while Participant 3206 might choose to record his streams, but keep them private. The selection of each participant's recording status can be seen by other participants (for example, in the videoconference roster), so they are aware about which streams are being recorded and will be available for playback in the final recording.
The signaling server 208 is responsible for setting up the media channels and managing permissions, as well as ensuring there are sufficient recording resources in the network to serve demand.
Referring to
Participant 1202 pushes the “Start Recording” button om his videoconference unit, which sends a request to the signaling server 208. In step 502 the signaling server 208 receives the “Start Recording” request from the participants.
In step 504 the signaling server 208 finds and allocates resources on a suitable recording server(s) 212.
In step 506 the signaling server 212 sends a recording permissions request to all the participants 202, 204, 206.
The participants 202, 204, 206 choose to allow the recording, deny the recording of their streams or make their stream recording private.
The permission selection request is sent back from each participant to the signaling server, which are received by the signaling server 208 in step 508.
In step 510 the signaling server 208 initiates media stream setup for a one-way (participant to recording server) P2P stream between each participant 202, 204, 206 and the recording server(s) 212.
On completion of media stream setup, in step 512 each participant starts streaming their audio and video to the recording server 212.
In step 514 the recording server(s) 212 store the recording. It may optionally store a different file for each participant in the conference separately, with metadata used to indicate the session and the other participants, to allow the entire conference to be recreated if desired.
This method of recording streams directly from the participant can be further optimized by distributing the recordings on multiple servers, as shown in
In an additional embodiment, a recording server 412C (as a component) is bundled with the participant 402 (i.e. part of endpoint 414) and can record the participant's audio and video streams locally, as shown in
At the end of the conference, or when the recording is stopped, the signaling server requests the recording server(s) to stop the recordings. The recording server may transfer the recordings to a content delivery network (CDN). The signaling server may upload the metadata that ties the separate recordings into a single conference recording. Such metadata contains information such as the conference details, participant details, active speaker details etc., which is useful while playing back the recordings as discussed above.
The above description is intended to be illustrative, and not restrictive. For example, the above-described embodiments may be used in combination with each other. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.”
Number | Date | Country | Kind |
---|---|---|---|
201631020157 | Jun 2016 | IN | national |