Scrcpy, controla tu dispositivo Android desde el escritorio de Ubuntu

about instalación scrcpy

En el siguiente artículo vamos a echar un vistazo a scrcpy. Se trata de una aplicación gratuita y de código abierto que nos va a permitir ver y controlar dispositivos Android conectados mediante USB o de forma inalámbrica, pero con un rendimiento más bajo. La comunicación entre el servidor y el cliente se realiza a través de adb. El servidor transmite el vídeo H.264 de la pantalla de Android al cliente para decodificarlo y mostrarlo, sin almacenamiento en búfer para minimizar la latencia. Los eventos del ratón y el teclado se capturan y transmiten al servidor.

Scrcpy intenta ser ligero, ofreciendo rendimiento y calidad. Ofrece 30 ~ 60 FPS con una resolución que podemos configurar. Para que funcione la versión de Android tendrá que ser 5.0 como mínimo y la depuración de adb debe estar habilitada en el dispositivo Android. No requiere acceso de root.

Características generales de scrcpy

  • Podremos controlar dispositivos Android desde el escritorio, con un ratón y un teclado.
  • Se puede trabajar a través de USB o WiFi, aun que desde Wifi disminuye el rendimiento.
  • Permite grabar la pantalla de Android.
  • Es posible limitar el ancho y el alto de la resolución de Android.
  • Se puede controlar el teléfono utilizando las teclas del ordenador.
  • Permite cambiar la velocidad de bits del vídeo.
  • La aplicación se puede iniciar directamente a pantalla completa (Ctrl+f).
  • Para presentaciones, la aplicación puede mostrar los toques físicos en el dispositivo Android.
  • Vamos a poder instalar APK arrastrándolos y soltándolos en la ventana de scrcpy, o insertar en el dispositivo arrastrando y soltando un archivo que no sea APK.
  • El reenvío de audio no funciona debido a una limitación de Android.

Estas son solo algunas de las características, se pueden ver todas más en detalle en la página de GitHub del proyecto.

Instalar scrcpy en Ubuntu

Aun que este programa se puede instalar tanto en Windows, MacOS o Gnu/Linux, para este ejemplo vamos a ver la instalación en Ubuntu 18.04. Las instrucciones de instalación oficiales se pueden consultar en su página de GitHub.

Para empezar vamos a instalar las dependencias necesarias para compilar y ejecutar la aplicación en Debian, Ubuntu y Linux Mint. Abrimos una terminal (Ctrl+Alt+T) y escribimos:

dependencias para instalar scrcpy

sudo apt install adb ffmpeg libsdl2-2.0.0 make gcc pkg-config meson ninja-build libavcodec-dev libavformat-dev libavutil-dev libsdl2-dev

A diferencia de las instrucciones de compilación oficiales, OpenJDK no se incluye porque vamos a utilizar el .jar de scrcpy-server precompilado, para facilitar las cosas.

Descargar e instalar el servidor .jar

página de descarga del servidor scrcpy .jar

Continuamos descargando el último scrcpy-server-v*.jar desde la página de versiones de la aplicación. Para este ejemplo el archivo descargado lo voy a guardar en mi carpeta home.

mover servicor scrcpy carpeta local share

Seguimos creando la carpeta /usr/local/share/scrcpy para copiar a ella el archivo scrcpy-server-v*.jar desde la carpeta home:

sudo mkdir -p /usr/local/share/scrcpy

sudo mv scrcpy-server-v*.jar /usr/local/share/scrcpy/scrcpy-server.jar

Descargar la última versión de la aplicación

descarga scrcpy archivo .tar.gz

Para este ejemplo voy a descargar el archivo .tar.gz que se puede encontrar en la página de lanzamientos de la aplicación. Después lo voy a extraer en el directorio home, en una carpeta llamada scrcpy. Elimina el número de versión del nombre de la carpeta de scrcpy, para mayor comodidad.

Compilar e instalar

instalar scrcpy

Partiendo de la carpeta home, primero vamos a establecer la ruta del servidor con la variable server_path a la ruta donde copiamos el scrcpy-server.jar:

server_path='/usr/local/share/scrcpy/scrcpy-server.jar'

Para compilar scrcpy nos vamos a dirigir a la carpeta scrcpy:

cd scrcpy

Ahora compilaremos e instalaremos la aplicación:

meson build --buildtype release --strip -Db_lto=true -Dbuild_server=false -Doverride_server_path="${server_path}"

cd build

ninja

sudo ninja install

Tras esto si quieres, ya puedes eliminar la carpeta scrcpy del directorio home.

Controlar o grabar tu dispositivo Android

Para que funcione de manera correcta necesitaremos un dispositivo móvil con Android 5.0 como mínimo. Además, tendremos que tener habilitada la depuración de adb en el dispositivo Android. En algunos dispositivos, es posible que también se deba habilitar la opción de ‘Depuración USB’.

Iniciar scrcpy

Para utilizar scrcpy, conecta primero tu dispositivo Android a través de USB. Después ejecuta la aplicación en una terminal (Ctrl+Alt+T):

scrcpy funcionando con el teléfono

scrcpy

Cuando ejecutes scrcpy por primera vez, asegúrate de que la pantalla del teléfono esté desbloqueada para autorizar la aplicación con el aviso que aparecerá en el teléfono.

Grabar la pantalla de Android

Se puede grabar la pantalla de Android fácilmente mientras utilizas el teléfono desde el escritorio ejecutando la aplicación con la opción –record. Tras ella hay que indicar un nombre para el archivo y una extensión (mkv o mp4) como se puede ver a continuación:

Grabación de teléfono con scrcpy

scrcpy --record file.mp4

Desinstalar scrcpy

Si has instalado la aplicación siguiendo las instrucciones de este artículo, la podrás eliminar ejecutando estos dos comandos:

sudo rm /usr/local/share/scrcpy/scrcpy-server.jar
sudo rm /usr/local/bin/scrcpy

Para saber cómo controlar el dispositivo Android de forma inalámbrica o más en detalle desde el escritorio, se pueden seguir las instrucciones de la página en GitHub del proyecto.

5 comentarios, deja el tuyo

  1.   DigitOptic Servicios Tecnológicos dijo

    Excelente Aporte !!!

  2.   rafael dijo

    gracias por el tutorial pero al terminar la instalación y ejecutar scrcpy no sucede nada, no se ejecuta. que podria ser, saludos

    1.    Damián Amoedo dijo

      ¿Tienes habilitada la depuración de adb en el dispositivo Android?

  3.   Teseracto dijo

    A mi me aparece ésto y no puedo ejecutar ninja

    app/meson.build:28:4: ERROR: Native dependency ‘libavformat’ not found

    A full log can be found at /home/teseracto/scrcpy/build/meson-logs/meson-log.txt

    1.    Damián Amoedo dijo

      Lo primero, ten cuidado al copiar lo comandos del artículo (por las comillas dobles y esas cosas) o
      prueba sudo apt-get install libavformat-dev y vuelve a ejecutarlo. Si no busca en la documentación del programa.

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.