내 음악을 flac에서 ogg로 변환하고 싶습니다. 현재 oggenc는 앨범 아트를 제외하고 완벽하게 수행합니다. Metaflac은 앨범 아트를 출력 할 수 있지만 앨범 아트를 ogg에 포함시키는 명령 줄 도구는없는 것 같습니다. MP3Tag 및 EasyTag가이를 수행 할 수 있으며 여기 에 이미지를 base64로 인코딩 해야하는 사양 이 있습니다. 그러나 지금까지 이미지 파일을 가져 와서 base64로 변환하고 ogg 파일에 포함시키는 데 실패했습니다.
이미 이미지가 포함 된 ogg 파일에서 base64 인코딩 이미지를 가져 오면 vorbiscomment를 사용하여 다른 이미지에 쉽게 포함 할 수 있습니다.
vorbiscomment -l withimage.ogg > textfile
vorbiscomment -c textfile noimage.ogg
내 문제는 jpeg와 같은 것을 가져 와서 base64로 변환하는 것입니다. 현재 나는 :
base64 --wrap=0 ./image.jpg
vorbiscomment를 사용하고 태그 지정 규칙에 따라 base64로 변환 된 이미지 파일을 다음과 같이 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
위의 사양을 따릅니다. Notice 003은 앞 표지에 해당하며 image / jpeg는 MIME 유형입니다.
마지막으로, 내 질문은 어떻게 파일을 base64로 인코딩하고 ogg 파일에 포함시키기 위해이 헤더와 함께 헤더를 생성 할 수 있습니까?