Shell-Script

如何使用腳本將 JPG 縮略圖嵌入到 ogg/opus 音頻文件中?

  • September 30, 2021

我正在使用 youtube-dl 下載帶有各自縮略圖的 ogg 音頻文件,但我不確定如何將縮略圖嵌入到音頻文件中。

Ogg 格式不支持顯式嵌入圖像。您可以做的是將圖像轉換為 base64 並將其添加到自定義標籤/評論下。

您可以查看此 Q/A以獲取更多詳細資訊

此問題已在此問題中得到解決和解決。但是,它還沒有被合併,所以它還不能通過官方發布。此外,您可能已經下載了作品文件和縮略圖。

我使用這個腳本,它遍歷文件夾中所有以結尾opus的文件,並添加相應的jpg以縮略圖結尾的文件。您需要確保兩個文件都存在並且具有相同的名稱,沒有實施安全檢查。

我只是複制粘貼了上面提到的問題中實現的三脈衝部分程式碼。所有的功勞都歸功於tripulse。它需要mutagenpython 包,可以通過pip.

#!/usr/bin/env python3

from glob import glob
from mutagen.oggopus import OggOpus
from mutagen.flac import Picture
from base64 import b64encode

ext_audio = 'opus'
ext_thumb = 'jpg'


for f in glob('*.{}'.format(ext_audio)):
   thumb = f.rstrip(ext_audio) + ext_thumb

   covart = Picture()
   covart.data = open(thumb, 'rb').read()
   covart.type = 3  # Cover (front)

   audio = OggOpus(f)
   audio['metadata_block_picture'] = b64encode(covart.write()).decode('ascii')

   audio.save()

引用自:https://unix.stackexchange.com/questions/495382