Add info about cache and cache_helper.sh script

This commit is contained in:
localhost_frssoft 2023-03-01 00:03:35 +03:00
parent e5484f0a6d
commit cb3b65de06
2 changed files with 36 additions and 0 deletions

View file

@ -20,6 +20,12 @@ Python dependencies:
```pip install -r requirements.txt``` ```pip install -r requirements.txt```
Optional: brotli Optional: brotli
### About cache folder
funkwhale-cli first to cache tracks before playing. Cache is persistent and You manage manually as is.
Cache structure: cache/domain.tld/[track uuid]
You can to play tracks offline, example: mpv --shuffle cache/*/*
cache_helper.sh - just useful for compression cache (lossy: vorbis 128 kbps, no thumbnail)
Also, tnx Inex for his FunkWhale instance (set by default instance) Also, tnx Inex for his FunkWhale instance (set by default instance)
[1]**Warning:** may content _unofficial instances_ [1]**Warning:** may content _unofficial instances_

30
cache_helper.sh Executable file
View file

@ -0,0 +1,30 @@
#!/bin/bash
if [ ! -n "$1" ]; then
echo 'Usage: cache_helper.sh path/to/cache'
exit 1
fi
total_before=0
total_after=0
for i in "$1"/*/*; do
if [ $(ffprobe -hide_banner -print_format json -select_streams a:0 -show_streams "$i" | jq '.streams[0].codec_name') != "vorbis" ]; then
size_before=$(stat --format=%s "$i")
total_before=$(( $total_before + $size_before ))
ffmpeg -hide_banner -loglevel error -i "$i" -vn "$i".ogg
if [ $? -eq 0 ]; then
size_after=$(stat --format=%s "$i".ogg)
total_after=$(( $total_after + $size_after ))
echo "before: $(echo $size_before | numfmt --to=iec) | after: $(echo $size_after | numfmt --to=iec)"
mv "$i".ogg "$i"
else
echo "$i convert failed"
fi
else
echo "$i already compressed good"
fi
done
echo "Total before: $(echo $total_before | numfmt --to=iec)"
echo "Total after: $(echo $total_after | numfmt --to=iec)"
echo "Note: only included processed tracks"