diff --git a/bin/omarchy-cmd-screenrecord b/bin/omarchy-cmd-screenrecord index 1e45d4ab..e6538ad7 100755 --- a/bin/omarchy-cmd-screenrecord +++ b/bin/omarchy-cmd-screenrecord @@ -164,12 +164,11 @@ finalize_recording() { latest=$(cat "$RECORDING_FILE" 2>/dev/null) [[ -f $latest ]] || return - # Trim the first frame, and normalize audio to -14 LUFS if present, in a single pass - local args=(-y -ss 0.1 -i "$latest") + # Re-encode to drop scrambled encoder-warmup frames (stream copy can't — it rewinds to the keyframe) + # and normalize audio to -14 LUFS if present, in a single pass + local args=(-y -ss 0.1 -i "$latest" -c:v libx264 -preset veryfast -crf 20) if ffprobe -v error -select_streams a -show_entries stream=codec_type -of csv=p=0 "$latest" 2>/dev/null | grep -q audio; then - args+=(-af loudnorm=I=-14:TP=-1.5:LRA=11 -c:v copy) - else - args+=(-c copy) + args+=(-af loudnorm=I=-14:TP=-1.5:LRA=11) fi local processed="${latest%.mp4}-processed.mp4"