Skip to content

Recording

The Recording screen is displayed while your recording is in progress. It provides real-time status information and controls for pausing or stopping the recording.

Screen Preview

Recording in Progress
██████████████████████████ ████ █ █ ██ █ █ ████████████ █ ██ █ █ █ █ █ █ █ █ █ ● █ ██ █ █ █ █ █ █ █ █ ████████████ █ ██ █ █ █ ██ █ ██████████████████████████ ████
REC 00:05:23
[ Pause ] [ Stop ]
p: pause • s: stop • ←/→: select button • space: activate

Screen Elements

Camera Icon

A large video camera icon is displayed in the center, providing visual confirmation that recording is active.

Status Indicator

REC

The blinking "REC" indicator confirms the recording is active. It blinks every 500ms to clearly show the recording state.

Elapsed Time

00:05:23

Shows the current recording duration in HH:MM:SS format. Updates every second.

Control Buttons

Two action buttons are available:

Button Description
[ Pause ] Temporarily pause the recording
[ Stop ] End the recording

Use Left / Right to select between buttons, then Space or Enter to activate.

Paused State

When paused, the display changes:

Recording Paused
████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████
PAUSED 00:05:23
[ Resume ] [ Stop ]
p: resume • s: stop • ←/→: select button • space: activate

Paused State Changes:

  • Camera icon replaced with pause icon (two vertical bars)
  • "REC" changes to "PAUSED" (yellow)
  • "Pause" button changes to "Resume"
  • Timer freezes at pause point
  • FFmpeg processes receive SIGSTOP signal

Keyboard Shortcuts

Key Action
P Toggle pause/resume
S Stop recording
Left / Right Select button
Space / Enter Activate selected button

Recording Processes

While recording, the following processes run simultaneously:

Process Description
Screen capture FFmpeg capturing the selected monitor
Audio capture FFmpeg capturing microphone input
Webcam capture FFmpeg capturing webcam (if enabled)

Process IDs are stored in temporary files:

  • /tmp/kvp-video-pid
  • /tmp/kvp-audio-pid
  • /tmp/kvp-webcam-pid

Pause Functionality

How Pause Works

  1. SIGSTOP signal sent to all recording processes
  2. Timer display freezes
  3. UI updates to paused state
  4. Processes remain in memory, ready to resume

Resume Behavior

  1. SIGCONT signal sent to all processes
  2. Timer continues from pause point
  3. UI returns to recording state
  4. No gaps in the final video

Pause Limitations

The pause feature uses Unix signals and works best on Linux. Behavior may vary on other platforms.

Stopping the Recording

When you stop the recording:

  1. SIGTERM sent to all recording processes
  2. Processes cleanly terminate and finalize files
  3. Screen transitions to Processing screen
  4. Post-processing begins automatically

File Outputs

During recording, files are written to:

~/Videos/Screencasts/<topic>/<title>/
├── video.mkv       # Raw screen capture
├── audio.wav       # Raw audio capture
├── webcam.mkv      # Raw webcam (if enabled)
└── metadata.json   # Recording information

Workflow Position

1
Previous: Countdown → Countdown completes
2
Current: Recording (this screen)
3
Next: Processing → After pressing Stop

Technical Details

  • Display refresh: Every 100ms for smooth timer updates
  • Blink interval: 500ms for REC indicator
  • Signal handling: SIGSTOP/SIGCONT for pause, SIGTERM for stop
  • Process monitoring: Regular checks for process health