Aller au contenu

flux video d'un jouet radio commandé


Messages recommandés

Bonjour,

J'espère ne pas me tromper de section du forum, mais c'est un peu particulier.

Mon fils a reçu en cadeau une voiture radiocommandée avec caméra wifi.
Elle fonctionne avec une application android, mais sur le vieux téléphone (sous cyanogenmod) qu'on lui a laissé, la vidéo laisse place à un écran noir. Du coup il est un peu déçu.
Comment pourrais-je trouver l'adresse, et éventuellement les login et mot de passe nécessaires (s'il y en a), pour récupérer uniquement le flux vidéo live? Cela me permettrait de tester directement depuis le navigateur internet ou depuis un lecteur multimédia.
J'ai essayé d'ouvrir les fichiers de l'apk, mais je n'ai pas trouvé les bonnes informations. Je ne sais même pas si la vidéo est de type rtsp.

Merci d'avance.

PS : voici le lien vers l'app

Lien vers le commentaire
Partager sur d’autres sites

Déjà essaye avec un téléphone sous android pour voir s'il n'y a pas des steps en plus à faire la 1ere fois et que cela fonctionne correctement du coup. Aussi l'app demande accès à la localisation et aux fichiers etc il faut probablement lui donner l'accès sinon ça ne fonctionnera pas et il faut bien se connecter au wifi de la voiture.

Si après ça, l'app ne fonctionne toujours pas et que c'est bien un soucis du tel ou de cyanogenos alors tu peux essaye de te connecter à l'ip donner par le wifi de la voiture vu qu'il n'est pas chiffré sur le port 80 pour voir s'il y a un serveur web de config ou autre.

essaye de passer à lineageos s'il est supporté sur ce tel.

tu installes un sniffer de paquet sur le tel android et pendant que l'app se connecte tu sniffes les paquets réseaux sur le wifi de la voiture et tu pourra normalement voir sur quel port/ip l'app se connecte.

si aucun de tout ça avant ne marche alors il faudra sûrement désassembler le code de l'apk pour savoir où et comment se connecter.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, styx2 a dit :

J'ai essayé d'ouvrir les fichiers de l'apk, mais je n'ai pas trouvé les bonnes informations. Je ne sais même pas si la vidéo est de type rtsp.

PS : voici le lien vers l'app

L'app supporte une poigné de protocoles (com.netopsun.car.DevicesUtil.java).

A priori c'est du rtsp si l'IP que tu reçoit est en 192.168.1.* ou 192.168.99.*

Il faut regarder une fois que tu es connecté au Wifi de ton jouet. 

Ceci dit: l'écran noir est peut-être dû à autre chose: quelle version de cyanogen le téléphone? Quel modèle de téléphone?

Lien vers le commentaire
Partager sur d’autres sites

Merci d'essayer de m'aider.

L'application fonctionne bien sur 2 autres téléphones android. Il suffit de se connecter au wifi généré par la voiture (non sécurisé), et de lancer l'application.
Sur le téléphone qui pose problème, les autres fonctions sont OK, il manque juste la vidéo. On peut guider la voiture sans problème.
Il n'y a pas de server web accessible via l'IP. Depuis un PC, avec VLC, ouvrir un flux réseau m'indique à chaque fois : "connection refused"
Le téléphone est assez ancien, lineage OS n'est pas pris en charge correctement.

Il me reste le sniffer de paquets, mais comme l'apk est disponible, je pensais que ce serait plus simple avec.

Dans l'apk, j'ai vu qu'il y avait plusieurs protocoles et adresses IP référencées, mais à chaque connexion, quel que soit le téléphone, c'est une adresse en 192.168.1.*

Je pense aussi que l'écran noir est du à autre chose, c'est CM11, mais le tél sert juste de lecteur MP3 / MP4, sans connexion internet ni réseau. C'est un Galaxy Ace 2.
C'est pour ça que j'essaie de passer par un moyen détourné de récupérer l'image, qui serait sans doute plus simple à utiliser si je trouve la bonne méthode.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, styx2 a dit :

Il n'y a pas de server web accessible via l'IP. Depuis un PC, avec VLC, ouvrir un flux réseau m'indique à chaque fois : "connection refused"

ça veut juste dire que tu n'utilises pas le bon port, ils utilisent probablement un port à la con le sniffer devrait te dire lequel ou si tu le trouves dans l'apk. l'écran noir est probablement du au fait que le tel ne sait pas décoder le flux vidéo en hardware et prendrais trop de ressource cpu pour le faire en soft.

Lien vers le commentaire
Partager sur d’autres sites

La vidéo noir est sans doute dû au codec non supporté par le téléphone
Pour la capturer hors de l'app ça pourrait être OMVIF mais j'imagine plutôt un protocole simple mais propriétaire.

Puisque le réseaux wifi est ouvert tu peut ecouter ce qui passe vers son adresse mac avec un PC avec quelque chose comme wireshark

Lien vers le commentaire
Partager sur d’autres sites

Finalement, je me suis trompé, c'est une adresse en 192.168.18.* mais ça ne change pas grand chose pour le reste.

Il y a 4 heures, L33thium a dit :

Puisque le réseaux wifi est ouvert tu peut ecouter ce qui passe vers son adresse mac avec un PC avec quelque chose comme wireshark

Je vais essayer de voir ce qui passe avec wireshark depuis mon pc, avec un téléphone connecté et fonctionnel, mais je n'ai pas trop l'habitude de ce logiciel.

Lien vers le commentaire
Partager sur d’autres sites

J'ai réussi à capturer les données avec wireshark.

L'adresse utilisée semble être la 192.162.18.1 sur le port 7070, et le protocole est GVSP.
Mais je trouve aussi du protocole SKYPE sur le port 7080.

Je regarde si je trouve autre chose, mais pour l'instant, je ne sais pas quoi faire de ces informations.

Lien vers le commentaire
Partager sur d’autres sites

J'ai vu des sites où des personnes arrivent à avoir la vidéo avec gst-launch (sur PC). L'application android semble embarquer les librairies de ijkplayer.
Pour l'instant, je vais faire une pause, la voiture n'a plus de batterie.
Sinon, depuis mes captures de packets, la vidéo semble être encodée en H264.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

c'est encore moi... Je viens de refaire des essais avec wireshark. Il en ressort que le flux vidéo n'est pas toujours en GVSP.
Parfois, il est en RTP, avec des références à DVB-S2.

En utilisant le téléphone ace II, on voit que les données sont bien envoyées, mais elles ne s'affichent pas .Peut être que l'écran est trop petit pour gérer correctement l'image? Dans ce cas le passage à lineage OS ne changera pas grand chose.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, styx2 a dit :

Parfois, il est en RTP, avec des références à DVB-S2.

?? le DVB-S2 est un protocole satellitaire il n'a clairement rien à faire là à moins que l'app ne recoive des signaux de satellites chinois 😛 pour bien t'espionner 🙂 

Lien vers le commentaire
Partager sur d’autres sites

Le 03/04/2024 à 08:25, styx2 a dit :

Finalement, je me suis trompé, c'est une adresse en 192.168.18.* mais ça ne change pas grand chose pour le reste.

Je vais essayer de voir ce qui passe avec wireshark depuis mon pc, avec un téléphone connecté et fonctionnel, mais je n'ai pas trop l'habitude de ce logiciel.

192.168.18.*, ça flèche "bkdevice".

De ce que je vois, c'est du mjpeg, mais "obfusqué". Il est décalé dans la trame réseau reçue, avec un décalage calculé par rapport à l'adresse mac (en lisant en diagonale le java dans com/netopsun/bkdevices/BKVideoFrameDataExtractor.java...). La trame est reconstituée paquet par paquet, une image = plusieurs paquets.

-> Je ne vois pas de raison que ça ne marche pas niveau compatibilité codec on est sur du B-A-BA

-> Si tu as une option réseau de mac adresse virtuelle, peux-tu la désactiver?

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour,

quand on parle d'option réseau de mac adresse virtuelle, c'est pour l'attribution aléatoire d'une adresse mac pour le téléphone? Si tel est le cas, je n'ai pas cette option d'activée.

Et sinon, par curiosité, comment peut-on afficher assez simplement le code de l'apk pour que j'essaie de voir un peu plus clair éventuellement? Android studio?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, styx2 a dit :

Et sinon, par curiosité, comment peut-on afficher assez simplement le code de l'apk pour que j'essaie de voir un peu plus clair éventuellement? Android studio?

J'ai utilisé https://www.decompiler.com/

Tu retrouveras facilement les fichiers auxquels j'ai fait référence.

Le 'scrambling' intégré n'a pas l'air d'être bien compliqué. Je te conseille de télécharger les fichiers java et de renommer les variables pour comprendre (parce que i1,i2s,i3 c'est pas facile à suivre). Après descrambling, ça devrait être du mjpeg

Mes remarques m'ont pris 5-10min de lecture du code maxi, c'est plutôt clair.

Donc si tu as du temps, il y a de quoi s'amuser😁

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour,

j'ai pris le temps de faire les mises à jour sur ce vieux téléphone. Pour l'instant, quel que soit le système installé, je ne vois pas de différence concernant l'application concernée : tout fonctionne sauf la partie de l'écran présentant la vidéo, qui reste noir.

J'ai récupéré un autre vieux téléphone (S4 mini) sur lequel l'apk fonctionne, que ce soit sous android 4.4.2 ou plus récent. Mon problème vientdrait peut être alors d'une librairie spécifique manquante, ou du processeur armeabi-V7a.

Je poursuis mes tests en essayant d'ajouter des librairies en plus.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...