Compare commits

...

2 commits

2 changed files with 38 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_

32
cache_helper.sh Executable file
View file

@ -0,0 +1,32 @@
#!/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 -r '.streams[0].bit_rate') -gt 128000 ]; 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 ))
size_reduced=$(( $size_before - $size_after ))
echo "Reduced: $(echo $size_reduced | numfmt --to=iec)"
mv "$i".ogg "$i"
else
echo "$i convert failed"
fi
else
echo "$i already OK"
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"