Add support for raw video generation#69
Merged
Merged
Conversation
Rather than pass the video to ffmpeg for encoding to a file, support directly outputting the raw video frames. This is expected to be used by the BigBlueButton recording processing, which is already using ffmpeg, so it is able to accept the raw frames directly via a pipe. This will allow it to render portions of the video on demand, meaning the presentation area size can change, and the presentation video does not need to be generated for sections of video where the presentation is not visible.
ritzalam
approved these changes
Nov 5, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For the upcoming dynamic layout support in the video recording format, generation of the presentation video is being modified to happen "on demand", rather than having the tool pre-generate the presentation video for the entire length of the recording.
Since the presentation video is now being sent directly into the ffmpeg process that renders the cut, rather than being stored in a file, there is no need for any compression or container. Provide a new output code, "rawvideo", which outputs the raw video frames directly without any re-encoding.
The on demand generation of the presentation video means that deciding which sections of the video are being included in the recording or not are decided by the recording scripts. A new option
--ignore-record-statusis added which ensures that the full length of the requested video is output without bbb-presentation-video doing any management of recording status itself.The end time handling was incorrect, causing the video to continue being generated past the selected end point. This is also corrected.