Add S-expression based video effects pipeline with modular effect definitions, constructs, and recipe files. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
22 lines
850 B
Common Lisp
22 lines
850 B
Common Lisp
;; CRT effect - old TV/monitor look with scanlines and vignette
|
|
;; Usage: python3 plan.py effects/crt.sexp -p line_spacing=3 -p vignette_amount=0.3 | python3 execute.py - -d . -o output.mp4
|
|
;;
|
|
;; Parameters:
|
|
;; line_spacing: pixels between scanlines (1 to 8, default: 3)
|
|
;; vignette_amount: edge darkening strength (0 to 1, default: 0.3)
|
|
|
|
(recipe "crt"
|
|
:version "1.0"
|
|
:encoding (:codec "libx264" :crf 20 :preset "medium" :audio-codec "aac" :fps 30)
|
|
|
|
(effect crt :path "sexp_effects/effects/crt.sexp")
|
|
|
|
;; Default parameters (overridden by -p line_spacing=N -p vignette_amount=N)
|
|
(def line_spacing 3)
|
|
(def vignette_amount 0.3)
|
|
|
|
(def video (source :path "monday.webm"))
|
|
(def clip (-> video (segment :start 0 :duration 10)))
|
|
(def result (-> clip (effect crt :line_spacing line_spacing :vignette_amount vignette_amount)))
|
|
result)
|