- 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,286 @@
|
||||
include Makefile.cfg
|
||||
# In deer Makefile.cfg mus mindestens das VID_GAL_DIR stehen
|
||||
|
||||
# Experimentieren mit vidstab, nur in helko
|
||||
|
||||
# Standardwerte
|
||||
|
||||
# Für eine schnelle Komprimierung
|
||||
#DEFAULT_VID_CODEC = libvpx
|
||||
#DEFAULT_VID_CODEC_BITRATE = 500k
|
||||
DEFAULT_VID_CODEC_HEIGHT = 360
|
||||
DEFAULT_VID_CODEC_BITRATE = 500k
|
||||
DEFAULT_VID_CODEC = libvpx-vp9
|
||||
|
||||
|
||||
# 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_BITRATE := $(if $(VID_CODEC_BITRATE),$(VID_CODEC_BITRATE),$(DEFAULT_VID_CODEC_BITRATE))
|
||||
VID_CODEC_HEIGHT := $(if $(VID_CODEC_BITRATE),$(VID_CODEC_BITRATE),$(DEFAULT_VID_CODEC_BITRATE))
|
||||
VID_CODEC := $(if $(VID_CODEC),$(VID_CODEC),$(DEFAULT_VID_CODEC))
|
||||
|
||||
|
||||
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)
|
||||
|
||||
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 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/webm/%.webm: videos/aufnahmen/mögel/%.MP4
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i $^ \
|
||||
-filter:v yadif=0:0:0,scale=-1:480 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 4 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
ffmpeg -i $^ \
|
||||
-filter:v yadif=0:0:0,scale=-1:480 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 2 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 0 \
|
||||
-auto-alt-ref 1 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
$@
|
||||
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/webm/%.webm: videos/aufnahmen/moegel/%.MP4
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i $^ \
|
||||
-filter:v yadif=0:0:0,scale=-1:480 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 4 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
ffmpeg -i $^ \
|
||||
-filter:v yadif=0:0:0,scale=-1:480 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 2 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 0 \
|
||||
-auto-alt-ref 1 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
$@
|
||||
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/webm/%.webm: videos/aufnahmen/papaRomy/%.mp4
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i $^ \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 4 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
ffmpeg -i $^ \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 2 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 0 \
|
||||
-auto-alt-ref 1 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
$@
|
||||
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/webm/%.webm: videos/aufnahmen/papaRomy/%.webm
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i $^ \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 4 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
ffmpeg -i $^ \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 2 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 0 \
|
||||
-auto-alt-ref 1 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
$@
|
||||
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/webm/%.webm: videos/aufnahmen/elly/%.mp4
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i "$^" \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 4 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
ffmpeg -i "$^" \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 2 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 0 \
|
||||
-auto-alt-ref 1 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
"$@"
|
||||
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)
|
||||
@@ -0,0 +1,129 @@
|
||||
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)
|
||||
@@ -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)
|
||||
@@ -0,0 +1,297 @@
|
||||
include Makefile.cfg
|
||||
|
||||
# Standardwerte
|
||||
|
||||
# Für eine schnelle Komprimierung
|
||||
DEFAULT_VID_CODEC = libvpx
|
||||
DEFAULT_VID_CODEC_BITRATE = 500k
|
||||
DEFAULT_VID_CODEC_HEIGHT = 320
|
||||
#DEFAULT_VID_CODEC_BITRATE = 250k
|
||||
#DEFAULT_VID_CODEC = libvpx-vp9
|
||||
|
||||
|
||||
# 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_BITRATE := $(if $(VID_CODEC_BITRATE),$(VID_CODEC_BITRATE),$(DEFAULT_VID_CODEC_BITRATE))
|
||||
VID_CODEC := $(if $(VID_CODEC),$(VID_CODEC),$(DEFAULT_VID_CODEC))
|
||||
|
||||
|
||||
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)
|
||||
#webm_VIDS = \
|
||||
# $(patsubst videos/mögel/%.MP4, videos/webm/%.webm, $(ORIG_VIDS)) \
|
||||
# $(patsubst videos/moegel/%.MP4, videos/webm/%.webm, $(ORIG_VIDS)) \
|
||||
# $(patsubst videos/helko/%.mp4, videos/webm/%.webm, $(ORIG_VIDS)) \
|
||||
# $(patsubst videos/elly/%.mp4, videos/webm/%.webm, $(ORIG_VIDS)) \
|
||||
# $(patsubst videos/papaRomy/%.webm, videos/webm/%.webm, $(ORIG_VIDS)) \
|
||||
# $(patsubst videos/papaRomy/%.mp4, videos/webm/%.webm, $(ORIG_VIDS))
|
||||
|
||||
webm_VIDS = $(addprefix videos/webm/, $(addsuffix .webm, $(basename $(notdir $(ORIG_VIDS)))))
|
||||
JPEG_THMB = $(addprefix videos/thumbnails/, $(addsuffix .jpg, $(basename $(notdir $(ORIG_VIDS)))))
|
||||
|
||||
#JPEG_THMB = \
|
||||
# $(patsubst videos/mögel/%.MP4, videos/thumbnails/%.jpg, $(ORIG_VIDS)) \
|
||||
# $(patsubst videos/moegel/%.MP4, videos/thumbnails/%.jpg, $(ORIG_VIDS)) \
|
||||
# $(patsubst videos/helko/%.mp4, videos/thumbnails/%.jpg, $(ORIG_VIDS)) \
|
||||
# $(patsubst videos/elly/%.mp4, videos/thumbnails/%.jpg, $(ORIG_VIDS)) \
|
||||
# $(patsubst videos/papaRomy/%.webm, videos/thumbnails/%.jpg, $(ORIG_VIDS)) \
|
||||
# $(patsubst videos/papaRomy/%.mp4, videos/thumbnails/%.jpg, $(ORIG_VIDS))
|
||||
|
||||
#VID_GAL_DIR = "2018-06-23_LittleOttoGoshiLiga-2018-2_U9U12_HalleS"
|
||||
#VID_GAL_DIR = "2018-08-18_LittleOttoGoshiLiga-2018-3-U9U12-HalleS"
|
||||
|
||||
|
||||
.PHONY: all
|
||||
all: $(JPEG_THMB) $(webm_VIDS)
|
||||
|
||||
.PHONY: TEST
|
||||
TEST:
|
||||
@echo "Originale: "
|
||||
@echo $(ORIG_VIDS)
|
||||
@echo "webms: "
|
||||
@echo $(webm_VIDS)
|
||||
@echo "jpgs: "
|
||||
@echo $(JPEG_THMB)
|
||||
|
||||
videos/webm/%.webm: videos/aufnahmen/mögel/%.MP4
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i $^ \
|
||||
-filter:v yadif=0:0:0,scale=-1:480 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 4 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
ffmpeg -i $^ \
|
||||
-filter:v yadif=0:0:0,scale=-1:480 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 2 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 0 \
|
||||
-auto-alt-ref 1 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
$@
|
||||
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/webm/%.webm: videos/aufnahmen/moegel/%.MP4
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i $^ \
|
||||
-filter:v yadif=0:0:0,scale=-1:480 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 4 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
ffmpeg -i $^ \
|
||||
-filter:v yadif=0:0:0,scale=-1:480 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 2 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 0 \
|
||||
-auto-alt-ref 1 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
$@
|
||||
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/webm/%.webm: videos/aufnahmen/helko/%.mp4
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i $^ \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-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 scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-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 \
|
||||
$@
|
||||
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/webm/%.webm: videos/aufnahmen/papaRomy/%.mp4
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i $^ \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 4 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
ffmpeg -i $^ \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 2 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 0 \
|
||||
-auto-alt-ref 1 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
$@
|
||||
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/webm/%.webm: videos/aufnahmen/papaRomy/%.webm
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i $^ \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 4 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
ffmpeg -i $^ \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 2 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 0 \
|
||||
-auto-alt-ref 1 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
$@
|
||||
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/webm/%.webm: videos/aufnahmen/elly/%.mp4
|
||||
mkdir -p videos/webm
|
||||
ffmpeg -i "$^" \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 4 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
ffmpeg -i "$^" \
|
||||
-filter:v scale=-1:480,deshake=-1:-1:-1:-1:64:64:3:64:125:0 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 2 \
|
||||
-b:v $(VID_CODEC_BITRATE) \
|
||||
-speed 0 \
|
||||
-auto-alt-ref 1 \
|
||||
-g 9999 \
|
||||
-an \
|
||||
-f webm \
|
||||
"$@"
|
||||
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