diff --git a/homepage/redesign2018/.gitignore b/homepage/redesign2018/.gitignore index 12994a4..36c9582 100644 --- a/homepage/redesign2018/.gitignore +++ b/homepage/redesign2018/.gitignore @@ -1,2 +1,2 @@ markdownExperiment/build/* - +temp/* diff --git a/homepage/redesign2018/markdownExperiment/Makefile b/homepage/redesign2018/markdownExperiment/Makefile index 036456a..b6e4d3d 100644 --- a/homepage/redesign2018/markdownExperiment/Makefile +++ b/homepage/redesign2018/markdownExperiment/Makefile @@ -45,10 +45,10 @@ ampTest: $(ampFiles) build/css/cwsvJudo.css: $(cssFiles) mkdir -p $(dir $@) - cat $^ > $@ +# cat $^ > $@ # cat $(cssFiles) | cleancss -o $@ # cat $^ | ./node_modules/.bin/csso -o $@ -# cat $^ | csso -o $@ + cat $^ | csso -o $@ build/%.php: src/md/%.md build/yaml/%.yaml pandocTemplate/cwsvJudo.html5.pandocTemplate mkdir -p build @@ -82,11 +82,11 @@ upload: $(uploadMarker) build/.uploadMarker/%.php: build/%.php mkdir -p build/.uploadMarker - curl \ - --upload-file $^ \ - --user cwsvjudo:Dee4oquu \ - ftp://cwsvjudo.square7.net/pages/responsive/$(patsubst build/%.php,%.php,$^) \ - --ftp-create-dirs +# curl \ +# --upload-file $^ \ +# --user cwsvjudo:Dee4oquu \ +# ftp://cwsvjudo.square7.net/pages/responsive/$(patsubst build/%.php,%.php,$^) \ +# --ftp-create-dirs curl \ --upload-file $^ \ --user cwsvjudo:***REMOVED*** \ @@ -97,11 +97,11 @@ build/.uploadMarker/%.php: build/%.php build/.uploadMarker/amp/%.php: build/amp/%.php mkdir -p build/.uploadMarker/amp - curl \ - --upload-file $^ \ - --user cwsvjudo:Dee4oquu \ - ftp://cwsvjudo.square7.net/pages/$(patsubst build/amp/%.php,amp/%.php,$^) \ - --ftp-create-dirs +# curl \ +# --upload-file $^ \ +# --user cwsvjudo:Dee4oquu \ +# ftp://cwsvjudo.square7.net/pages/$(patsubst build/amp/%.php,amp/%.php,$^) \ +# --ftp-create-dirs curl \ --upload-file $^ \ --user cwsvjudo:***REMOVED*** \ @@ -113,11 +113,11 @@ build/.uploadMarker/amp/%.php: build/amp/%.php build/.uploadMarker/phpLib/%.php: phpLib/%.php mkdir -p build/.uploadMarker/phpLib/cwsvJudo mkdir -p build/.uploadMarker/phpLib/phpcount - curl \ - --upload-file $^ \ - --user cwsvjudo:Dee4oquu \ - ftp://cwsvjudo.square7.net/ressourcen/$(patsubst build/%.php,%.php,$^) \ - --ftp-create-dirs +# curl \ +# --upload-file $^ \ +# --user cwsvjudo:Dee4oquu \ +# ftp://cwsvjudo.square7.net/ressourcen/$(patsubst build/%.php,%.php,$^) \ +# --ftp-create-dirs curl \ --upload-file $^ \ --user cwsvjudo:***REMOVED*** \ @@ -127,11 +127,11 @@ build/.uploadMarker/phpLib/%.php: phpLib/%.php build/.uploadMarker/css/%.css: build/css/%.css mkdir -p build/.uploadMarker/css - curl \ - --upload-file $^ \ - --user cwsvjudo:Dee4oquu \ - ftp://cwsvjudo.square7.net/ressourcen/$(patsubst build/%,%,$^) \ - --ftp-create-dirs +# curl \ +# --upload-file $^ \ +# --user cwsvjudo:Dee4oquu \ +# ftp://cwsvjudo.square7.net/ressourcen/$(patsubst build/%,%,$^) \ +# --ftp-create-dirs curl \ --upload-file $^ \ --user cwsvjudo:***REMOVED*** \ diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/HTML5_1Color_Black.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/HTML5_1Color_Black.svg new file mode 100644 index 0000000..9ca3aef --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/HTML5_1Color_Black.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/arrowRightDown.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/arrowRightDown.svg new file mode 100644 index 0000000..89c00ed --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/arrowRightDown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/calendarIcon.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/calendarIcon.svg new file mode 100644 index 0000000..b12af12 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/calendarIcon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/clockIconFriendly.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/clockIconFriendly.svg new file mode 100644 index 0000000..62bb331 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/clockIconFriendly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/contact4Ways.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/contact4Ways.svg new file mode 100644 index 0000000..5be6ab3 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/contact4Ways.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/filmrolle-grau.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/filmrolle-grau.svg new file mode 100644 index 0000000..2555371 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/filmrolle-grau.svg @@ -0,0 +1,36 @@ + + diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/gallery.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/gallery.svg new file mode 100644 index 0000000..b77c060 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/gallery.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/kamera-grau.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/kamera-grau.svg new file mode 100644 index 0000000..7e107ec --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/kamera-grau.svg @@ -0,0 +1,98 @@ + + diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/newsFeedIcon.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/newsFeedIcon.svg new file mode 100644 index 0000000..137ff8d --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/newsFeedIcon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/newsIcon.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/newsIcon.svg new file mode 100644 index 0000000..1f2edd7 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/newsIcon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/star.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/star.svg new file mode 100644 index 0000000..083856e --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/terminKalender.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/terminKalender.svg new file mode 100644 index 0000000..7c3f040 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/terminKalender.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/graphiken/icons/wikipediaW.svg b/homepage/redesign2018/markdownExperiment/graphiken/icons/wikipediaW.svg new file mode 100644 index 0000000..e16cb95 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/graphiken/icons/wikipediaW.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.ftpUpload b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.ftpUpload index 9a08228..9fe7b08 100644 --- a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.ftpUpload +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.ftpUpload @@ -4,9 +4,15 @@ ftpServer = ftpupload.net ftpUser = unaux_22935783 ftpPassword = eeloor0D -ftpPathBase = /htdocs/videoalben/videoalben.2018 +ftpPathBase = /htdocs +ftpFilePath = videoalben/videoalben.2018 vidGalIndexPhp = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryTemplates/indexHier.php +dryRun = --dry-run +timeHandling= --only-newer + +vidGalInsertScript = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/vidGalInsert.py + .PHONY: all @@ -14,5 +20,10 @@ all: .PHONY: ftpUpload ftpUpload: - lftp -e 'set net:limit-rate 25600; mkdir -f $(ftpPathBase)/$(VID_GAL_DIR); mkdir -f $(ftpPathBase)/$(VID_GAL_DIR)/thumbnails; mkdir -f $(ftpPathBase)/$(VID_GAL_DIR)/webm; put $(vidGalIndexPhp) -o $(ftpPathBase)/$(VID_GAL_DIR)/index.php; put videos/config.inc.php -o $(ftpPathBase)/$(VID_GAL_DIR)/config.inc.php; mirror -R --ignore-time videos/thumbnails $(ftpPathBase)/$(VID_GAL_DIR)/thumbnails; mirror -R --ignore-time videos/webm $(ftpPathBase)/$(VID_GAL_DIR)/webm;quit' -u $(ftpUser),$(ftpPassword) ftp://$(ftpServer) - + lftp -e 'set net:limit-rate 25600; mkdir -f $(ftpPathBase)/$(ftpFilePath)/$(VID_GAL_DIR); mkdir -f $(ftpPathBase)/$(ftpFilePath)/$(VID_GAL_DIR)/thumbnails; mkdir -f $(ftpPathBase)/$(ftpFilePath)/$(VID_GAL_DIR)/webm; put $(vidGalIndexPhp) -o $(ftpPathBase)/$(ftpFilePath)/$(VID_GAL_DIR)/index.php; put videos/config.inc.php -o $(ftpPathBase)/$(ftpFilePath)/$(VID_GAL_DIR)/config.inc.php; mirror $(dryRun) $(timeHandling) -R videos/thumbnails $(ftpPathBase)/$(ftpFilePath)/$(VID_GAL_DIR)/thumbnails; mirror $(dryRun) $(timeHandling) -R videos/webm $(ftpPathBase)/$(ftpFilePath)/$(VID_GAL_DIR)/webm; quit; ' \ + -u $(ftpUser),$(ftpPassword) ftp://$(ftpServer) + + for file in videos/webm/*; do \ + filename=$${file##*/}; \ + $(vidGalInsertScript) --shiaiYamlFile=./shiaiData.yaml --vidUrl="http://cwsvjudo-media-2018.unaux.com/$(ftpFilePath)/$(VID_GAL_DIR)/webm/$${filename}" --checkSum=$${filename%.*};\ + done;\ diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.pngCompress b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.pngCompress new file mode 100644 index 0000000..13d6fd3 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.pngCompress @@ -0,0 +1,11 @@ +pngCompressed/%.png: %.png + mkdir -p pngCompressed + pngquant --speed 1 --force --output $@ $^ + zopflipng -y --iterations=500 --filters=01234mepb --lossy_8bit --lossy_transparent $@ $@ + +pngCompressed/%.png: %.jpg + mkdir -p pngCompressed + convert $^ $(patsubst %.jpg,%.png,$^) + pngquant --speed 1 --force --output $@ $^ + zopflipng -y --iterations=500 --filters=01234mepb --lossy_8bit --lossy_transparent $@ $@ + rm -f $(patsubst %.jpg,%.png,$^) diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabTest b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabTest index 2da1067..16dd26b 100644 --- a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabTest +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabTest @@ -1,18 +1,42 @@ FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe GUETZLI = /d/projekte/tests/guetzli.git/bin/Release/guetzli.exe -VID_CODEC_HEIGHT = 360 -VID_CODEC_BITRATE = 500k -VID_CODEC = libvpx-vp9 +#DEFAULT_FFMPEG = ffmpeg +DEFAULT_FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe +# Für eine schnelle Komprimierung libvpx, sonst vp9 +DEFAULT_VID_CODEC_HEIGHT = 360 +DEFAULT_VID_CODEC_WIDTH = -2 +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_HEIGHT),$(VID_CODEC_HEIGHT),$(DEFAULT_VID_CODEC_HEIGHT)) +VID_CODEC_WIDTH := $(if $(VID_CODEC_WIDTH),$(VID_CODEC_WIDTH),$(DEFAULT_VID_CODEC_WIDTH)) +VID_CODEC := $(if $(VID_CODEC),$(VID_CODEC),$(DEFAULT_VID_CODEC)) + +targetSourceDirectories = $(sort $(dir $(wildcard ./videos/aufnahmen/*/))) +targetSourceDir = videos/aufnahmen/ +sourceVideos = $(wildcard videos/.forCompressing/*.video) -sourceVideos = $(wildcard videos/.forCompressing/*.video) vidstabLogs = $(addsuffix .trf, $(basename $(sourceVideos))) -firstPassLogs = $(addsuffix .firstPassLog, $(basename $(sourceVideos))) +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))))) +# das result= fehlt absichtlich +ffmpegVideoFilterVidstabDetect = vidstabdetect=shakiness=10:accuracy=15 +# das input= fehlt absichtlich +ffmpegVideoFilterVidstabTransform = vidstabtransform=optzoom=2:interpol=bicubic:smoothing=30 + +ffmpegVideoScaleFilter = scale=$(VID_CODEC_WIDTH):$(VID_CODEC_HEIGHT):sws_flags=lanczos, +ffmpegVideoFilterDeinterlace = yadif, +ffmpegVideoFilterDenoise = hqdn3d, + .SECONDARY: $(vidstabLogs) $(firstPassLogs) @@ -29,31 +53,47 @@ clean: .PHONY: thumbnails thumbnails: $(jpegThumbs) +.PHONY: echo +echo: + @echo $(webmVideos) + @echo $(firstPassLogs) + @echo $(targetSourceDir) + + # Erzeugen der Targets .PHONY: targets targets: - for file in videos/aufnahmen/papaRomy/*.webm;\ - do \ - checkSum=$$(sha512sum $${file});\ - ln -f $${file} videos/.forCompressing/$${checkSum%%\ *}.video;\ + mkdir -p videos/.forCompressing +# for file in videos/aufnahmen/papaRomy/*.webm;\ +# do \ +# checkSum=$$(sha512sum $${file});\ +# ln -f $${file} videos/.forCompressing/$${checkSum%%\ *}.video;\ +# done; + for directory in $(targetSourceDirectories) ;\ + do for file in $${directory}/*.*;\ + do \ + checkSum=$$(sha512sum $${file});\ + ln -f $${file} videos/.forCompressing/$${checkSum%%\ *}.video;\ + done;\ done; -videos/.forCompressing/%.trf: videos/.forCompressing/%.video # Die Stabilisierungsberechnung: # eventuell sollte hier die Skalierung vorgeschaltet werden... +videos/.forCompressing/%.trf: videos/.forCompressing/%.video $(FFMPEG) -i $^ \ - -filter:v vidstabdetect=result="$@" \ + -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabDetect):result="$@" \ -f null \ - -videos/.forCompressing/%.log: videos/.forCompressing/%.video videos/.forCompressing/%.trf +videos/.forCompressing/%.firstPassLog-0.log: videos/.forCompressing/%.video videos/.forCompressing/%.trf +# -b:v $(VID_CODEC_BITRATE) \ # First Pass $(FFMPEG) -i $< \ - -filter:v vidstabtransform=smoothing=30:input="$(basename $<).trf",nlmeans=s=6:p=5:r=7,scale=-2:$(VID_CODEC_HEIGHT):sws_flags=sinc,unsharp=5:5:0.8:3:3:0.4 \ + -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",nlmeans=s=6:p=5:r=7,$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4 \ -codec:v $(VID_CODEC) \ -pass 1 \ -passlogfile "$(basename $<).firstPassLog" \ - -b:v $(VID_CODEC_BITRATE) \ + -aspect 16:9 \ -threads 1 \ -speed 4 \ -tile-columns 0 \ @@ -68,16 +108,19 @@ videos/.forCompressing/%.log: videos/.forCompressing/%.video videos/.forCompress # target und dependencies müssen noch angepasst werden # Die erste Abhängigkeit muss das quellVideo sein! -videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf videos/.forCompressing/%.log +videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf videos/.forCompressing/%.firstPassLog-0.log mkdir -p videos/webm + +# -b:v $(VID_CODEC_BITRATE) \ # Second Pass $(FFMPEG) -i $< \ - -filter:v vidstabtransform=smoothing=30:input="$(basename $<).trf",nlmeans=s=6:p=5:r=7,scale=-2:$(VID_CODEC_HEIGHT),unsharp=5:5:0.8:3:3:0.4 \ + -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",nlmeans=s=6:p=5:r=7,$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4 \ -codec:v $(VID_CODEC) \ -pass 2 \ -passlogfile "$(basename $<).firstPassLog" \ -deadline best \ - -b:v $(VID_CODEC_BITRATE) \ + -b:v $(shell /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py $<)k \ + -aspect 16:9 \ -threads 1 \ -speed 0 \ -tile-columns 0 \ @@ -92,14 +135,9 @@ videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf videos/thumbnails/%.png: videos/.forCompressing/%.video mkdir -p videos/thumbnails -# $(FFMPEG) -i "$<" -vf "select=gt(scene\,0.4)" -frames:v 5 -vsync vfr -vf scale=-2:$(VID_CODEC_HEIGHT),fps=fps=1/600 "$@" - $(FFMPEG) -i "$<" -vf thumbnail,scale=-2:$(VID_CODEC_HEIGHT) -frames:v 1 "$@" +# $(FFMPEG) -i "$<" -vf "select=gt(scene\,0.4)" -frames:v 5 -vsync vfr -vf $(ffmpegVideoScaleFilter)fps=fps=1/600 "$@" + $(FFMPEG) -i "$<" -vf $(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@" videos/thumbnails/%.jpg: videos/thumbnails/%.png $(GUETZLI) --quality 90 "$<" "$@" - -### - -#$(FFMPEG) -i %1 -map 0 -c copy -c:v libvpx-vp9 -pass 1 -passlogfile "%~dpn1.log" -b:v 150K -threads 1 -deadline good -cpu-used 4 -tile-columns 0 -frame-parallel 0 -auto-alt-ref 1 -lag-in-frames 24 -g 9600 -aq-mode 1 -sws_dither none -pix_fmt yuv420p10le -filter:v nlmeans=s=6:p=5:r=7,scale=w=428:h=240:force_original_aspect_ratio=decrease:sws_flags=area:sws_dither=none,crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0 -an -f null NUL -#$(FFMPEG) -i %1 -map 0 -c copy -c:v libvpx-vp9 -pass 2 -passlogfile "%~dpn1.log" -b:v 150K -threads 1 -deadline good -cpu-used 1 -tile-columns 0 -frame-parallel 0 -auto-alt-ref 1 -lag-in-frames 24 -g 9600 -aq-mode 1 -sws_dither none -pix_fmt yuv420p10le -filter:v nlmeans=s=6:p=5:r=7,scale=w=428:h=240:force_original_aspect_ratio=decrease:sws_flags=area:sws_dither=none,crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0 -c:a libopus -b:a 32k -ac 2 -f webm "%~dpn1.webm" diff --git a/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018.css b/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018.css index ebf4d44..f09eeec 100644 --- a/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018.css +++ b/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018.css @@ -3,6 +3,7 @@ */ @font-face { font-family: Orbitron-Medium; + font-display: fallback; src: url(http://cwsvjudo.bplaced.net/ressourcen/fonts/Orbitron-Medium.otf); } diff --git a/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDuration.py b/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDuration.py new file mode 100644 index 0000000..1551fb6 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDuration.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 + +import sys +import subprocess + +#ffprobe = + +def getLength(filename): + result = subprocess.Popen( + ["C:\\proggis\\media\\editoren\\ffmpeg-4.0.2-win64-static\\bin\\ffprobe.exe", filename], + stdout = subprocess.PIPE, stderr = subprocess.STDOUT) +# print( result.stdout.readlines() ) +# for x in result.stdout.readlines(): +# print(x) + return [x for x in result.stdout.readlines() if b"Duration" in x] + +#print( str( getLength(sys.argv[1]) ) ) +getLength(sys.argv[1]) diff --git a/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py b/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py new file mode 100644 index 0000000..c529732 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python3 + +# +# Command line use of 'ffprobe': +# +# ffprobe -loglevel quiet -print_format json \ +# -show_format -show_streams \ +# video-file-name.mp4 +# +# man ffprobe # for more information about ffprobe +# + +import subprocess as sp +import json +import sys + + +def probe(vid_file_path): + ''' Give a json from ffprobe command line + + @vid_file_path : The absolute (full) path of the video file, string. + ''' + if type(vid_file_path) != str: + raise Exception('Gvie ffprobe a full file path of the video') + return + + command = ["ffprobe", + "-loglevel", "quiet", + "-print_format", "json", + "-show_format", + "-show_streams", + vid_file_path + ] + + pipe = sp.Popen(command, stdout=sp.PIPE, stderr=sp.STDOUT) + out, err = pipe.communicate() + return json.loads(out) + + +def duration(vid_file_path): + ''' Video's duration in seconds, return a float number + ''' + _json = probe(vid_file_path) + + if 'format' in _json: + if 'duration' in _json['format']: + return float(_json['format']['duration']) + + if 'streams' in _json: + # commonly stream 0 is the video + for s in _json['streams']: + if 'duration' in s: + return float(s['duration']) + + # if everything didn't happen, + # we got here because no single 'return' in the above happen. + raise Exception('I found no duration') + #return None + + +if __name__ == "__main__": +# video_file_path = "/tmp/tt1.mp4" + video_file_path = sys.argv[1] + + durationInSec = duration(video_file_path) +# rateInKbPerSec = (10 * 1024 * 1024 * 8)/( durationInSec * 1000 ) + rateInKbPerSec = (10 * 1000 * 1000 * 8)/( durationInSec * 1000 ) + #print( duration(video_file_path) ) # 10.008 + print( int(min(500, rateInKbPerSec)) ) diff --git a/homepage/redesign2018/markdownExperiment/src/galleryHelper/vidGal.php b/homepage/redesign2018/markdownExperiment/src/galleryHelper/vidGal.php new file mode 100644 index 0000000..f88279e --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/galleryHelper/vidGal.php @@ -0,0 +1,72 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + +if($_GET['action'] == "INSERT"){ + echo("Inserting\n"); + $wkId = $_GET['wkId']; + $checkSum = urldecode( $_GET['checkSum'] ); + $vidUrl = urldecode( $_GET['vidUrl'] ); + + echo("CheckSum is ".$checkSum); + echo("vidUrl is ".$vidUrl); + + $vidQuery = + $cwsvJudoDbConnection->prepare( + "INSERT IGNORE INTO cwsvjudo.`shiai.videos` ( wkId, checkSum, url ) VALUES ( :wkId, HEX(:checkSum), :vidUrl);" + ); + $vidQuery->bindParam(':wkId', intval($wkId), PDO::PARAM_INT); + $vidQuery->bindParam(':checkSum', $checkSum ); + $vidQuery->bindParam(':vidUrl', $vidUrl ); + + $vidQuery->execute(); + + $vidQuery = + $cwsvJudoDbConnection->prepare( + "UPDATE cwsvjudo.`shiai.videos` SET wkId=:wkId, url=:vidUrl WHERE checkSum=HEX( :checkSum );" +// "UPDATE cwsvjudo.`shiai.videos` url=:vidUrl WHERE checkSum=HEX(:checkSum);" + ); + $vidQuery->bindParam(':wkId', intval($wkId), PDO::PARAM_INT); + $vidQuery->bindParam(':checkSum', $checkSum ); + $vidQuery->bindParam(':vidUrl', $vidUrl ); + + $vidQuery->execute(); +} + + $wkId = 311; + + $vidQuery = + $cwsvJudoDbConnection->prepare( + "SELECT url FROM cwsvjudo.`shiai.videos` WHERE wkId = :wkId;" + ); + $vidQuery->bindParam(':wkId', intval($wkId), PDO::PARAM_INT); + + $vidQuery->execute(); + $wkVideos = $vidQuery->fetchAll(PDO::FETCH_ASSOC); + +?> + + +
+ + + + + + diff --git a/homepage/redesign2018/markdownExperiment/src/galleryHelper/vidGalInsert.py b/homepage/redesign2018/markdownExperiment/src/galleryHelper/vidGalInsert.py new file mode 100644 index 0000000..7027920 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/galleryHelper/vidGalInsert.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 + +import requests +import urllib.parse +import argparse +import yaml + + +wkId = 311 +checkSum = "b674aaaa71d18a8ef1e616fb94ddc399e9e3214bbc8497768217278d546c00d63741ad6cbbcfd0e95f518da39fbaee67b5b92fb4f4b5f3933a9bf08e38bb8283" + +argParser = argparse.ArgumentParser() +#argParser.add_argument("wkId", type=int) +argParser.add_argument("--checkSum") +argParser.add_argument("--vidUrl") +argParser.add_argument("--shiaiYamlFile") + +argv = argParser.parse_args() + + +with open(argv.shiaiYamlFile, 'r') as yamlFile: + shiaiData = yaml.safe_load(yamlFile) + print(shiaiData['wkId']) + +payLoad = { + 'action' : "INSERT", + 'wkId' : shiaiData['wkId'], + 'checkSum': urllib.parse.quote(argv.checkSum), + 'vidUrl' : urllib.parse.quote(argv.vidUrl) +} + +r = requests.get('http://cwsvjudo.bplaced.net/admin/vidGal.php', params=payLoad, auth=('marko', '***REMOVED***')) + +print(r.text) diff --git a/homepage/redesign2018/markdownExperiment/wkParticipo/admin/showEvent.php b/homepage/redesign2018/markdownExperiment/wkParticipo/admin/showEvent.php index 150a3c2..37c2f19 100644 --- a/homepage/redesign2018/markdownExperiment/wkParticipo/admin/showEvent.php +++ b/homepage/redesign2018/markdownExperiment/wkParticipo/admin/showEvent.php @@ -169,10 +169,24 @@ "); + echo("