Как преобразовать звуковой файл AAX в формат M4B, сохранив при этом всю информацию (включая иллюстрации)

Я попытался найти решение, которое позволит мне пакетно обрабатывать целую кучу файлов AAX (которые я покупал годами) в M4B.

Я попытался использовать звуковой активатор, чтобы извлечь секрет, а затем использовать FFMPEG с -activation_bytes [secret], следующее:

ffmpeg -activation_bytes xxxxxxxx -i BOOK.AAX -c:a copy book.mp4 

Проблема: как создать командный файл, который не только конвертирует в MP4, но и копирует все художественные работы?

Есть идеи?

2 ответа

Я знаю, что это устарело, но я хотел обновить эту информацию. В FFmpeg 4.1 добавлена ​​встроенная поддержка копирования обложек альбомов, и вам больше не нужна сторонняя программа. Чтобы конвертировать аудиокниги, просто используйте эту упрощенную команду:

      ffmpeg -activation_bytes XXXXXXXX -i MyNiceBook.aax -c copy MyNiceBook.m4b

В частности, вам следует сбросить флаг и удалить:aот-c:a copy

Мне потребовалось некоторое время, чтобы найти, поскольку они все еще включают-vnфлаг в их официальных документах .

Источник: https://gist.github.com/r15ch13/0c548be006431607bf1eaecefdc0591a#gistcomment-2800421

Решение простое и требует следующих программ (решение Windows):

  1. FFmpeg
  2. AtomicParsley

С помощью этих программ (расположенных там, где находятся файлы AAX или доступные через PATH), создайте следующий пакетный файл Windows:

FOR /r %%a IN (*.aax) DO (^
del cover.jpg /Q & del "%%~na.mp4" /Q & del "%%~na.m4b" /Q & ^
ffmpeg -activation_bytes XXXXXXXX -i "%%a" -vcodec copy cover.jpg & ^
ffmpeg -activation_bytes XXXXXXXX -i "%%a" -vn -c:a copy -map_metadata 0:g "%%~na.mp4" & ^
ren "%%~na.mp4" "%%~na.m4b" & ^
IF exist cover.jpg (AtomicParsley.exe "%%~na.m4b" --artwork cover.jpg --overWrite) & ^
del cover.jpg /Q )

Или в одну строку:

FOR /r %%a IN (*.aax) DO (del cover.jpg /Q & del "%%~na.mp4" /Q & del "%%~na.m4b" /Q & ffmpeg -activation_bytes XXXXXXXX -i "%%a" -vcodec copy cover.jpg & ffmpeg -activation_bytes XXXXXXXX -i "%%a" -vn -c:a copy -map_metadata 0:g "%%~na.mp4" & ren "%%~na.mp4" "%%~na.m4b" & IF exist cover.jpg (AtomicParsley.exe "%%~na.m4b" --artwork cover.jpg --overWrite) & del cover.jpg /Q )

где XXXXXXXX - это секрет, извлеченный с использованием звукового активатора, который одинаков для всех файлов, принадлежащих (купленных) одному и тому же пользователю.

Что делает этот пакетный файл:

  1. удалить возможные файлы из предыдущих попыток конвертации
  2. Извлеките звуковую обложку альбома (если имеется) в файл с именем "cover.jpg", используя FFmpeg
  3. извлеките аудио AAC из файла AAX и все метаданные и сохраните их в файл MP4, используя FFmpeg
  4. переименовать файл MP4 в M4B
  5. (если доступно) добавить обложку альбома в файл MP4 с помощью AtomicParsley
  6. удалите файл cover.jpg
Другие вопросы по тегам