Hacker un Raspberry Pi pour lire du MPEG2 et du VC1 matériellement

Les Raspberry Pi sont des cartes très pratiques, mais elles possèdent un (petit) défaut : la lecture des vidéos en MPEG2 et en VC1 est bridée pour des questions de licence. Il faut en effet payer pour activer la lecture à travers le GPU.

Dans l’absolu, ça ne me gêne pas et je l’ai d’ailleurs fait pour un test : ça vaut 3 € pour le MPEG2 et 1,5 € pour le VC1. Mais il y a un défaut : la licence est liée à une carte en particulier. Et comme j’utilise (beaucoup) trop de Raspberry Pi à la maison, ça devient vite compliqué à gérer, surtout quand on est un boulet qui a cassé l’emplacement microSD du Raspberry Pi 3 qui a servi à acheter les licences. Enfin, bref, il existe une commande pour activer le décodage. Je ne vous encourage pas à l’utiliser, mais elle existe. Accessoirement, le MPEG2 est entré récemment dans le domaine public, donc je ne suis même pas certain que la licence ait un sens.

En ligne de commande, tapez les commandes suivantes.

cd /boot
sudo perl -i.bak -pe 's/\x47\xE9362H\x3C\x18/\x47\xE9362H\x3C\x1F/g' start.elf

Pour vérifier si ça a fonctionné, tapez la commande suivante.

vcgencmd codec_enabled MPG2/WVC1

Elle affiche enabled si ça fonctionne et disabled dans le cas contraire. Le gros avantage, pour moi, c’est que ça fonctionne sur n’importe quelle carte, donc pas besoin d’acheter la licence pour chaque carte (même si je suis bien au courant que ce n’est pas bien).

Si vous voulez tester, il y a des vidéos en VC1 disponibles sur le net, et omxplayer gère l’accélération matérielle. Sur un Raspberry Pi 2 « v2 », du 1080p en VC1 nécessite moins de 15 % du CPU.