Videodateien new file: homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstab new file: homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabAv1Cq new file: homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabVp9Cq new file: homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vp9
128 lines
3.8 KiB
Makefile
128 lines
3.8 KiB
Makefile
include Makefile.cfg
|
|
# In deer Makefile.cfg muss mindestens das VID_GAL_DIR stehen
|
|
|
|
# Experimentieren mit Videocompression
|
|
# Stabilisierung mit vidstab
|
|
# Kompression mit VP9 und Konstanter Qualität
|
|
|
|
# Standardwerte
|
|
|
|
# Für eine schnelle Komprimierung
|
|
#DEFAULT_VID_CODEC = libvpx
|
|
#DEFAULT_VID_CODEC_BITRATE = 500k
|
|
DEFAULT_VID_CODEC = libvpx-vp9
|
|
DEFAULT_VID_CODEC_HEIGHT = 360
|
|
DEFAULT_VID_CODEC_BITRATE = 500k
|
|
DEFAULT_VID_CODEC_CQ = 36
|
|
|
|
DEFAULT_FFMPEG = ffmpeg
|
|
|
|
# Standardwerte auf die benutzen Variablen schreiben, falls diese noch
|
|
# nicht (z.B. aus dem Terminal heraus oder über ein IncludeCfgFile)
|
|
# gesetzt worden sind
|
|
VID_CODEC := $(if $(VID_CODEC),$(VID_CODEC),$(DEFAULT_VID_CODEC))
|
|
VID_CODEC_HEIGHT := $(if $(VID_CODEC_HEIGHT),$(VID_CODEC_HEIGHT),$(DEFAULT_VID_CODEC_HEIGHT))
|
|
VID_CODEC_BITRATE := $(if $(VID_CODEC_BITRATE),$(VID_CODEC_BITRATE),$(DEFAULT_VID_CODEC_BITRATE))
|
|
VID_CODEC_CQ := $(if $(VID_CODEC_CQ),$(VID_CODEC_CQ),$(DEFAULT_VID_CODEC_CQ))
|
|
|
|
FFMPEG := $(if $(FFMPEG),$(FFMPEG),$(DEFAULT_FFMPEG))
|
|
|
|
|
|
# Videoquellen
|
|
ORIG_VIDS = \
|
|
$(wildcard videos/aufnahmen/mögel/*.MP4) \
|
|
$(wildcard videos/aufnahmen/moegel/*.MP4) \
|
|
$(wildcard videos/aufnahmen/helko/*.mp4) \
|
|
$(wildcard videos/aufnahmen/elly/*.mp4) \
|
|
$(wildcard videos/aufnahmen/papaRomy/*.webm) \
|
|
$(wildcard videos/aufnahmen/papaRomy/*.mp4)
|
|
|
|
# Targets
|
|
webm_VIDS = $(addprefix videos/webm/, $(addsuffix .webm, $(basename $(notdir $(ORIG_VIDS)))))
|
|
JPEG_THMB = $(addprefix videos/thumbnails/, $(addsuffix .jpg, $(basename $(notdir $(ORIG_VIDS)))))
|
|
|
|
|
|
.PHONY: all
|
|
all: $(JPEG_THMB) $(webm_VIDS)
|
|
|
|
# Aufnahmen mit Helko
|
|
videos/webm/%.webm: videos/aufnahmen/helko/%.mp4
|
|
mkdir -p videos/webm
|
|
# Erst die Stabilisierung:
|
|
$(FFMPEG) -i $^ \
|
|
-filter:v vidstabdetect=shakiness=10:accuracy=15 \
|
|
-f null \
|
|
-
|
|
$(FFMPEG) -i $^ \
|
|
-filter:v vidstabtransform=smoothing=30:optzoom=2:interpol=bicubic,unsharp=5:5:0.8:3:3:0.4,scale=-1:$(VID_CODEC_HEIGHT) \
|
|
-codec:v $(VID_CODEC) \
|
|
-crf $(DEFAULT_VID_CODEC_CQ)\
|
|
-b:v 0 \
|
|
-quality best \
|
|
-an \
|
|
-f webm \
|
|
$@
|
|
# ffmpeg -i dummy.avi -i dummyStab.avi \
|
|
# -filter_complex "[0:v]setpts=PTS-STARTPTS, pad=iw*2:ih[bg]; [1:v]setpts=PTS-STARTPTS[fg]; [bg][fg]overlay=w" \
|
|
# side_by_side.avi
|
|
# ffmpeg -i $^ \
|
|
# -filter:v vidstabtransform=smoothing=30:optzoom=2:interpol=bicubic,scale=-1:$(VID_CODEC_HEIGHT) \
|
|
# -codec:v $(VID_CODEC) \
|
|
# -pass 1 \
|
|
# -b:v $(VID_CODEC_BITRATE) \
|
|
# -threads 1 \
|
|
# -speed 4 \
|
|
# -tile-columns 0 \
|
|
# -frame-parallel 0 \
|
|
# -g 9999 \
|
|
# -aq-mode 0 \
|
|
# -an \
|
|
# -f webm \
|
|
# -y \
|
|
# /dev/null
|
|
# ffmpeg -i $^ \
|
|
# -filter:v vidstabtransform=smoothing=30:optzoom=2:interpol=bicubic,scale=-1:$(VID_CODEC_HEIGHT) \
|
|
# -codec:v $(VID_CODEC) \
|
|
# -pass 2 \
|
|
# -b:v $(VID_CODEC_BITRATE) \
|
|
# -threads 1 \
|
|
# -speed 0 \
|
|
# -tile-columns 0 \
|
|
# -frame-parallel 0 \
|
|
# -auto-alt-ref 1 \
|
|
# -lag-in-frames 25 \
|
|
# -g 9999 \
|
|
# -aq-mode 0 \
|
|
# -an \
|
|
# -f webm \
|
|
# $@
|
|
# Wir extperimentieren ja nur, deshalb kein Upload
|
|
# curl \
|
|
# --upload-file $@ \
|
|
# --user cwsvjudo:Dee4oquu \
|
|
# ftp://cwsvjudo.square7.net/videoalben/videoalben.2018/$(VID_GAL_DIR)/$(patsubst videos/%,%,$@) \
|
|
# --ftp-create-dirs
|
|
# curl \
|
|
# --upload-file $@ \
|
|
# --user cwsvjudo:***REMOVED*** \
|
|
# ftp://cwsvjudo.bplaced.net/www/videoalben/videoalben.2018/$(VID_GAL_DIR)/$(patsubst videos/%,%,$@) \
|
|
# --ftp-create-dirs
|
|
|
|
|
|
videos/thumbnails/%.jpg: videos/webm/%.webm
|
|
mkdir -p videos/thumbnails
|
|
-ffmpeg -i "$^" -vf "select=gt(scene\,0.4)" -frames:v 5 -vsync vfr -vf fps=fps=1/600 "$@"
|
|
# curl \
|
|
# --upload-file "$@" \
|
|
# --user cwsvjudo:Dee4oquu \
|
|
# "ftp://cwsvjudo.square7.net/videoalben/videoalben.2018/$(VID_GAL_DIR)/$(patsubst videos/%,%,$@)" \
|
|
# --ftp-create-dirs
|
|
# curl \
|
|
# --upload-file "$@" \
|
|
# --user cwsvjudo:***REMOVED*** \
|
|
# "ftp://cwsvjudo.bplaced.net/www/videoalben/videoalben.2018/$(VID_GAL_DIR)/$(patsubst videos/%,%,$@)" \
|
|
# --ftp-create-dirs
|
|
|
|
.PHONY: videos/thumbnails
|
|
videos/thumbnails: $(JPEG_THMB)
|