Bonjour nal,
Je viens te présenter une application que j'ai développée, qui permet d'afficher et de contrôler des devices Android connectés en USB.
Elle se concentre sur :
- la légèreté (native, affiche uniquement l'écran)
- les performances (30~60fps)
- la qualité (1920×1080 ou plus)
- la faible latence (70~100ms)
- un démarrage rapide (~1 seconde pour afficher la première image)
- la non-intrusivité (rien ne reste installé sur le device)
Je l'ai appelée scrcpy.
Il fallait un nom aussi imprononçable que mon précédent projet, gnirehtet (tu te souviens peut-être, je t'avais parlé de sa réécriture en Rust).
Cette fois-ci, c'est une application en C qui utilise SDL et libav/FFmpeg.
Compiler et installer
Pour la compiler et l'installer, tout est expliqué dans le README.
Le plus simple, c'est de prendre la partie serveur déjà compilée (ça t'évitera d'installer Java et le SDK Android).
Ensuite (pour Debian/Ubuntu) :
sudo apt install android-tools-adb ffmpeg libsdl2-2.0.0 \
make gcc pkg-config meson \
libavcodec-dev libavformat-dev libavutil-dev \
libsdl2-dev
# replace by the path where you downloaded scrcpy-server.jar
meson x --buildtype release --strip -Db_lto=true \
-Dprebuilt_server=/path/to/scrcpy-server.jar
cd x
ninja
sudo ninja install
Quelqu'un a aussi fait un paquet AUR pour Arch.
Exécuter
C'est assez simple :
scrcpy
Il est possible de passer des options, décrites dans l'aide :
scrcpy --help
Une fois l'écran du device affiché, des raccourcis permettent d'effectuer des actions spéciales.
J'espère que cette application pourra t'être utile à l'occasion ;-)
# Ca marche pas et c'est dommage
Posté par weonbin . Évalué à 2.
J'ai essaye de lancer ton appli, mais malheureusement rien ne se passe, aucun message d'erreur ni de fichier de log:
$ scrcpy.exe --help
$
Le binaire adb inclus dans l'archive permet pourtant de se connecter au tel en shell.
Je precise: Je suis sous windows…
[^] # Re: Ca marche pas et c'est dommage
Posté par ®om (site web personnel) . Évalué à 3. Dernière modification le 09 mars 2018 à 11:34.
On m'a parlé de ce problème hier : le binaire "portable" pré-compilé pour Windows ne sort rien sur stderr ou stdout.
Par contre, en le compilant à la main comme sur les autres plates-formes, ça marche: https://github.com/Genymobile/scrcpy#windows
Pour l'instant, je ne sais pas pourquoi (je ne comprends pas grand chose à Windows ;)).
blog.rom1v.com
[^] # Re: Ca marche pas et c'est dommage
Posté par Philippe F (site web personnel) . Évalué à 3.
Je suppute un problème classique de Windows qui m'a fait souffir: si tu compile ton binaire en mode graphique, il faut surtout ne rien sortir sur stdout et stderr. Ce sont des buffers de petite taille (genre une trentaine de caractère) et si tu écris plus que ça, ton programme se freeze (on comme on dit chez nous, il se blo
Correctif: soit compiler en mode texte, soit écrire dans un fichier de log.
[^] # Re: Ca marche pas et c'est dommage
Posté par ®om (site web personnel) . Évalué à 3.
Je n'ai pas essayé, mais :
https://www.reddit.com/r/Android/comments/834zmr/introducing_scrcpy_an_app_to_display_and_control/dvffvxp/
blog.rom1v.com
[^] # Re: Ca marche pas et c'est dommage
Posté par weonbin . Évalué à 1.
Ca fait pareil, c'est a dire rien :/
# peut être le graal?
Posté par saltimbanque (site web personnel) . Évalué à 3.
c'est probablement le graal que je cherche depuis des mois. bon pas très activement mais quand même.
d'avance merci
d'avance, parce que pour l'instant j'ai quelques soucis pour tester =)
le contexte étant que là je suis sur windows et que je ne connais pas vraiment.
j'ai download le zip qui contient les dll et toussa, branché mon périphérique, le lance scrcpy.exe, et la console n'affiche absolument rien. Curieusement, je peux taper quoi que ce soit après scrcpy.exe et je n'obtiens pas le moindre message d'errreur.
Si je tente de lancer le serveur .jar, au début pareil aucun message. Si je persiste j'arrive à avoir un message "Impossible de trouver ou charger la clase principale de C:xxxxxxxxxxxxxxxxxxx\scrcpy-server.jar
concernant adb, pas mieux : le premier run de "adb devices" ne dit absolument rien, le relancer me dit "List of devices attached". (Mais attaché où là je suis bien incapable de le dire.)
la machine est sous windows 7, 64 bits, java lui est en version 7, et x86.
un rapport de bug serait t'il utile?
[^] # Re: peut être le graal?
Posté par ®om (site web personnel) . Évalué à 3.
cf ce commentaire
Il ne faut pas faire ça, c'est à lancer sur le device :)
C'est la source de ton problème : ton device n'est pas reconnu par adb.
Tu as activé le "debugging USB"? Fais en sorte que ton device soit reconnu.
Une fois que ce problème sera réglé, ça devrait marcher (même si tu n'auras rien dans la console).
blog.rom1v.com
[^] # Re: peut être le graal?
Posté par amdg . Évalué à 2.
J'avais le même problème, il me manquait le driver qui va bien pour adb. Tu peux commencer par ici pour installer le driver Google: https://developer.android.com/studio/run/win-usb.html
[^] # Re: peut être le graal?
Posté par saltimbanque (site web personnel) . Évalué à 2.
bon vi ça passe mieux sur mon arch une fois rentré à la maison! merci ça tient ses promesses, ça se lance en 2.2.
# utilisation pour capture d'écran/présentation
Posté par Goffi (site web personnel, Mastodon) . Évalué à 6.
Salut,
ça a l'air intéressant ! Je n'ai pas encore testé, mais ça pourra très certainement me servir pour faire des captures vidéo pour présenter des fonctionnalités, ou pour des démos en conférence. Est-ce qu'il est possible/serait possible d'afficher un indicateur visuel (par exemple un cercle pendant quelques secondes, ou un trait si le doigt/la souris se déplace) à l'endroit où on clique/touche l'écran ? Ça serait super.
Merci pour le boulot et le partage :)
[^] # Re: utilisation pour capture d'écran/présentation
Posté par amdg . Évalué à 4.
Tu peux activer ça dans les "Options pour les développeurs" d'Android:
Paramètres > Options pour les développeurs > Afficher éléments sélect.
[^] # Re: utilisation pour capture d'écran/présentation
Posté par Goffi (site web personnel, Mastodon) . Évalué à 2.
Ah ben je ne le savais même pas, merci du tuyau.
# meson.build
Posté par Cascador (site web personnel) . Évalué à 1.
Hello,
Une idée de ce qu'il faut faire ?
Merci, Tcho !
[^] # Re: meson.build
Posté par ®om (site web personnel) . Évalué à 2.
Cette commande est à exécuter à la racine du projet.
Et l'
*
, ça ne va pas passer ;)blog.rom1v.com
[^] # Re: meson.build
Posté par Cascador (site web personnel) . Évalué à 2.
Activer enable debugging en général :
1. Aller dans Paramètres, Général, A propos du téléphone, Informations sur le logiciel, taper plusieurs fois sur le Numéro de build
2. Aller dans Paramètres, Général, Options de développement, activer Débogage USB
3. Brancher le smartphone en USB sur le pc
On ne peut pas cliquer avec la souris, l'application Signal est toute noire.
Tcho !
[^] # Re: meson.build
Posté par ®om (site web personnel) . Évalué à 2.
Comment ça?
cf https://linuxfr.org/users/rom1v/journaux/scrcpy-une-appli-pour-afficher-et-controler-des-devices-android#comment-1732031
blog.rom1v.com
[^] # Re: meson.build
Posté par Cascador (site web personnel) . Évalué à 1.
T'es au top ;)
On navigue au clavier, le scrolling avec la molette souris fonctionne mais on ne peut pas cliquer sur une application par exemple. En tout cas, c'est très sympa, merci à toi !
Tcho !
[^] # Re: meson.build
Posté par ®om (site web personnel) . Évalué à 2. Dernière modification le 09 mars 2018 à 17:19.
Est-ce que ça ne clique pas au mauvais endroit? C'est possible si tu as 2 écrans avec des dpi différents, dont un hidpi.
Si c'est le cas, désactive le support hidpi:
(la qualité vidéo va être moins bonne, mais c'est pour voir si ça vient de là)
blog.rom1v.com
[^] # Re: meson.build
Posté par Cascador (site web personnel) . Évalué à 1.
C'est impressionnant le nombre d'étoiles GitHub que tu as ramassé ;)
Bon sur 3 pc différents (2 fixes et 1 portable), le clic gauche souris ne fonctionne pas. Je suis sur Xubuntu 17.10, le clic droit fonctionne, la molette souris fonctionne mais pas le clic gauche.
Tcho !
[^] # Re: meson.build
Posté par ®om (site web personnel) . Évalué à 2.
OK, tu as un LG, non?
https://github.com/Genymobile/scrcpy/issues/18
Si tu peux aider à résoudre le problème :)
blog.rom1v.com
[^] # Re: meson.build
Posté par ®om (site web personnel) . Évalué à 2.
C'est reddit et HN, ça amène un trafic impressionnant.
Je viens de compter dans mes logs apache (je n'ai pas d'outil de stats), en un peu plus d'une journée, il y a plus de 50000 IP uniques.
blog.rom1v.com
[^] # trending
Posté par ®om (site web personnel) . Évalué à 2.
Ah oui, c'est vrai que ça monte vite : le projet est 1er dans les trending repos de github aujourd'hui !
blog.rom1v.com
# Et sans le SDK android ?
Posté par Christie Poutrelle (site web personnel) . Évalué à 2.
J'ai vu que sur archlinux, il y a package sur AUR - j'ai essayé de l'installer, malheureusement il nécessite tout de même qu'on installe l'Android SDK - est-ce possible de s'en sortir sans facilement en prenant le jar déjà compilé ?
[^] # Re: Et sans le SDK android ?
Posté par ariasuni . Évalué à 8.
J’ai fait un PKGBUILD que je vais publier ce soir sur AUR. En attendant, le voici:
Écrit en Bépo selon l’orthographe de 1990
[^] # Re: Et sans le SDK android ?
Posté par MCMic (site web personnel) . Évalué à 2.
Merci beaucoup ça marche :-)
Vraiment génial ce truc, ça fait un moment que je cherchais ça.
Il supporte même le scroll, même si un peu trop sensible je trouve. Et le clavier aussi fonctionne, par contre je peux pas envoyer d’apostrophe (celui du bépo) il faut que je tape une quote droite (') si je veux que ça passe, j’ai pas l’habitude c’est perturbant.
Je sais pas si c’est possible de régler ces soucis.
Et j’ai un vrai bug: l’écran est noir si je lance l’application Silence. C’est la seule qui me fait ça dans ce que j’ai testé.
Question: pourquoi ça se lance pas directement en 1:1?
[^] # Re: Et sans le SDK android ?
Posté par ®om (site web personnel) . Évalué à 2. Dernière modification le 09 mars 2018 à 16:09.
Dans ce contexte, les caractères non-ASCII, c'est compliqué.
Dans Silence → Paramètres → Vie privée → Protection de l'écran.
Pour que la fenêtre du device ne dépasse pas celle du pc.
blog.rom1v.com
[^] # Re: Et sans le SDK android ?
Posté par MCMic (site web personnel) . Évalué à 2.
Merci
Dans mon cas la taille utilisé au lancement et la taille en 1:1 sont quasiment identique et aucune ne dépasse de mon écran. Donc c’est un peu perturbant.
Est-ce qu’il y a une option en CLI pour démarrer en 1:1 directement?
[^] # Re: Et sans le SDK android ?
Posté par ®om (site web personnel) . Évalué à 2. Dernière modification le 09 mars 2018 à 17:17.
Arf, ça rajoute des bordures pour pas que le device colle les bords de l'écran.
Pour l'instant, non.
Tu peux ouvrir une issue (feature request) en expliquant ce que tu dis ici pour pas oublier ;-)
blog.rom1v.com
[^] # Re: Et sans le SDK android ?
Posté par ariasuni . Évalué à 4.
Un peu en retard par rapport à ce que je prévoyais mais c’est fait:
https://aur.archlinux.org/packages/scrcpy-prebuiltserver/
Écrit en Bépo selon l’orthographe de 1990
# Enregistrer les touches et pouvoir les rejouer
Posté par yeahman . Évalué à 1.
Franchement, le projet est top.
Ce qu'il manque, c'est de pouvoir enregistrer les touches (éléments ?) à l'écran et pouvoir les rejouer ensuite :)
En tous cas, bravo !
[^] # Re: Enregistrer les touches et pouvoir les rejouer
Posté par ®om (site web personnel) . Évalué à 2. Dernière modification le 09 mars 2018 à 17:15.
Ah, j'ai aussi fait ça chez Genymobile en utilisant AOA (même sans adb). Mais c'est intégré dans une appli pas open source.
blog.rom1v.com
# Merci
Posté par \o/ . Évalué à 2.
Ça change de ce que j'ai pu essayer avant. C'est léger, marche du premier coup, parfait!
Merci beaucoup!
# On parle de scrcpy
Posté par R. Danell Olivaw . Évalué à 1.
Sur XDA.
Aussi, merci pour ce soft : léger, fait le taf et libre !
(je connaissais Vysor, en non libre)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.