mirror of
https://gitea.phreedom.club/localhost_frssoft/funkwlmpv
synced 2024-11-18 13:13:01 +00:00
Add info about cache and cache_helper.sh script
This commit is contained in:
parent
e5484f0a6d
commit
cb3b65de06
@ -20,6 +20,12 @@ Python dependencies:
|
||||
```pip install -r requirements.txt```
|
||||
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)
|
||||
|
||||
[1]**Warning:** may content _unofficial instances_
|
||||
|
30
cache_helper.sh
Executable file
30
cache_helper.sh
Executable 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"
|
Loading…
Reference in New Issue
Block a user