Better guard against scrambled frames in screenrecording on slower systems
This commit is contained in:
@@ -164,12 +164,11 @@ finalize_recording() {
|
|||||||
latest=$(cat "$RECORDING_FILE" 2>/dev/null)
|
latest=$(cat "$RECORDING_FILE" 2>/dev/null)
|
||||||
[[ -f $latest ]] || return
|
[[ -f $latest ]] || return
|
||||||
|
|
||||||
# Trim the first frame, and normalize audio to -14 LUFS if present, in a single pass
|
# Re-encode to drop scrambled encoder-warmup frames (stream copy can't — it rewinds to the keyframe)
|
||||||
local args=(-y -ss 0.1 -i "$latest")
|
# 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
|
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)
|
args+=(-af loudnorm=I=-14:TP=-1.5:LRA=11)
|
||||||
else
|
|
||||||
args+=(-c copy)
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local processed="${latest%.mp4}-processed.mp4"
|
local processed="${latest%.mp4}-processed.mp4"
|
||||||
|
|||||||
Reference in New Issue
Block a user