- 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:
marko
2018-09-03 14:35:50 +02:00
parent b4946571c5
commit 38a7190b62
4 changed files with 839 additions and 0 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)