Pular para o conteúdo

adb - Como capturar em vídeo a tela de seu Android

Eis que surge a necessidade de capturar a tela de seu Android em vídeo para criar um tutorial ou até mesmo pra registrar suas habilidades
em Flappy Birds. Você vai no Google Play e descobre que os únicos aplicativos que fazem isso requerem root. E agora? adb é a solução!
Fábio Berbert de Paula fabio
Hits: 28.253 Categoria: Android Subcategoria: Desenvolvimento
  • Indicar
  • Impressora
  • Denunciar

Parte 3: Gravando a tela do Android em ví­deo

Como visto na página anterior, o comando "adb devices" retorna uma lista dos dispositivos disponíveis para comunicação. Caso sua lista seja composta por apenas um dispositivo, você poderá executar o adb diretamente via linha de comando.

Caso você possua mais de um dispositivo conectado ao PC (emuladores de Android também são considerados dispositivo), terá que referenciar o dispositivo desejado usando o parâmetro "-s [id]". Por exemplo, para executar um simples comando shell no meu celular.

Caso seja o único dispositivo:

adb shell pwd

E caso existam outros dispositivos:

adb -s 4df1fa4267527fe9 shell pwd

Como só temos 1 dispositivo conectado, vamos seguir o artigo omitindo a opção "-s".

O comando para iniciar a captura de tela é:

adb shell screenrecord /sdcard/vivaolinux.mp4

O adb iniciará a gravação do vídeo na pasta raiz da memória interna do celular (/sdcard/). O arquivo se chamará "vivaolinux.mp4". Infelizmente o áudio não está incluso.

Você pode mudar o caminho à vontade. Por exemplo, para gravar no cartão de memória externo (caso possua), mude de /sdcard para /mnt/extSdCard.

Para finalizar a gravação do vídeo, basta pressionar Ctrl+C no terminal onde foi executado o comando acima.

Agora vamos baixar o vídeo para o PC:

adb pull /sdcard/vivaolinux.mp4

Pronto! O arquivo "vivaolinux.mp4" estará na pasta onde foi executado o comando acima.

E para remover o arquivo de vídeo da memória do celular:

adb shell rm /sdcard/vivaolinux.mp4

Se interessou pelo adb? Aprenda mais sobre ele em:
Um abraço.

   1. Introdução
   2. Ativando depuração USB no Android 4.4.2
   3. Gravando a tela do Android em ví­deo

Root no Samsung Galaxy S3 usando GNU/Linux

Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland

Linux na Globo! (Hoje, 05/10)

Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança

Formatando Disquetes

Hello Android! Meu Primeiro APP

KaiOS: A ressurreição do FirefoxOS e o fim da segregação digital

Assumindo o controle do teu Android com ADB

Processing - Programação para dispositivos móveis

Ambiente de Desenvolvimento para Android

#1 Comentário enviado por fajo em 09/10/2014 - 15:51h
Oi Fábio, blz, parabéns pelo artigo. Pintou uma dúvida aqui, na gravação da imagem, não tem como jogar ela logo no hd? Abraço.
#2 Comentário enviado por fabio em 09/10/2014 - 19:44h

[1] Comentário enviado por fajo em 09/10/2014 - 15:51h:

Oi Fábio, blz, parabéns pelo artigo. Pintou uma dúvida aqui, na gravação da imagem, não tem como jogar ela logo no hd? Abraço.
Infelizmente não fajo. Só se for capturar um screenshot da tela. Vídeo não. Pra captura de tela a sintaxe é assim:

$ adb shell screencap -p | sed 's/\r\$//' > screenshot.png
#3 Comentário enviado por pylm em 09/10/2014 - 20:25h
Alternativamente também pode ser usado o app rec que faz uso desse comando e permite gravar o som.
A versão free só grava por 5 minutos, a pro não tem esse limite.
#4 Comentário enviado por wandersontassio em 13/10/2014 - 10:00h
root@VM:/home/tassio/Downloads# adb devices
List of devices attached
410349150ced2113 device
root@VM:/home/tassio/Downloads# adb -s 410349150ced2113 shell pwd
/
root@VM:/home/tassio/Downloads# adb shell screenrecord /sdcard/teste.mp4
/system/bin/sh: screenrecord: not found


Por que o comando não foi encontrado?
#5 Comentário enviado por fabio em 13/10/2014 - 13:30h

[4] Comentário enviado por wandersontassio em 13/10/2014 - 10:00h:

root@VM:/home/tassio/Downloads# adb devices
List of devices attached
410349150ced2113 device
root@VM:/home/tassio/Downloads# adb -s 410349150ced2113 shell pwd
/
root@VM:/home/tassio/Downloads# adb shell screenrecord /sdcard/teste.mp4
/system/bin/sh: screenrecord: not found


Por que o comando não foi encontrado?
Desculpe se não citei no artigo, mas o screenrecord foi introduzido a partir do Android 4.4 (Kitkat). Provavelmente seu Android é de versão mais antiga.
#6 Comentário enviado por leo4we em 01/11/2014 - 08:38h
Olá, tive o seguinte problema ao tentar gravar...

--

~# adb shell screenrecord /sdcard/gravartela.mp4
WARNING: linker: libnexplayersdk.so has text relocations. This is wasting memory and is a security risk. Please fix.
ERROR: unable to configure codec (err=-2147483648)
WARNING: failed at 1200x1920, retrying at 720x1280

--


LG G Pad com Android 4.4.2, saberia me dizer o que pode ser?
#7 Comentário enviado por leo4we em 01/11/2014 - 08:55h
UPDATE:

Adicionei o --verbose pra ver o log e estava gravando sim. Eu que não havia encontrado o arquivo, erro meu.

--

~$ adb shell screenrecord --verbose /sdcard/gravartela.mp4
WARNING: linker: libnexplayersdk.so has text relocations. This is wasting memory and is a security risk. Please fix.
Main display is 1200x1920 @60.00fps (orientation=0)
Configuring recorder for 1200x1920 video at 4.00Mbps
ERROR: unable to configure codec (err=-2147483648)
WARNING: failed at 1200x1920, retrying at 720x1280
Configuring recorder for 720x1280 video at 4.00Mbps
Content area is 720x1152 at offset x=0 y=64

--
#8 Comentário enviado por cizordj em 10/03/2019 - 18:55h
Isso só prova que o Android já vem com alguns binários interessantes (como esse de gravar a tela) mas que de alguma forma os apps de terceiros só conseguem fazer com acesso ROOT. Assim como algumas ROMs possuem os binários zip e unzip, mas o usuário comum tem que recorrer a um APP da playstore se quiser descompactar alguma coisa....


<---------------------------------------------------------------->
O seu tempo é o único bem que você não recupera

Contribuir com comentário

Entre na sua conta para comentar.