Comment faire une capture vidéo de l’écran de votre terminal Android

Dans un précédent article nous avons vu comment utiliser ADB dans les grandes lignes pour interagir avec un terminal Android. Ce coup-ci, nous allons voir plus précisément une commande bien particulière et qui devrait ravir bon nombre d’entre vous puisqu’elle permet de faire une vidéo de l’écran du terminal Android concerné.

L’option est particulièrement utile lorsqu’il s’agit d’illustrer des propos quelconques. Ainsi vous pourrez par exemple utiliser une telle vidéo pour présenter une application ou vous pourrez également l’envoyer par mail pour montrer comment effectuer certaines actions. À vous de réfléchir à ce que vous en ferez !

Android

Enregistrer une vidéo Android, c’est toujours plus simple que d’en tricoter un

Enregistrer son écran, c’est très facile

Pour enregistrer l’écran nous utilisons en réalité un programme installé de base dans les terminaux Android : screenrecord, un programme en ligne de commande par lequel vous pourrez accéder via la commande shell de ADB.

Comme un exemple pratique vaudra bien mieux qu’une longue et pénible explication, faites tout le nécessaire pour pouvoir accéder à votre terminal via ADB (nous l’avons vu dans l’article précédent) et ouvrez un terminal pour entrer les bonnes commandes.

Comme je l’avais déjà dit précédemment je ne préciserai pas ici le terminal utilisé dans les commandes que je vous montre. Autrement dit mes commandes seront toutes sous la forme adb nom-de-la-commande. Cependant, si vous avez plusieurs terminaux connectés, il faudra sélectionner le bon via l’option -s, mais ça nous l’avons déjà vu.

Commencez donc par lancer la commande adb shell. Cela aura pour effet de modifier votre invite de commandes : à partir de maintenant, les commandes que vous taperez seront exécutées sur le terminal Android concerné.

C’est optionel, mais vous pouvez déjà commencer par vous déplacer dans le dossier dans lequel vous souhaitez enregistrer la vidéo, typiquement un sous-dossier de /sdcard : cd /sdcard/mon-dossier-avec-mes-videos-de-chatons.

Ensuite, nous allons lancer l’enregistrement avec la commande screenrecord. Vous devez lui indiquer impérativement un nom de fichier où enregistrer la vidéo. Le chemin indiqué peut être relatif ou absolu. Si je veux enregistrer ma vidéo sous le nom « test.mp4 » et stocker le fichier dans le dossier courant (où je me suis déplacé avec la commande précédente), je n’ai donc qu’à taper screenrecord test.mp4.

L’enregistrement commence alors. Rien ne s’affiche : jouez simplement avec votre smartphone et effectuez les actions que vous souhaitez enregistrer. Une fois que vous avez fini votre vidéo, utilisez la combinaison de touches Ctrl + C qui aura pour effet de stopper l’enregistrement. Félicitations, votre vidéo est prête !

Récupérer la vidéo

Actuellement la vidéo existe bien et est stockée sur votre terminal. Vous pouvez bien sûr l’y lire, mais vous pouvez également souhaiter récupérer la vidéo sur votre ordinateur. Pour ce faire, sortez du shell de votre terminal via la commande exit et récupérez simplement le fichier que vous venez de créer avec la commande adb pull fichier. Dans l’exemple précédent, je peux récupérer la vidéo avec adb pull /sdcard/mon-dossier-avec-mes-videos-de-chatons/test.mp4. Elle sera alors stockée dans le dossier courant de l’ordinateur.

Quelques options

Si vous ne faites qu’enregistrer la vidéo et que vous ne faites rien d’autre sur votre terminal, il peut être un peu énervant de devoir taper trois commandes différentes (lancement du shell, enregistrement de la vidéo, sortie du shell). Vous pouvez alors les résumer en une seule via la commande adb shell screenrecord /sdcard/videos/test.mp4 et récupérer ensuite la vidéo comme précédemment. Ce mode de fonctionnement marche très bien également avec les options que nous allons voir.

Première option : la limite de temps. Si vous savez à l’avance combien de temps vous voulez enregistrer et si vous voulez vous éviter la combinaison Ctrl + C, précisez simplement la durée de la vidéo en secondes via l’option --time-limit, comme ceci : screenrecord --time-limit 45 test.mp4 pour une vidéo de 45 secondes. Notez que par défaut cette limite est fixée à 180 secondes.

Si vous souhaitez contrôler la qualité de la vidéo, c’est tout à fait possible via l’option --bit-rate qui est réglée par défaut à 4 Mbps. Là encore, indiquez simplement la valeur après l’option : screenrecord --bit-rate '2M' test.mp4.

Dernière option que nous verrons ici : les dimensions de la vidéo qui se définissent via l’argument --size. Par exemple, si je veux une vidéo de 640 × 480 pixels, je peux taper screenrecord --size '640x480' test.mp4. Notez que l’écran n’est pas rogné : la vidéo est redimensionnée et des bords noirs sont ajoutés si nécessaire. Par défaut, la vidéo prend les dimensions du premier écran affiché : si vous commencez la vidéo avec un mode portrait sur un terminal d’une résolution de 1 920 × 1 080 pixels, vous obtiendrez une vidéo de 1 080 × 1 920 pixels. D’où le poids imposant du fichier que vous avez certainement remarqué…

Il est bien entendu tout à fait possible de combiner plusieurs options. Par exemple si je veux une petite et courte vidéo, avec une qualité amoindrie, je peux taper screenrecord --size '640x480' --bit-rate '2M' --time-limit 10 test.mp4.

Et Android Wear ?

Il est tout à fait possible de jouer avec ADB sur Android Wear. Cependant, enregistrer l’écran est un peu plus délicat et il vous faudra passer par un fichier RAW, avec le poids qui va avec. Voici comment : screenrecord --o raw-frames test.raw. Ensuite, récupérez votre fichier comme précédemment et convertissez-le à l’aide d’un programme dédié, comme mplayer par exemple.

Photo : Kham Tran

Mots-clés android