- 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
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user