mirror of
http://gitea.phreedom.club/localhost_frssoft/funkwlmpv
synced 2024-12-01 18:36:34 +00:00
Compare commits
2 commits
e5484f0a6d
...
5910987781
Author | SHA1 | Date | |
---|---|---|---|
localhost_frssoft | 5910987781 | ||
localhost_frssoft | cb3b65de06 |
|
@ -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
32
cache_helper.sh
Executable 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"
|
Loading…
Reference in a new issue