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

1683
Eh'den

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

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

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

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

Есть идеи?

0

1 ответ на вопрос

2
Eh'den

Решение простое и требует следующих программ (решение 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
(1) Я не знаком с манипулированием аудио / видео файлами, так что это может быть наивным вопросом, но: секрет «XXXXXXXX» одинаков для всех файлов? (2) Это может помочь вам показать процедуру извлечения секрета или, по крайней мере, связано с объяснением. (3) Что мне не хватает? Похоже, что ваша команда `ren" %% ~ na.mp4 "" %% ~ na.m4b "` находится вне цикла `` FOR / r %% a IN (* .aax) ``. Это намеренно? Вы можете это объяснить? G-Man 6 лет назад 0
1) XXXXXXXX - это особый секрет, который шифрует файлы AAX. У каждого пользователя есть свой секрет. 2) Я исключил раздел о том, как извлечь секрет, возможно, я включу его в ответ. Это немного сложнее, но как только вы его получите, он действителен для всех ваших слышимых книг, связанных с вашей учетной записью. 3) Надеюсь, я исправил код ... Eh'den 6 лет назад 0

Похожие вопросы