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:
Marko Bunzel
2019-06-30 19:09:26 +02:00
parent 69ab51bf61
commit fc46b4e0e7
3 changed files with 22 additions and 7 deletions

View File

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

View File

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

View File

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