Как я могу конвертировать встроенные в ID3v2 PNG в JPG?

Я использую Rockbox на моем iPod Classic. Он поддерживает отображение встроенных обложек альбомов из файлов MP3, но только если эти изображения имеют расширение JPG.

Некоторые из моих встроенных изображений имеют расширение PNG. Сопровождающие песни появляются без соответствующего обложки альбома.

Я ищу скрипт, который изменит эти встроенные изображения в формат JPG, чтобы они отображались правильно.

Это не обязательно должен быть скрипт bash - подойдет любой язык программирования.

2 ответа

Итак, это прагматичное решение, использующее условно-бесплатную программу Media Monkey, будет делать то, что вы хотите, но не требует программирования.

Однако, если вы определенно хотите выполнить преобразование программно (и вы можете сделать это, возможно, именно поэтому вы разместили сообщение на SO), тогда это не ваш ответ!

ffmpeg должен быть в состоянии сделать это, например,

ffmpeg -i song_with_png.mp3 -acodec copy -vcodec mjpeg song_with_mjpeg.mp3

Тогда скрипт bash может быть

DESTINATION="dest"
mkdir -p ${DESTINATION}
shopt -s nullglob
for i in *.mp3 *.MP3;
do 
  name=`echo ${i} | cut -d'.' -f1`;
  echo ${name};
  ffmpeg -i "${i}" -acodec copy -vcodec mjpeg "${DESTINATION}/${name}.mp3";
done

Я использовал сценарий для преобразования моих файлов в кодировке aac, воспроизводимых в аудиосистеме моего автомобиля, оставив опцию "-acodec copy", чтобы аудио также конвертировалось, а не только копировалось.

Вывод ffmpeg должен содержать что-то вроде этого в конце:

...
Stream mapping:
  Stream #0:1 -> #0:0 (png (native) -> mjpeg (native))
  Stream #0:0 -> #0:1 (copy)
Другие вопросы по тегам