Un encodeur HDMI cheap à base d’étendeur de signal

Il y a quelques mois, je suis tombé sur une page intéressante : une personne montrait que les étendeurs de signal HDMI (je n’ai pas de mot vraiment adapté en français) étaient en fait composés d’un encodeur et d’un décodeur, avec une transmission basique, sur IP. Ca implique qu’un émetteur devient une carte d’acquisition à bas prix.


Je pensais que les étendeurs de signal sur Ethernet fonctionnaient en convertissant le signal HDMI sur les fils des câbles RJ45 avant de faire l’opération inverse à la sortie (sans pertes, donc) mais visiblement les modèles d’entrée de gamme – 70 € le kit ici – fonctionnent différemment. Le premier bloc (émetteur) récupère le signal, le convertit en H.264, le transmet sur IP au récepteur qui décode le H.264 et l’affiche. Cette solution induit une perte de qualité et une latence assez élevée. Elle a par contre l’avantage d’être simple à mettre en place et de pouvoir travailler avec plusieurs récepteurs. Et, pratique pour s’amuser, on peut remplacer le récepteur par un ordinateur.

J’ai acheté un émetteur (seul, le vendeur a d’ailleurs tiqué) pour tester, il s’agit d’un LKV373A de chez Lenkeng. Le premier essai a été… compliqué. De base, l’émetteur transmet les données en multicast, et mon réseau n’apprécie pas. En simplifiant, il envoie son flux sur une adresse IP dédiée à cet usage, et les switchs envoient ensuite ce flux sur toutes les prises. En théorie, l’IGMP snooping permet de n’envoyer ces flux que sur les appareils qui le demandent, mais visiblement un de mes switchs à la maison ne le fait pas correctement et le flux fait tomber les appareils de mon réseau, notamment les bornes Wi-Fi (oui, j’ai plusieurs bornes et switchs). J’ai donc tenté d’une autre manière : l’émetteur a été relié directement à un adaptateur USB vers Ethernet relié directement à ma machine.

Une prise RJ45


Alimentation et entrée HDMI

Par défaut, l’émetteur envoie son flux en UDP sur l’adresse 239.255.42.42 (port 5004) et il est possible, simplement avec VLC, de récupérer le signal. Le programme français permet même de stocker directement le flux brut. Il suffit d’ouvrir l’adresse udp://@239.255.42.42:5004 et l’image devrait apparaître.

Les hackers proposent ensuite quelques trucs intéressants. Premièrement, il est possible d’accéder aux réglages de l’appareil. Il faut flasher un firwmare récent, lancer un programme sous Windows pour remettre l’appareil à zéro et se connecter sur l’interface avec le login/mot de passe admin / 123456. L’interface permet de régler quelques trucs sur la vidéo (par exemple downscaler le 1080p en 720p) mais aussi modifier le débit, qui est de 15 mégabits/s en 1080p, 12 mégabits/s en 720p et 4 mégabits/s en 480p. L’appareil travaille en H.264 (Baseline@L4) avec de l’audio en MP2 à 192 kb/s. De ce que j’ai vu, l’encodeur se limite à 30 fps en 1080p et la qualité est passable, avec une latence assez élevée. Il intègre visiblement un scaler en interne, un Mac avec une image envoyée en 1 600 x 900 s’affiche.

L’interface

L’interface permet aussi de modifier l’adresse IP basique sans DHCP (ça peut servir) et de régler les paramètres d’envoi. L’interface ne permet pas de passer en Unicast (c’est-à-dire d’envoyer le flux sur une adresse précise), même si visiblement ça reste possible en utilisant des paramètres précis dans une URL (dans mon cas, impossible).

J’ai testé avec un Mac (en Mini DisplayPort vers HDMI), avec un Raspberry Pi et avec un appareil photo (qui propose une sortie micro HDMI). Sur l’appareil photo et le Raspberry Pi, pas de soucis, mais sur le Mac, ça a été plus compliqué. Je n’ai pas obtenu d’image avec un adaptateur passif basique, uniquement avec un modèle actif (qui ne propose pas les mêmes définitions et pas d’audio). Accessoirement, le changement de définition dans un flux peut poser des soucis au moment de sa récupération…

Si à l’origine le produit me semblait intéressant comme carte d’acquisition cheap, j’ai un peu déchanté. La configuration est une plaie (et impose Windows au moins une fois) et il fonctionne très mal sur mon réseau (sur une architecture plus simple, ça ne posera pas nécessairement de problèmes). Si la qualité est passable, l’absence de logiciels dédiés et de réglages limite aussi grandement le truc. Dans la pratique, ça peut servir pour envoyer une image vers un PC pour récupérer le flux d’une caméra (par exemple) ou pour des enregistrements rapides, mais ça ne remplace malheureusement pas une carte dédiée. Un Elgato Game Capture HD d’occasion se trouve facilement pour environ 50 € et suffit amplement pour un usage basique, comme illustrer un site Internet. La version de base se limite à du 30 fps avec de la compression (comme le LKV373A testé ici) mais le logiciel fourni est efficace et dispense du passage par les bidouilles.