Używam ffmpeg v2.8.1 z Homebrew i próbuję przekonwertować pliki Audible , ale brakuje mi sztuczki.
To polecenie generuje ten błąd.
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
Wiem, że plik jest w porządku, ponieważ można go odtwarzać w iTunes. Mam również osadzony plik obrazu / okładki,
Z dokumentów ffmpeg czytam, że pliki Audible AAX są zaszyfrowanymi plikami M4B i można je odszyfrować, podając 4-bajtową tajemnicę aktywacyjną.
Zakładam - prawdopodobnie niepoprawnie - że podany jest w porządku. Jeśli nie, to jak znaleźć ten sekret.
macos
open-source
Harry McGovern
źródło
źródło
Odpowiedzi:
Najpierw uruchom następujące polecenia:
Następnie wprowadź swoją nazwę użytkownika i hasło Audible i poczekaj chwilę na wydrukowanie ośmioznakowego klucza aktywacyjnego.
Jeśli nie uruchomisz
sed
polecenia zmieniającego wartośćchromedriver_path
zmiennej,./audible-activator.py
spowoduje to błąd,'chromedriver' executable needs to be in PATH
nawet jeślichromedriver
znajduje się na ścieżce lub waudible-activator
katalogu. Jeślised
jest GNUsed
, wymienićsed -i ''
zsed -i
.Następnie uruchom następującą komendę:
(I edycja komendy powyżej na podstawie uwag Liwang i Marcus erronius zastąpić
output.m4a;mv output.m4{a,b}
zoutput.m4b
i do zastąpienia-vn -c:v copy
z-c copy
).Próba użycia
ffmpeg
powyższego polecenia zaa
plikiem zamiastaax
pliku spowoduje błąd podobny do tegoOption activation_bytes not found
. Aby pobrać książkę z Audible asaax
zamiastaa
, wybierz „Ulepszone” z menu rozwijanego „Jakość dźwięku” w widoku pobierania książki.aax
Pliki są szyfrowanemp4
/m4a
/m4b
pliki więcffmpeg
komenda powyżej nie ponownego kodowania dźwięku i zachowuje metadane, takie jak rozdziałach.mp4
,m4a
im4b
są alternatywnymi rozszerzeniami nazw plików w formacie kontenera MPEG-4 część 14.m4a
Im4b
rozszerzenia zostały pierwotnie wprowadzone przez Apple. Jedną różnicą między rozszerzeniamim4a
im4b
jest to, że opcja zapamiętywania poprzedniej pozycji odtwarzania w iTunes jest domyślnie włączona dla plików zm4b
rozszerzeniem, ale nie dla plików zm4a
rozszerzeniem. iTunesm4b
domyślnie wyświetla również pliki z rozszerzeniem w książkach audio.Stare wersje iTunes nie miały pola wyboru, które umożliwiało zapamiętanie poprzedniej pozycji odtwarzania, ale zapamiętywanie poprzedniej pozycji odtwarzania było zawsze włączone dla plików z
m4b
rozszerzeniem, więc nawet Wikipedia nadal błędnie stwierdza, że „.m4a
plik audio nie może„ zakładki ”(pamiętaj ostatnie miejsce odsłuchu), podczas gdy.m4b
pliki rozszerzeń mogą. ” (Mimo że nie wiem, czy istnieją jeszcze inne odtwarzacze multimedialne, które zachowują się pod tym względem jak stare wersje iTunes).Interfejs użytkownika dla
m4b
rozszerzenia jest,com.apple.protected-mpeg-4-audio
a Finder pokazuje rodzaj wszystkichm4b
plików jako „chronione audio MPEG-4”, nawet jeśli wszystkie pliki zm4b
rozszerzeniem nie mają ochrony przed kopiowaniem.źródło
.aax
plików i uzyskiwanie błąd:Unrecognized option 'activation_bytes'.
. Jakieś pomysły? Czy Audible zmieniło format w zeszłym roku?*.m4a
a następnie zmiany nazwy na*.m4b
? Dlaczego po prostu nie robić:ffmpeg -activation_bytes youractivationkey -i input.aax -vn -c:a copy output.m4b
?Otrzymasz swój sekret aktywacyjny:
https://github.com/inAudible-NG/audible-activator
źródło
selenium
irequests
za pomocąpip
lub,easy_install
a także pobrać i rozpakować chromeedriver doaudible-activator
katalogu, aby działał. Informacje te znajdują się waudible-activator
README, ale warto wiedzieć z góry :)ggrep
zainstalowanego zbrew install grep
) na Macu, ale potem wykonałem świetną robotę.Wypróbowałem odpowiedź user4669748 i natknąłem się na kilka rzeczy, na które warto zwrócić uwagę, i odkryłem poprawkę, która sprawiła, że coś mi działało:
Waiting for px.owneriq.net
stale wyświetla się na dolnym pasku stanu.Po 5 minutach miałem wyjątek Timeout:
W tym utknąłem. Jednak myśląc, że
px.owneriq.net
jest to rodzaj reklamy lub witryny śledzącej, próbowałem ją „tymczasowo wyłączyć”, dodając/etc/hosts
nieprawidłowy adres IP, np.(To była taktyka zaproponowana przez znajomego, aby zatrzymać reklamy w przeglądarce).
Po tym dodaniu
/etc/hosts
uruchom ponownie program. Po ukończeniu w 30 sekund.4-bajtowy klucz aktywacyjny został wydrukowany na ekranie i działał idealnie z ffmpeg, jak opisano w odpowiedzi user4669748.
Następnie przywróciłem
/etc/hosts
oryginalną zawartość.źródło