How mathewsachin/captura works
Captura is a Windows desktop screen recorder and screenshot tool, with a command-line entry point. The main workflow selects screen, window, region, webcam, and audio inputs; captures and overlays frames; then records or saves screenshots as files or uploads. The tree documents additional AVI/GIF/MP4, replay, steps, hotkey, and localization capabilities. Sampled source confirms CLI recording and screenshot calls, Windows capture providers, preview handling, and FFmpeg process/log behavior; other subsystem links reflect documented capabilities and tree structure.
Main entry points: RecordingModel.cs Recording model · App.xaml.cs Desktop app · ConsoleManager.cs CLI manager · ScreenShotModel.cs Screenshot model
Components 24
User entry points
- Desktop app
src/Captura/App.xaml.cs - CLI manager
src/Captura.Console/ConsoleManager.cs
Capture inputs
- Screenshot model
src/Captura.Core/ViewModels/ScreenShotModel.cs - Capture orchestration
src/Screna/Recorder.cs - Screen sources
src/Screna/VideoSourceProviders - Frame overlays
src/Screna/Overlays - Audio capture
src/Captura.NAudio/NAudioSource.cs - Webcam capture
src/Captura.Windows/Webcam/WebcamCapture.cs
Recording and output
- Recording model
src/Captura.Core/ViewModels/RecordingModel.cs - FFmpeg writers
src/Captura.FFmpeg/Video/FFmpegVideoWriter.cs - AVI writers
src/Captura.SharpAvi/SharpAviWriterProvider.cs - Image outputs
src/Captura.Core/Models/ImageWriterItems - FFmpeg service
src/Captura.FFmpeg/FFmpegService.cs - Imgur uploader
src/Captura.Imgur/ImgurUploader.cs - YouTube uploader
src/Captura.YouTube/YouTubeUploader.cs
Controls and features
- Mouse and keys
src/Captura.MouseKeyHook/MouseKeyHook.cs - Recording preview
src/Captura/Models/PreviewWindowService.cs - Hotkey manager
src/Captura.Hotkeys/HotKeyManager.cs - Settings
src/Captura.Core/Settings/Settings.cs
Platform services
- Windows capture
src/Captura.Windows/WindowsPlatformServices.cs
Other components
- User
- Local files
- FFmpeg executable
- Upload services
Connections 24
- User → Desktop app: uses
- User → CLI manager: invokes
- Desktop app → Recording model: records through
- CLI manager → Recording model: starts recording
- CLI manager → Screenshot model: requests screenshot
- Windows capture → Screen sources: provides capture
- Recording model → Capture orchestration: orchestrates capture
- Recording model → FFmpeg writers: selects writer
- Recording model → AVI writers: selects writer
- Screenshot model → Windows capture: captures image
- Capture orchestration → Frame overlays: composes frames
- Capture orchestration → Recording preview: displays frames
- Recording model → Audio capture: captures audio
- Recording model → Webcam capture: captures webcam
- Mouse and keys → Frame overlays: supplies annotations
- FFmpeg writers → FFmpeg service: starts process
- FFmpeg service → FFmpeg executable: runs
- FFmpeg service → Local files: writes logs
- Screenshot model → Image outputs: saves or uploads
- Image outputs → Local files: writes images
- Imgur uploader → Upload services: uploads images
- YouTube uploader → Upload services: uploads video
- Desktop app → Settings: loads settings
- Hotkey manager → Recording model: dispatches actions