Müziğimi flac'tan ogg'a dönüştürmek istiyorum ve şu anda oggenc albüm sanatı hariç bunu mükemmel bir şekilde yapıyor. Metaflac albüm kapağı çıktısı verebilir, ancak albüm kapağını ogg içine yerleştirmek için komut satırı aracı yoktur. MP3Tag ve EasyTAG bunu yapabilir ve bunun için bir şartname var burada görüntü base64 ile kodlanmış için çağırır. Ancak şimdiye kadar bir görüntü dosyası almak, base64 dönüştürmek ve bir ogg dosyasına gömme başarısız oldu.
Zaten görüntü gömülü olan bir ogg dosyasından base64 kodlu bir görüntü alırsam, vorbiscomment kullanarak kolayca başka bir görüntüye gömebilirsiniz:
vorbiscomment -l withimage.ogg > textfile
vorbiscomment -c textfile noimage.ogg
Benim sorunum bir jpeg gibi bir şey alıp base64'e dönüştürmektir. Şu anda var:
base64 --wrap=0 ./image.jpg
Hangi bana vorbiscomment kullanarak ve etiketleme kurallarını kullanarak base64 dönüştürülmüş görüntü dosyası verir, ben böyle bir ogg dosyasına gömmek olabilir:
echo "METADATA_BLOCK_PICTURE=$(base64 --wrap=0 ./image.jpg)" > ./folder.txt
vorbiscomment -c textfile noimage.ogg
Ancak bu bana görüntüsü düzgün çalışmayan bir ogg veriyor. Base64 dizelerini karşılaştırırken, tüm düzgün şekilde yerleştirilmiş resimlerin bir başlık satırı olduğunu fark ettim, ancak oluşturduğum tüm base64 dizeleri bu üstbilgiden yoksun. Başlığın daha fazla analizi:
od -c header.txt
0000000 \0 \0 \0 003 \0 \0 \0 \n i m a g e / j p
0000020 e g \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000040 \0 \0 \0 \0 \0 \0 \0 \0 035 332
0000052
Yukarıda verilen özellikleri takip eder. Uyarı 003, ön kapağa karşılık gelir ve image / jpeg mime tipidir.
Son olarak, sorum şu, nasıl bir baseg64 bir dosyayı kodlamak ve bir ogg dosyasına gömmek için onunla birlikte bu üstbilgi oluşturmak?