Estou executando o ffmpeg v2.8.1 do Homebrew e tentando converter arquivos Audible, mas há algum truque que estou perdendo.
Este comando produz esta saída de erro.
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
Eu sei que o arquivo está ok, porque é reproduzido no iTunes. Eu também tenho a imagem do arquivo / arte da capa incorporada,
Nos documentos do ffmpeg, li que os arquivos Audible AAX são arquivos M4B criptografados e podem ser descriptografados especificando um segredo de ativação de 4 bytes.
Estou presumindo - provavelmente incorretamente - que o dado está ok. Se não, como encontrar esse segredo.
macos
open-source
Harry McGovern
fonte
fonte
Respostas:
Primeiro, execute estes comandos:
Em seguida, digite seu nome de usuário e senha do Audible e aguarde um pouco até que a chave de ativação de oito caracteres seja impressa.
Se você não executar o
sed
comando que altera o valor dachromedriver_path
variável,./audible-activator.py
resultará em um erro como'chromedriver' executable needs to be in PATH
se estivessechromedriver
no caminho ou noaudible-activator
diretório. Se vocêsed
é GNUsed
, substituased -i ''
porsed -i
.Depois disso, execute um comando como este:
(Editei o comando acima com base nos comentários de LiWang e marcus erronius para substituir
output.m4a;mv output.m4{a,b}
poroutput.m4b
e substituir-vn -c:v copy
por-c copy
.)Se você tentar usar o
ffmpeg
comando acima com umaa
arquivo em vez de umaax
arquivo, isso resultará em um erro comoOption activation_bytes not found
. Para baixar um livro do Audible como emaax
vez deaa
, escolha "Aprimorado" no menu suspenso "Qualidade do áudio" na exibição para baixar um livro.aax
os arquivos são criptografadosmp4
/m4a
/m4b
files para que offmpeg
comando acima não recodifique o áudio e preserve metadados como os capítulos.mp4
,m4a
, Em4b
são extensões de nomes alternativos para o recipiente de formato MPEG-4 parte 14. As extensõesm4a
em4b
foram originalmente introduzidas pela Apple. Uma diferença entre as extensõesm4a
em4b
é que a opção de lembrar a posição de reprodução anterior no iTunes é ativada por padrão para arquivos com umam4b
extensão, mas não para arquivos com umam4a
extensão. O iTunes também exibe arquivos com umam4b
extensão em audiolivros por padrão.As versões antigas do iTunes não tinham a caixa de seleção para ativar a lembrança da posição de reprodução anterior, mas a lembrança da posição de reprodução anterior sempre era ativada para arquivos com uma
m4b
extensão; portanto, mesmo a Wikipedia ainda afirma incorretamente que "um.m4a
arquivo de áudio não pode" marcar "(lembre-se de último ponto de escuta), enquanto os.m4b
arquivos de extensão podem ". (Embora eu não saiba se ainda existem outros players de mídia que se comportam como versões antigas do iTunes a esse respeito.)A UTI da
m4b
extensão écom.apple.protected-mpeg-4-audio
e o Finder mostra o tipo de todos osm4b
arquivos como "áudio MPEG-4 protegido", mesmo que todos os arquivos com umam4b
extensão não tenham proteção contra cópia.fonte
.aax
arquivos e recebendo o erro:Unrecognized option 'activation_bytes'.
. Alguma ideia? O Audible mudou seu formato no ano passado?*.m4a
e renomear como*.m4b
? Por que não apenas fazerffmpeg -activation_bytes youractivationkey -i input.aax -vn -c:a copy output.m4b
:?Isso lhe dará seu segredo de ativação:
https://github.com/inAudible-NG/audible-activator
fonte
selenium
erequests
viapip
oueasy_install
baixar e extrair o chromedriver noaudible-activator
diretório para que ele funcione. Esta informação é fornecida noaudible-activator
README de 's, mas é útil saber de antemão :)ggrep
instalado combrew install grep
) nos macos, mas fez um ótimo trabalho depois disso.Tentei a resposta do user4669748, encontrei algumas coisas que mereciam ser notadas e descobri uma correção que fazia as coisas funcionarem para mim:
Waiting for px.owneriq.net
constantemente exibida na barra de status inferior.Após 5 minutos, eu tive uma TimeoutException:
Com isso, eu estava preso. No entanto, pensando que
px.owneriq.net
é algum tipo de anúncio ou site de rastreamento, tentei "desabilitá-lo temporariamente" adicionando/etc/hosts
um endereço IP inválido, por exemplo,(Essa foi uma tática sugerida por um amigo para interromper os anúncios no navegador.)
Após essa adição
/etc/hosts
, execute novamente o programa. Ele foi concluído em 30 segundos.Uma chave de ativação de 4 bytes foi impressa na tela e funcionou perfeitamente com o ffmpeg, conforme descrito na resposta do usuário4669748.
Depois, restaurei
/etc/hosts
o conteúdo original.fonte