Compare commits
2 commits
8ad9e0820a
...
0b7744da93
Author | SHA1 | Date | |
---|---|---|---|
0b7744da93 | |||
81416d86a2 |
1 changed files with 12 additions and 4 deletions
|
@ -7,10 +7,6 @@ set -ex
|
||||||
# https://xiph.org/flac/format.html#metadata_block_picture
|
# https://xiph.org/flac/format.html#metadata_block_picture
|
||||||
# https://github.com/navidrome/navidrome/issues/2445
|
# https://github.com/navidrome/navidrome/issues/2445
|
||||||
|
|
||||||
# Erstelle die vorbis.head Datei mit dem angegebenen Inhalt
|
|
||||||
echo -en "\0\0\0\x03\0\0\0\x0aimage/jpeg\0\0\x01\x40cover.jpg\0\0\x01\x40\0\0\0\x0e\0\0\0\x20\0\0\0\0\0\0\x05\xad" \
|
|
||||||
> vorbis.head
|
|
||||||
|
|
||||||
# Funktion, um Opus-Dateien zu verarbeiten
|
# Funktion, um Opus-Dateien zu verarbeiten
|
||||||
process_opus_files() {
|
process_opus_files() {
|
||||||
for file in "$1"/*.opus; do
|
for file in "$1"/*.opus; do
|
||||||
|
@ -18,6 +14,18 @@ process_opus_files() {
|
||||||
# Extrahiere Cover
|
# Extrahiere Cover
|
||||||
ffmpeg -i "$file" -an -vcodec mjpeg -vf scale=320:-1 cover.jpg
|
ffmpeg -i "$file" -an -vcodec mjpeg -vf scale=320:-1 cover.jpg
|
||||||
|
|
||||||
|
# Berechne die Länge der Bilddaten in Bytes
|
||||||
|
IMAGE_LENGTH=$(wc -c < cover.jpg)
|
||||||
|
|
||||||
|
# Konvertiere die Länge in Hexadezimalwert und dann in Big-Endian-Format
|
||||||
|
IMAGE_LENGTH_HEX=$(printf '%08X' $IMAGE_LENGTH)
|
||||||
|
IMAGE_LENGTH_BE=$(echo $IMAGE_LENGTH_HEX | sed 's/\(..\)/\\x\1/g')
|
||||||
|
|
||||||
|
# Erstelle die vorbis.head Datei mit dem angegebenen Inhalt
|
||||||
|
# Beachte: Die Länge der Bilddaten wird hier eingefügt
|
||||||
|
echo -en "\0\0\0\x03\0\0\0\x0aimage/jpeg\0\0\0\x08test.jpg\0\0\0\x08\0\0\0\x0e\0\0\0\x20\0\0\0\0$IMAGE_LENGTH_BE" > vorbis.head
|
||||||
|
|
||||||
|
|
||||||
# Erstelle eine base64-kodierte Version des Cover-Bildes und vorbis.head
|
# Erstelle eine base64-kodierte Version des Cover-Bildes und vorbis.head
|
||||||
base64_cover=$(cat vorbis.head cover.jpg | base64 --wrap=0)
|
base64_cover=$(cat vorbis.head cover.jpg | base64 --wrap=0)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue