Files
cwsvJudo/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabAv1Cq
marko 38a7190b62 - verschiedene Makefiles zum Erstellen für das Encodieren von
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
2018-09-03 14:35:50 +02:00

130 lines
3.9 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 = libaom-av1
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
mkv_VIDS = $(addprefix videos/mkv/, $(addsuffix .mkv, $(basename $(notdir $(ORIG_VIDS)))))
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) $(mkv_VIDS)
all: $(mkv_VIDS)
# Aufnahmen mit Helko
videos/mkv/%.mkv: videos/aufnahmen/helko/%.mp4
mkdir -p videos/mkv
# 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,scale=-1:$(VID_CODEC_HEIGHT) \
-strict experimental \
-codec:v $(VID_CODEC) \
-crf $(DEFAULT_VID_CODEC_CQ) \
-b:v 0 \
-an \
-f matroska \
$@
# 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)