Quel codec est utilisé en Bluetooth par l’iPhone ?

Aujourd’hui, un truc technique mais pratique : comment déterminer le codec utilisé en Bluetooth par un iPhone ? Une question pas si triviale : iOS n’indique pas le codec utilisé et il est pourtant très important, le SBC utilisé en Bluetooth étant plutôt mauvais. Sous iOS, on a le choix entre AAC et SBC, alors que (Mac) OS X supporte le SBC et l’AptX.
Bluetooth-Logo

Je vous le dis tout de suite : c’est tout sauf simple. iOS n’indique pas le codec, les appareils (dans la grande majorité des cas) non plus. Première chose, il faut vérifier si l’appareil supporte l’AAC, sinon, c’est assez simple : on est en SBC (et c’est dommage).

J’ai testé avec une Beats Pill, une enceinte portable à la qualité discutable mais qui a le mérite — pour notre test — de fonctionner en AAC. J’ai aussi testé avec une enceinte quelconque qui ne supporte que le SBC.

Première chose, il faut installer un fichier sur l’iPhone qui va permettre d’accéder aux informations de diagnostic d’iOS. J’ai du le modifier manuellement pour avoir assez d’informations.

Il faut ouvrir le fichier suivant avec l’iPhone et installer le tout. Bluetooth.mobileconfig.

Ensuite, il faut appairer votre appareil Bluetooth et lancer de la musique.

Une fois que c’est fait, dans Réglages -> Bluetooth -> Mode diagnostic, il faur choisir Save Logs.

Bluetooth

Bluetooth

Maintenant, il faut synchroniser l’iPhone avec iTunes. Quand c’est fini, les fichiers sont dans le dossier suivant :

/Users/Votre_nom_utilisateur/Library/Logs/CrashReporter/MobileDevice/Votre_iPhone/BluetoothDiagnostics/

Dans les fichiers, vous devriez trouver un fichier Bluetooth.log, qu’il faut ouvrir.

En cherchant AAC (si l’appareil est compatible), des lignes de ce type devraient être dans le fichier :

11:10:07.960 A2dpStreamManager.cpp:430 ExtractAacInfo A2DP Info AAC configuration being used.
11:10:07.960 A2dpStreamConfig.cpp:528 SetAacDataRate A2DP Info AAC frame len: 1 bytes, num frames: 870, bitrate: 256 kb/s, rtp intr: 27

A contrario, si l’AAC n’est pas de la partie, il faut chercher SBC.

11:20:03.756 A2dpStreamConfig.cpp:512 SetSbcDataRate A2DP Info Bitpool: 53, bitrate: 325 kb/s, SBC frame len: 118 bytes, num frames: 7

L’AAC a l’avantage de consommer moins du côté de l’iPhone (qui ne recompresse pas), d’offrir une meilleure qualité et d’utiliser moins de bande passante, ce qui rend la connexion plus stable.

Et espérons qu’un jour Apple payera la licence AptX pour iOS…