Estoy ejecutando ffmpeg v2.8.1 desde Homebrew e intento convertir archivos Audible , pero me falta un truco.
Este comando produce esta salida de error.
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
Sé que el archivo está bien, porque se reproduce en iTunes. También tengo la imagen de archivo / portada incrustada,
De los documentos de ffmpeg, leí que los archivos Audible AAX son archivos M4B cifrados , y se pueden descifrar especificando un secreto de activación de 4 bytes.
Supongo, probablemente incorrectamente, que el dado está bien. Si no, ¿cómo se encuentra ese secreto?
macos
open-source
Harry McGovern
fuente
fuente
Respuestas:
Primero ejecute estos comandos:
Luego ingrese su nombre de usuario y contraseña Audible y espere un momento a que se imprima la clave de activación de ocho caracteres.
Si no ejecuta el
sed
comando que cambia el valor de lachromedriver_path
variable, se./audible-activator.py
produce un error como'chromedriver' executable needs to be in PATH
si estuvierachromedriver
en la ruta o en elaudible-activator
directorio. Si sused
es GNUsed
, reemplacesed -i ''
consed -i
.Después de eso, ejecute un comando como este:
(Edité el comando anterior basado en los comentarios de LiWang y marcus erronius para reemplazar
output.m4a;mv output.m4{a,b}
conoutput.m4b
y para reemplazar-vn -c:v copy
con-c copy
).Si intenta utilizar el
ffmpeg
comando anterior con unaa
archivo en lugar de unaax
archivo, se produce un error comoOption activation_bytes not found
. Para descargar un libro de Audible enaax
lugar deaa
, seleccione "Mejorado" en el menú desplegable "Calidad de audio" en la vista para descargar un libro.aax
los archivos están encriptadosmp4
/m4a
/m4b
por lo que elffmpeg
comando anterior no vuelve a codificar el audio y conserva los metadatos, como los capítulos.mp4
,m4a
ym4b
son extensiones de nombre de archivo alternativas para el formato de contenedor MPEG-4 Parte 14. Las extensionesm4a
ym4b
fueron introducidas originalmente por Apple. Una diferencia entre las extensionesm4a
ym4b
es que la opción para recordar la posición de reproducción anterior en iTunes está habilitada de manera predeterminada para archivos con unam4b
extensión pero no para archivos con unam4a
extensión. iTunes también muestra archivos con unam4b
extensión en audiolibros de forma predeterminada.Las versiones anteriores de iTunes no tenían la casilla de verificación para permitir recordar la posición de reproducción anterior, pero recordar la posición de reproducción anterior siempre estaba habilitada para archivos con una
m4b
extensión, por lo que incluso Wikipedia aún afirma incorrectamente que "un.m4a
archivo de audio no puede" marcar "(recuerde último lugar de escucha), mientras que los.m4b
archivos de extensión pueden ". (Aunque no sé si todavía hay otros reproductores multimedia que se comporten como versiones antiguas de iTunes a ese respecto).La UTI para la
m4b
extensión escom.apple.protected-mpeg-4-audio
y Finder muestra el tipo de todos losm4b
archivos como "audio MPEG-4 protegido" aunque todos los archivos con unam4b
extensión no tienen protección contra copia.fuente
.aax
archivos y conseguir el error:Unrecognized option 'activation_bytes'.
. ¿Algunas ideas? ¿Audible ha cambiado su formato en el último año?*.m4a
y luego renombrar como*.m4b
? ¿Por qué no simplemente hacerffmpeg -activation_bytes youractivationkey -i input.aax -vn -c:a copy output.m4b
:?Esto te dará tu secreto de activación:
https://github.com/inAudible-NG/audible-activator
fuente
selenium
yrequests
víapip
oeasy_install
también descargar y chromedriver extracto en elaudible-activator
directorio para que funcione. Esta información se proporciona enaudible-activator
el archivo README, pero es útil saberlo por adelantado :)ggrep
instalado conbrew install grep
) en macos, pero hizo un gran trabajo después de eso.Intenté la respuesta de user4669748, me encontré con algunas cosas que vale la pena señalar y descubrí una solución que me funcionó:
Waiting for px.owneriq.net
se muestra constantemente en la barra de estado inferior.Después de 5 minutos, tuve una TimeoutException:
Ante esto, estaba atrapado. Sin embargo, pensando que
px.owneriq.net
es algún tipo de anuncio o sitio de seguimiento, traté de "deshabilitarlo temporalmente" agregando/etc/hosts
una dirección IP no válida, p. Ej.(Esta fue una táctica sugerida por un amigo para detener los anuncios en el navegador).
Después de esta adición a
/etc/hosts
, vuelva a ejecutar el programa. Funcionó hasta su finalización en 30 segundos.Se imprimió una clave de activación de 4 bytes en la pantalla y funcionó perfectamente con ffmpeg como se describe en la respuesta del usuario 46979748.
Luego restauré
/etc/hosts
su contenido original.fuente