From 3883c894e3c922021faf80065d9f4f3ec66c1ec5 Mon Sep 17 00:00:00 2001 From: Andreas Fankhauser hiddenalpha.ch Date: Tue, 1 Oct 2024 19:16:59 +0200 Subject: PaisaNoSlim: Interpret measurements. --- doc/note/ffmpeg/ffmpeg.txt | 17 +++++++++++-- doc/note/links/links.txt | 2 ++ src/main/paisa-nonslim/README.txt | 52 +++++++++++++++++++++++---------------- 3 files changed, 48 insertions(+), 23 deletions(-) diff --git a/doc/note/ffmpeg/ffmpeg.txt b/doc/note/ffmpeg/ffmpeg.txt index c992537..7cfc868 100644 --- a/doc/note/ffmpeg/ffmpeg.txt +++ b/doc/note/ffmpeg/ffmpeg.txt @@ -79,10 +79,10 @@ HINT: Use same filter for palette as for conversion. INPUTV=input.mp4 Create custom palette: - ffmpeg -ss 4 -t 33 -i "$INPUTV" -vf "$FILTERV,palettegen=stats_mode=diff" palette.png + -i "${INPUTV:?}" -vf "${FILTERV:?},palettegen=stats_mode=diff" palette.png Use this palette: - ffmpeg -ss 4 -t 33 -i "$INPUTV" -i palette.png -filter_complex "[0:v]$FILTERV[vid];[vid][1:v]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" output.gif + -i "$INPUTV" -i palette.png -filter_complex "[0:v]${FILTERV:?}[vid];[vid][1:v]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" dst.gif Working example from web (but not optimized): ffmpeg -ss 0 -t 2.5 -i INPUT.mp4 -filter_complex "[0:v] fps=12,scale=-1:600,split [a][b];[a] palettegen=stats_mode=diff [p];[b][p] paletteuse=new=1" OUTPUT.gif @@ -94,3 +94,16 @@ Working example from web (but not optimized): -vf "scale=4096:-1,crop=4096:2160:0:0" \ out.mkv + +## Create GIF by image series + + && TMPVID="tmp.mkv" \ + && PALETTE_PNG="palette.png" \ + && FPS="5" \ + && FILTERV="fps=${FPS:?}" \ + && ffmpeg -start_number 0 -framerate "${FPS:?}" -i "src%d.png" "${TMPVID:?}" \ + && ffmpeg -i "${TMPVID:?}" -vf "${FILTERV:?},palettegen=stats_mode=diff" "${PALETTE_PNG:?}" \ + && ffmpeg -i "${TMPVID:?}" -i "${PALETTE_PNG:?}" -filter_complex "[0:v]${FILTERV:?}[vid];[vid][1:v]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" dst.gif \ + && rm "${TMPVID:?}" "${PALETTE_PNG:?}" \ + + diff --git a/doc/note/links/links.txt b/doc/note/links/links.txt index a958590..7d6af9a 100644 --- a/doc/note/links/links.txt +++ b/doc/note/links/links.txt @@ -623,4 +623,6 @@ Links (Aka argument amplifiers) ## Proxy environ names - (https://about.gitlab.com/blog/2021/01/27/we-need-to-talk-no-proxy/) +## Unix CPU Load Average / Linux System Load Average +- [Linux Load Averages](https://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html) diff --git a/src/main/paisa-nonslim/README.txt b/src/main/paisa-nonslim/README.txt index 820cc0c..67ab64b 100644 --- a/src/main/paisa-nonslim/README.txt +++ b/src/main/paisa-nonslim/README.txt @@ -73,26 +73,37 @@ Evtl für diese services den jssc als "provided" angeben. ## Measurements + && `# Monitor donneri ` \ && while true; do ssh donner -oRemoteCommand='true \ - && while true; do true \ - && printf '\''%%s %%s %%s\n'\'' \ - "$(date +%%s)" \ - "$(uptime)" \ - "$(free | grep Mem)" \ - && sleep $((5 - $(date +%%s) %% 5)) || break \ - ;done' | tee -a donner-perf/donner-perf-$(date -u +%Y%m%d-%H%M%SZ).log \ - && sleep 5 || break; done \ - - && THELOG="donner-perf-20240930-112559Z.log" \ - && cat "${THELOG:?}" \ - | sed -E 's_^([0-9]+) +([0-9:]+) .+age: ([0-9.]+), ([0-9.]+), ([0-9.]+) +( Mem: .*).*$_\1;\2;\3;\4;\5\6_' \ - | sed -E 's_^(.+) Mem: +([0-9]+) +([0-9]+) +([0-9]+) +([0-9]+) +([0-9]+) +([0-9]+).*$_\1;\2;\3;\4;\5;\6_' \ - > "${THELOG:?}.csv" \ - - && for E in donner-perf-2024*Z.log.csv ;do true \ - && echo "__ ${E:?} __" \ - && csv-to-bmp --xcol 1 --ycol 3 --outsz 4096x2160 --srccsv "${E:?}" --dstbmp "${E%.*}.bmp" \ - ;done + && while true; do true \ + && printf '\''%%s %%s %%s\n'\'' \ + "$(date +%%s)" \ + "$(uptime)" \ + "$(free | grep Mem)" \ + && sleep $((5 - $(date +%%s) %% 5)) || break \ + ;done' | tee -a donner-perf/donner-perf-$(date -u +%Y%m%d-%H%M%SZ).log \ + && sleep 5 || break \ + ;done \ + + && `# Gen csv from log ` \ + && for SRC in donner-perf-2024*Z.log ;do true \ + && DST="${SRC%.*}.csv" \ + && echo "[INFO ] Creating '${DST:?}' by '${SRC:?}'" \ + && cat "${SRC:?}" \ + | sed -E 's_^([0-9]+) +([0-9:]+) .+age: ([0-9.]+), ([0-9.]+), ([0-9.]+) +( Mem: .*).*$_\1;\2;\3;\4;\5\6_' \ + | sed -E 's_^(.+) Mem: +([0-9]+) +([0-9]+) +([0-9]+) +([0-9]+) +([0-9]+) +([0-9]+)$_\1;\2;\3;\4;\5;\6;\7_' \ + > "${DST:?}" \ + ;done \ + + && `# Gif from graph pics ` \ + && TMPVID="tmp.mkv" \ + && PALETTE_PNG="palette.png" \ + && FPS="1" \ + && FILTERV="fps=${FPS:?}" \ + && ffmpeg -framerate "${FPS:?}" -i "src%d.png" "${TMPVID:?}" \ + && ffmpeg -i "${TMPVID:?}" -vf "${FILTERV:?},palettegen=stats_mode=diff" "${PALETTE_PNG:?}" \ + && ffmpeg -i "${TMPVID:?}" -i "${PALETTE_PNG:?}" -filter_complex "[0:v]${FILTERV:?}[vid];[vid][1:v]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" dst.gif \ + && rm "${TMPVID:?}" "${PALETTE_PNG:?}" \ Boot ab KassenTaster, login mit RFID, vorgeschlagene Fahrt anmelden, warten. @@ -119,8 +130,7 @@ When[CEST];version;LoginScreen[sec];FahrtGewaehlt[sec]; 2024-09-30 14:38;legacy;180;206;Logout spääät. 2024-09-30 15:10;legacy;187;218; 2024-09-30 16:31;noslim;247;278; -2024-09-30 __:__;__;__;__; -2024-09-30 __:__;__;__;__; +2024-__-__ __:__;__;__;__; -- cgit v1.1