Recording presentations using layered keyframes
Abstract
A layered-keyframe-based, presentation recording service provides for presentation recording sessions, the recording of presentations, and the creation of presentation videos. A user records with the user's device the document pages and page annotations, as well audio and video streams, that are presented using the device during the course of a presentation recording session. The pages, annotations and video streams are efficiently and separately recorded as keyframes. These keyframes are used as document, annotation and video layers to create layered keyframes. A presentation video is created from the layered keyframes and the recorded audio stream. Users can then playback presentation videos at a time, place and manner that is available to, accessible by and/or convenient to them.
Claims
exact text as granted — not AI-modifiedWe claim:
1. A method comprising:
recording a sequence of document keyframes, a sequence of annotation keyframes, a sequence of video keyframes, and an audio stream via a recording session service;
comparing corresponding keyframes of each of the sequence of document keyframes, the sequence of annotation keyframes, and the sequence of video keyframes, wherein each of the corresponding keyframes includes a keyframe and a next corresponding keyframe in sequence;
transporting document keyframes from the recording session service to a presentation video service where differences between corresponding document keyframes are determined, transporting annotation keyframes from the recording session service to the presentation video service where differences between corresponding annotation keyframes are determined, and transporting video keyframes from the recording session service to the presentation video service where differences between corresponding video keyframes are determined, and wherein across all three layers of keyframes, only when differences in a sequence of keyframes are detected will keyframes be transported;
generating layered keyframes from transported document keyframes, annotation keyframes, and video keyframes, wherein the layered keyframes are generated by the presentation video service; and
generating a presentation video by combining the layered keyframes with the audio stream.
2. A non-transitory, computer-readable medium storing program instructions that, when executed by a processor, cause the processor to perform a method comprising:
recording a sequence of document keyframes, a sequence of annotation keyframes, a sequence of video keyframes, and an audio stream;
comparing corresponding keyframes of each of the sequence of document keyframes, the sequence of annotation keyframes, and the sequence of video keyframes, wherein each of the corresponding keyframes includes a keyframe and a next corresponding keyframe in sequence; and
transporting document keyframes to a presentation video service in which differences between corresponding document keyframes are determined, transporting annotation keyframes to the presentation video service in which differences between corresponding annotation keyframes are determined, and transporting video keyframes to the presentation video service in which differences between corresponding video keyframes are determined, wherein across all three layers of keyframes, only when differences in a sequence of keyframes are detected will keyframes be transported, wherein the presentation video service generates layered keyframes from transported document keyframes, annotation keyframes, and video keyframes, and wherein the presentation video service combines the layered keyframes with the audio stream to generate a presentation video.
3. The method of claim 1 , wherein the recording session service is part of a client, and wherein the presentation video service is part of a server.
4. The method of claim 1 , wherein the presentation video service generates the presentation video by transcoding the sequence of layered keyframes.
5. The method of claim 1 , wherein the recording session service notifies the presentation video service when no differences are determined between corresponding keyframes.
6. The method of claim 1 , wherein the presentation video is stored as a single video file.
7. The method of claim 1 , wherein the recording session service records keyframes at a keyframe frequency, and wherein the keyframe frequency indicates a comparison interval between keyframes.
8. The method of claim 1 , wherein, for each of the sequence of document keyframes, the sequence of annotation keyframes, and the sequence of video keyframes, the recording session service does not transport any keyframe that is the same as a corresponding prior recorded keyframe.
9. The non-transitory, computer-readable medium of claim 2 , wherein the processor is part of a client, and wherein the presentation video service is part of a server, and wherein the client communicates keyframes to the server when differences are detected between corresponding keyframes in sequence.
10. The non-transitory, computer-readable medium of claim 2 , wherein the presentation video service is notified when no differences are determined between corresponding keyframes.
11. The non-transitory, computer-readable medium of claim 2 , wherein the presentation video service generates the presentation video by transcoding the sequence of layered keyframes.
12. The non-transitory, computer-readable medium of claim 2 , wherein the presentation video is stored as a single video file.
13. The non-transitory, computer-readable medium of claim 2 , wherein keyframes are recorded at a keyframe frequency, and wherein the keyframe frequency indicates a comparison interval between keyframes.
14. A system comprising:
a recording session service that records a sequence of document keyframes, a sequence of annotation keyframes, a sequence of video keyframes, and an audio stream, wherein the recording session service compares corresponding keyframes of each sequence of recorded keyframes, wherein the recording session service transports document keyframes where differences between corresponding document keyframes are determined, wherein the recording session service transports annotation keyframes where differences between corresponding annotation keyframes are determined, wherein the recording session service transports video keyframes where differences between corresponding video keyframes are determined, and wherein across all three layers of keyframes, only when differences in a sequence of keyframes are detected will keyframes be transported; and
a presentation video service that receives keyframes transported by the recording session service, wherein presentation video service creates a sequence of layered keyframes from the document keyframes, the annotation keyframes, and the video keyframes received from the recording session service, wherein the presentation video service creates a keyframe video by transcoding the sequence of layered keyframes, and wherein the presentation video service combines the keyframe video and the audio stream thereby forming a presentation video.
15. The system of claim 14 , wherein the recording session service notifies the presentation video service when no differences are determined between corresponding keyframes.
16. The system of claim 15 , wherein when no differences are determined between corresponding keyframes, the presentation video service uses the received keyframe as a next keyframe in forming the sequence of layered keyframes.
17. The system of claim 14 , wherein the presentation video is stored as a single video file.
18. The system of claim 14 , wherein the recording session service records keyframes at a keyframe frequency, and wherein the keyframe frequency indicates a comparison interval between keyframes.
19. The system of claim 14 , wherein, for each of the sequence of document keyframes, the sequence of annotation keyframes, and the sequence of video keyframes, the recording session service does not transport any keyframe that is the same as a corresponding prior recorded keyframe.
20. The system of claim 14 , wherein the recording session service operates on a client, wherein the presentation video service operates on a server, and wherein the recording session service transports document keyframes, annotation keyframes, video keyframes, and the audio stream to the presentation video service over a network.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.