Die nicht-wiederaufnehmbaren Targets werden erstmal in eine
temporäre Datei geschrieben und am Ende in das eigentliche Target kopiert. Damit eine unvollständige Bearbeitung nicht eine Reencodierung verhindert.
This commit is contained in:
@@ -12,4 +12,8 @@ firstPassLogs = $(addsuffix .firstPassLog-0.log, $(basename $(sourceVideos)))
|
||||
webmVideos = $(addprefix videos/webm/, $(addsuffix .webm, $(basename $(notdir $(sourceVideos)))))
|
||||
jpegThumbs = $(addprefix videos/thumbnails/, $(addsuffix .jpg, $(basename $(notdir $(sourceVideos)))))
|
||||
|
||||
makefileDir = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d
|
||||
#makefileDir = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d
|
||||
makefileDir = ~/keeper/cwsvJudo/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d
|
||||
|
||||
FFMPEG = /home/marko/Downloads/ffmpeg-4.1.3-amd64-static/ffmpeg
|
||||
|
||||
|
||||
@@ -11,9 +11,10 @@ info:
|
||||
# @toDo: Ist es mit vorheriger Skalierung schneller, oder langsamer?
|
||||
videos/.forCompressing/%.trf: videos/.forCompressing/%.video
|
||||
$(FFMPEG) -i $^ \
|
||||
-filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabDetect):result="$@" \
|
||||
-filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabDetect):result="$@.tmp" \
|
||||
-f null \
|
||||
-
|
||||
mv $@.tmp $@
|
||||
|
||||
# First Pass
|
||||
# @todo: irgendwo habe ich mal gelesen, dass man den ersten Pass auch
|
||||
@@ -24,7 +25,7 @@ videos/.forCompressing/%.firstPassLog-0.log: videos/.forCompressing/%.video vide
|
||||
-filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4 \
|
||||
-codec:v $(VID_CODEC) \
|
||||
-pass 1 \
|
||||
-passlogfile "$(basename $<).firstPassLog" \
|
||||
-passlogfile "tmp.$(basename $<).firstPassLog" \
|
||||
-threads 1 \
|
||||
-speed 4 \
|
||||
-tile-columns 0 \
|
||||
@@ -35,6 +36,7 @@ videos/.forCompressing/%.firstPassLog-0.log: videos/.forCompressing/%.video vide
|
||||
-f webm \
|
||||
-y \
|
||||
/dev/null
|
||||
mv tmp.$@ $@
|
||||
|
||||
# Second Pass
|
||||
# - Die erste Abhängigkeit muss das quellVideo sein!
|
||||
@@ -57,7 +59,8 @@ videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf
|
||||
-aq-mode 0 \
|
||||
-an \
|
||||
-f webm \
|
||||
$@
|
||||
$@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
videos/thumbnails/%.png: videos/.forCompressing/%.video
|
||||
mkdir -p videos/thumbnails
|
||||
@@ -70,3 +73,7 @@ videos/thumbnails/%.png: videos/.forCompressing/%.video
|
||||
videos/thumbnails/%.jpg: videos/thumbnails/%.png
|
||||
$(GUETZLI) --quality 90 "$<" "$@"
|
||||
# convert "$<" "$@"
|
||||
|
||||
.PHONY: echo
|
||||
echo:
|
||||
echo $(GET_VIDEO_DURATION_JSON)
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
#FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe
|
||||
FFMPEG = ffmpeg
|
||||
GUETZLI = /d/projekte/tests/guetzli.git/bin/Release/guetzli.exe
|
||||
#FFMPEG = ffmpeg
|
||||
FFMPEG = /home/marko/Downloads/ffmpeg-4.1.3-amd64-static/ffmpeg
|
||||
|
||||
GUETZLI = ~/tmp/guetzli/bin/Release/guetzli
|
||||
#GUETZLI = /d/projekte/tests/guetzli.git/bin/Release/guetzli.exe
|
||||
#GUETZLI = /home/marko/proggis/guetzli/bin/Release/guetzli
|
||||
|
||||
DEFAULT_FFMPEG = ffmpeg
|
||||
#DEFAULT_FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe
|
||||
|
||||
GET_VIDEO_DURATION_JSON = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py
|
||||
#GET_VIDEO_DURATION_JSON = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py
|
||||
GET_VIDEO_DURATION_JSON = ~/keeper/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py
|
||||
|
||||
|
||||
# Für eine schnelle Komprimierung libvpx, sonst vp9
|
||||
|
||||
Reference in New Issue
Block a user