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))))) webmVideos = $(addprefix videos/webm/, $(addsuffix .webm, $(basename $(notdir $(sourceVideos)))))
jpegThumbs = $(addprefix videos/thumbnails/, $(addsuffix .jpg, $(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? # @toDo: Ist es mit vorheriger Skalierung schneller, oder langsamer?
videos/.forCompressing/%.trf: videos/.forCompressing/%.video videos/.forCompressing/%.trf: videos/.forCompressing/%.video
$(FFMPEG) -i $^ \ $(FFMPEG) -i $^ \
-filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabDetect):result="$@" \ -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabDetect):result="$@.tmp" \
-f null \ -f null \
- -
mv $@.tmp $@
# First Pass # First Pass
# @todo: irgendwo habe ich mal gelesen, dass man den ersten Pass auch # @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 \ -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4 \
-codec:v $(VID_CODEC) \ -codec:v $(VID_CODEC) \
-pass 1 \ -pass 1 \
-passlogfile "$(basename $<).firstPassLog" \ -passlogfile "tmp.$(basename $<).firstPassLog" \
-threads 1 \ -threads 1 \
-speed 4 \ -speed 4 \
-tile-columns 0 \ -tile-columns 0 \
@@ -35,6 +36,7 @@ videos/.forCompressing/%.firstPassLog-0.log: videos/.forCompressing/%.video vide
-f webm \ -f webm \
-y \ -y \
/dev/null /dev/null
mv tmp.$@ $@
# Second Pass # Second Pass
# - Die erste Abhängigkeit muss das quellVideo sein! # - Die erste Abhängigkeit muss das quellVideo sein!
@@ -57,7 +59,8 @@ videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf
-aq-mode 0 \ -aq-mode 0 \
-an \ -an \
-f webm \ -f webm \
$@ $@.tmp
mv $@.tmp $@
videos/thumbnails/%.png: videos/.forCompressing/%.video videos/thumbnails/%.png: videos/.forCompressing/%.video
mkdir -p videos/thumbnails mkdir -p videos/thumbnails
@@ -70,3 +73,7 @@ videos/thumbnails/%.png: videos/.forCompressing/%.video
videos/thumbnails/%.jpg: videos/thumbnails/%.png videos/thumbnails/%.jpg: videos/thumbnails/%.png
$(GUETZLI) --quality 90 "$<" "$@" $(GUETZLI) --quality 90 "$<" "$@"
# convert "$<" "$@" # 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 = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe
FFMPEG = ffmpeg #FFMPEG = ffmpeg
GUETZLI = /d/projekte/tests/guetzli.git/bin/Release/guetzli.exe 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 #GUETZLI = /home/marko/proggis/guetzli/bin/Release/guetzli
DEFAULT_FFMPEG = ffmpeg DEFAULT_FFMPEG = ffmpeg
#DEFAULT_FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe #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 # Für eine schnelle Komprimierung libvpx, sonst vp9