diff options
Diffstat (limited to 'local/bin/Xrec')
| -rwxr-xr-x | local/bin/Xrec | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/local/bin/Xrec b/local/bin/Xrec new file mode 100755 index 0000000..1d7e956 --- /dev/null +++ b/local/bin/Xrec @@ -0,0 +1,32 @@ +#!/usr/bin/env sh +VIDEO_SIZE="1920x1080" +DISPLAY_NUM=":0.0" +AUDIO_SOURCE="default" +FPS="60" +OUTPUT_FILE="recording_$(date +%Y%m%d_%H%M%S).mkv" +AUDIO_BITRATE="128k" +record() { + local out_file="${1:-$OUTPUT_FILE}" + echo "Starting screen + mic recording..." + echo "Resolution: $VIDEO_SIZE @ ${FPS}fps" + echo "Audio source: $AUDIO_SOURCE" + echo "Output: $out_file" + ffmpeg -y \ + -thread_queue_size 1024 \ + -f x11grab -framerate "$FPS" -video_size "$VIDEO_SIZE" -i "$DISPLAY_NUM" \ + -thread_queue_size 1024 \ + -f pulse -i "$AUDIO_SOURCE" \ + -c:v h264_nvenc -preset p1 -rc vbr -cq 23 \ + -pix_fmt yuv420p \ + -c:a aac -b:a "$AUDIO_BITRATE" \ + -vsync 1 \ + "$out_file" +} +show_help() { + echo "Usage: $0 record [output_file]" +} +if [ "$1" = "--record" ]; then + record "$2" +else + show_help +fi |
