Я запускаю ffmpeg v2.8.1 из Homebrew и пытаюсь конвертировать файлы Audible, но есть одна хитрость, которой мне не хватает.
Эта команда выводит эту ошибку.
ffmpeg -activation_bytes 1CEB00DA -i Volume1.aax -vn -c:a copy output.mp4
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc9a4010600] [aax] file checksum == d72f1f04e3c73d0bc68e742db1bc69b58dc3a500
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc9a4010600] [aax] mismatch in checksums!
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc9a4010600] error reading header
Volume1.aax: Invalid data found when processing input
Я знаю, что файл в порядке, потому что он играет в iTunes. У меня есть встроенный файл изображения / обложки,
Из документов ffmpeg я прочитал, что файлы Audible AAX являются зашифрованными файлами M4B , и их можно расшифровать, указав 4-байтовый секретный ключ активации.
Я предполагаю - возможно, неправильно - что данный в порядке. Если нет, то как найти этот секрет.
macos
open-source
Гарри Макговерн
источник
источник
Ответы:
Сначала запустите эти команды:
Затем введите свое имя пользователя и пароль Audible и подождите некоторое время, пока будет напечатан восьмисимвольный ключ активации.
Если вы не запустите
sed
команду, которая изменяет значениеchromedriver_path
переменной, это./audible-activator.py
приведет к ошибке,'chromedriver' executable needs to be in PATH
даже если онаchromedriver
находится в пути или вaudible-activator
каталоге. Если вашsed
GNUsed
, заменитеsed -i ''
наsed -i
.После этого запустите такую команду:
(Я отредактировал команду выше на основе комментариев LiWang и Маркуса Эррония, чтобы заменить
output.m4a;mv output.m4{a,b}
наoutput.m4b
и заменить-vn -c:v copy
на-c copy
.)Если вы попытаетесь использовать
ffmpeg
команду выше сaa
файлом вместоaax
файла, это приведет к ошибке вродеOption activation_bytes not found
. Чтобы загрузить книгу из Audibleaax
вместоaa
, выберите «Улучшено» в раскрывающемся списке «Качество звука» в представлении для загрузки книги.aax
файлы зашифрованыmp4
/m4a
/m4b
файлы, поэтому приведеннаяffmpeg
выше команда не перекодирует аудио и сохраняет метаданные, такие как главы.mp4
,m4a
иm4b
являются альтернативными расширениями имени файла для формата контейнера MPEG-4 Part 14. Расширенияm4a
иm4b
были первоначально представлены Apple. Одно из различий между расширениямиm4a
и иm4b
заключается в том, что опция запоминания предыдущей позиции воспроизведения в iTunes включена по умолчанию для файлов сm4b
расширением, но не для файлов сm4a
расширением. iTunes также отображает файлы сm4b
расширением в аудиокнигах по умолчанию.В старых версиях iTunes не было флажка, позволяющего запоминать предыдущую позицию воспроизведения, но запоминание предыдущей позиции воспроизведения всегда было включено для файлов с
m4b
расширением, поэтому даже Википедия по-прежнему неверно заявляет, что «.m4a
аудиофайл не может« добавить в закладки »(запомните последнее место прослушивания), тогда как.m4b
файлы расширения могут. " (Хотя я не знаю, есть ли другие медиаплееры, которые ведут себя как старые версии iTunes в этом отношении.)UTI для
m4b
расширения - это,com.apple.protected-mpeg-4-audio
и Finder показывает вид всехm4b
файлов как «защищенное аудио MPEG-4», даже если все файлы сm4b
расширением не имеют защиты от копирования.источник
.aax
файлы и получаю сообщение об ошибке:Unrecognized option 'activation_bytes'.
. Любые идеи? Поменял ли Audible свой формат в прошлом году?*.m4a
и затем переименовать в*.m4b
? Почему бы просто не сделатьffmpeg -activation_bytes youractivationkey -i input.aax -vn -c:a copy output.m4b
:?Это даст вам ваш секрет активации:
https://github.com/inAudible-NG/audible-activator
источник
selenium
иrequests
черезpip
или,easy_install
а также загрузить и извлечь chromedriver вaudible-activator
каталог, чтобы он работал. Эта информация предоставляется вaudible-activator
README, но ее полезно знатьggrep
установленный сbrew install grep
) на macos, но после этого проделал большую работу.Я попытался ответить на вопрос user4669748, но наткнулся на несколько вещей, на которые стоит обратить внимание, и обнаружил исправление, которое заставило меня работать:
Waiting for px.owneriq.net
постоянно отображается в нижней строке состояния.Через 5 минут у меня появилось TimeoutException:
На этом я застрял. Однако, думая, что
px.owneriq.net
это какой-то сайт объявлений или отслеживания, я попытался «временно отключить» его, добавив/etc/hosts
с неверным IP-адресом, например(Это была тактика, предложенная другом, чтобы остановить рекламу в браузере.)
После этого дополнения
/etc/hosts
перезапустите программу. Это закончилось через 30 секунд.4-байтовый ключ активации был напечатан на экране и отлично работал с ffmpeg, как описано в ответе пользователя 4669748.
Затем я восстановил
/etc/hosts
его первоначальное содержание.источник