On peut enfin lire les Blu-ray BD+ avec VLC

Alors, comme souvent avec les Blu-ray, c’est une sorte de démonstration technologique, mais dans l’absolu ça fonctionne : on peut décoder les disques BD+ sur Mac.

J’avais déjà parlé de BD+, c’est une protection qui a beaucoup été utilisée par la Fox, qui consiste à chiffrer une partie des données (en simplifiant) avec un système de machine virtuelle qui va permettre de reconstituer ce qui manque. Jusqu’il y a peu, l’implémentation open source (libbdplus) ne prenait en charge que les quelques premières générations de disques BD+ et sans les données correctes, les films protégés par BD+ sont lus avec des artefacts. Mais une nouvelle méthode est sortie. Vous trouverez les détails sur la méthode dans ce post de forum. En simplifiant (et je ne suis pas certain de comprendre tout ce que ça fait), les tables contiennent les quelques données qui manquent et qui – en temps normal – sont générées par la machine virtuelle. Cette solution a un défaut : les données dépendent des films. Visiblement, il y a les données de ~4 800 films sur les ~5 000 qui existent en BD+, donc ça passe sur la majorité des disques.

Sans décodage BD+


Avec les tables de conversion

Elle nécessite plusieurs choses. Premièrement, des tables de conversion, qui contiennent les données manquantes. Elle prennent pas mal de place : ~1,7 Go. Elles se téléchargent et douvent être placée dans ~/Library/Caches/bdplus/convtab (attention, il faut bien décompresser au bon endroit). Ensuite, des versions modifiées de libaacs et libbdplus. Alors pour le moment, il faut compiler et patcher à la main sous macOS (c’est compliqué, mais les patchs sont livrés ). Et aussi, petit défaut, ça casse la gestion des menus de VLC : le système considère qu’il y a un problème de firmware.

Le menu indiquera un souci de firmware

Le résultat, une fois tout bien mis en place, est bon. Tous mes Blu-ray BD+ passent, ce qui n’était pas gagné au départ. Je n’ai pas vu d’artefacts, même si je n’ai pas regardé les films entièrement. De toute façon, sans cette méthode, c’est visible dans pratiquement tous les plans. Le seul défaut pratique, en réalité, c’est que la solution n’est pas très élégante : elle nécessite les données des disques, ça prend de la place, et il y a un risque (faible) que les ayants-droits réagissent. Une solution qui émulerait correctement la machine virtuelle BD+ serait plus efficace.

Sinon, aussi, il existe pas mal de clés récentes. En gros, les Blu-ray MKBv68 peuvent être lu facilement (donc c’est assez récent). Vous trouverez les clés « disques » et les clés génériques (ainsi que les certificats) . Petite astuce si vous voulez les menus, il faut utiliser Java 8, qui s’installe facilement avec Brew.

brew tap homebrew/cask-versions
brew cask install homebrew/cask-versions/adoptopenjdk8

Pour déinstaller, plus tard : brew cask uninstall caskroom/versions/adoptopenjdk8

Et c’est la première fois depuis que je parle de Blu-ray sur Mac (depuis 2012) que je peux lire tous les films de ma collection.