Usage: wf-recorder [OPTION]... -f [FILE]... Screen recording of wlroots-based compositors With no FILE, start recording the current screen. Use Ctrl+C to stop. -a, --audio[=DEVICE] Starts recording the screen with audio. [=DEVICE] argument is optional. In case you want to specify the audio device which will capture the audio, you can run this command with the name of that device. You can find your device by running: pactl list sources | grep Name Specify device like this: -a or --audio= -c, --codec Specifies the codec of the video. These can be found by using: ffmpeg -encoders To modify codec parameters, use -p = -r, --framerate Changes framerate to constant framerate with a given value. -d, --device Selects the device to use when encoding the video Some drivers report support for rgb0 data for vaapi input but really only support yuv. --no-dmabuf By default, wf-recorder will try to use only GPU buffers and copies if using a GPU encoder. However, this can cause issues on some systems. In such cases, this option will disable the GPU copy and force a CPU one. -D, --no-damage By default, wf-recorder will request a new frame from the compositor only when the screen updates. This results in a much smaller output file, which however has a variable refresh rate. When this option is on, wf-recorder does not use this optimization and continuously records new frames, even if there are no updates on the screen. -f .ext By using the -f option the output file will have the name : filename.ext and the file format will be determined by provided while extension .ext . If the extension .ext provided is not recognized by your FFmpeg muxers, the command will fail. You can check the muxers that your FFmpeg installation supports by running: ffmpeg -muxers -m, --muxer Set the output format to a specific muxer instead of detecting it from the filename. -x, --pixel-format Set the output pixel format. These can be found by running: ffmpeg -pix_fmts -g, --geometry Selects a specific part of the screen. The format is "x,y WxH". -h, --help Prints this help screen. -v, --version Prints the version of wf-recorder. -l, --log Generates a log on the current terminal. Debug purposes. -L, --list-output List the available outputs. -o, --output Specify the output where the video is to be recorded. -p, --codec-param Change the codec parameters. -p = -F, --filter Specify the ffmpeg filter string to use. For example, -F scale_vaapi=format=nv12 is used for VAAPI. -b, --bframes This option is used to set the maximum number of b-frames to be used. If b-frames are not supported by your hardware, set this to 0. -B. --buffrate This option is used to specify the buffers expected framerate. this may help when encoders are expecting specific or limited framerate. --audio-backend Specifies the audio backend among the available backends, for ex. --audio-backend=pipewire -C, --audio-codec Specifies the codec of the audio. These can be found by running: ffmpeg -encoders To modify codec parameters, use -P = -X, --sample-format Set the output audio sample format. These can be found by running: ffmpeg -sample_fmts -R, --sample-rate Changes the audio sample rate in HZ. The default value is 48000. -P, --audio-codec-param Change the audio codec parameters. -P = -y, --overwrite Force overwriting the output file without prompting. Examples: Video Only: - wf-recorder Records the video. Use Ctrl+C to stop recording. The video file will be stored as recording.mp4 in the current working directory. - wf-recorder -f .ext Records the video. Use Ctrl+C to stop recording. The video file will be stored as .ext in the current working directory. Video and Audio: - wf-recorder -a Records the video and audio. Use Ctrl+C to stop recording. The video file will be stored as recording.mp4 in the current working directory. - wf-recorder -a -f .ext Records the video and audio. Use Ctrl+C to stop recording. The video file will be stored as .ext in the current working directory.