Audio, Screen, and Webcam Recording Backends#1081
Merged
Merged
Conversation
- Add AudioRecorder with input device capture, monitoring, recording, stats, level snapshots, and waveform snapshots - Add AudioRecorder settings, level data, waveform chunk data, and frame factory helpers - Expose AudioRecorder and related APIs to Python/SWIG - Add AudioDevices input device listing support - Register AudioRecorder in CMake and OpenShot public headers - Write recorded audio through FFmpegWriter using configured codec, sample rate, channels, layout, and bitrate - Finalize recorder writers cleanly on stop/close, including prepared recordings that never start - Update FFmpegWriter audio timestamps, packet durations, encoder flush behavior, and stream duration metadata - Fix FLAC outputs so FFmpegReader reports valid duration and video length after recording - Improve AudioWaveformer extraction for audio files with missing/unknown duration metadata - Add AudioRecorder unit tests for validation, monitoring, waveform, levels, and synthetic recording behavior - Add AudioWaveformer/FFmpegWriter regression coverage for FLAC duration and waveform extraction
…ak our Mac builder by including the wrong version of python at this moment. We'll revisit in the future.
Introduce FFmpeg-backed live capture readers for X11 screen capture and v4l2 camera devices, including JSON/settings support, Python bindings, public OpenShot includes, and focused metadata validation tests.
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.
This PR adds cross-platform recording support to libopenshot, including microphone, screen, webcam, and
supported system-audio capture. It also introduces higher-density peak/RMS waveform data, accurate live-
capture timestamps, a new Timer effect, and webcam layout properties.
Recording Support
Audio Recording
Screen Capture
System Audio
Webcam Capture
Timing and Synchronization
Waveforms
Clip Layout Properties
Timer Effect
Compatibility and Build Improvements
Validation