ฉันต้องการแปลงเพลงจาก flac เป็น ogg และในปัจจุบัน oggenc ทำได้อย่างสมบูรณ์แบบยกเว้นอัลบั้ม art Metaflac สามารถออกปกอัลบั้มได้อย่างไรก็ตามดูเหมือนว่าจะไม่มีเครื่องมือบรรทัดคำสั่งที่จะฝังปกอัลบั้มลงใน ogg MP3Tag และ EasyTag สามารถทำได้และมีข้อกำหนดสำหรับที่นี่ซึ่งเรียกร้องให้ภาพที่เข้ารหัส base64 อย่างไรก็ตามจนถึงตอนนี้ฉันยังประสบความสำเร็จในการใช้ไฟล์ภาพแปลงเป็น base64 และฝังลงในไฟล์ ogg
หากฉันนำภาพที่เข้ารหัส base64 จากไฟล์ ogg ที่มีภาพฝังอยู่แล้วฉันสามารถฝังลงในภาพอื่นได้อย่างง่ายดายโดยใช้ vorbiscomment:
vorbiscomment -l withimage.ogg > textfile
vorbiscomment -c textfile noimage.ogg
ปัญหาของฉันคือการใช้ jpeg และแปลงเป็น base64 ปัจจุบันฉันมี:
base64 --wrap=0 ./image.jpg
ซึ่งทำให้ไฟล์ภาพของฉันถูกแปลงเป็น base64 โดยใช้ vorbiscomment และปฏิบัติตามกฎการติดแท็กฉันสามารถฝังไฟล์นั้นลงในไฟล์ ogg ได้ดังนี้:
echo "METADATA_BLOCK_PICTURE=$(base64 --wrap=0 ./image.jpg)" > ./folder.txt
vorbiscomment -c textfile noimage.ogg
อย่างไรก็ตามสิ่งนี้ทำให้ฉันมี ogg ที่ภาพไม่ทำงานอย่างถูกต้อง ฉันสังเกตเห็นเมื่อเปรียบเทียบสตริง base64 ที่ทุกภาพฝังอย่างถูกต้องมีบรรทัดส่วนหัว แต่สตริง base64 ทั้งหมดที่ฉันสร้างจะขาดส่วนหัวนี้ การวิเคราะห์เพิ่มเติมของส่วนหัว:
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
ซึ่งตามสเป็คที่ระบุข้างต้น แจ้งให้ทราบล่วงหน้า 003 สอดคล้องกับหน้าปกและภาพ / jpeg เป็นประเภทละครใบ้
ในที่สุดคำถามของฉันคือฉันจะ base64 เข้ารหัสไฟล์และสร้างส่วนหัวนี้พร้อมกับมันสำหรับการฝังลงในไฟล์ ogg ได้อย่างไร