Как преобразовать звуковой файл 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):
С помощью этих программ (расположенных там, где находятся файлы 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 - это секрет, извлеченный с использованием звукового активатора, который одинаков для всех файлов, принадлежащих (купленных) одному и тому же пользователю.
Что делает этот пакетный файл:
- удалить возможные файлы из предыдущих попыток конвертации
- Извлеките звуковую обложку альбома (если имеется) в файл с именем "cover.jpg", используя FFmpeg
- извлеките аудио AAC из файла AAX и все метаданные и сохраните их в файл MP4, используя FFmpeg
- переименовать файл MP4 в M4B
- (если доступно) добавить обложку альбома в файл MP4 с помощью AtomicParsley
- удалите файл cover.jpg