Scrcpy
Cómo ejecutar aplicaciones Android (APK) directamente en Windows 11 mediante el subsistema WSA, instalación y solución de problemas comunes.
1 Scrcpy
1.1 ¿Qué es scrcpy?
scrcpy (screen copy) es una aplicación de código abierto que permite:
- Duplicar (mirror) la pantalla de dispositivos Android en tu computadora
- Controlar el dispositivo desde el teclado y mouse de la computadora
- Grabar video y audio del dispositivo
- Transmitir audio desde el dispositivo
Pronunciación: “screen copy”
1.2 Filosofía de Diseño
scrcpy se enfoca en:
- Ligereza: Aplicación nativa, solo muestra la pantalla del dispositivo
- Rendimiento: 30-120 fps dependiendo del dispositivo
- Calidad: Hasta 1920×1080 o superior
- Baja latencia: 35-70ms
- Inicio rápido: ~1 segundo para mostrar la primera imagen
- No intrusivo: No instala nada en el dispositivo Android
- Sin publicidad: Software libre y de código abierto
1.3 Ventajas sobre Otras Soluciones
| Característica | scrcpy | Vysor | AirDroid | TeamViewer |
|---|---|---|---|---|
| Gratuito | Sí | Limitado | Limitado | No |
| Código abierto | Sí | No | No | No |
| Baja latencia | Sí | No | No | No |
| Sin anuncios | Sí | No | No | Sí |
| Sin cuenta | Sí | No | No | No |
| Funciona sin internet | Sí | Sí | No | No |
| Grabación nativa | Sí | Premium | Premium | No |
2 Características Principales
2.1 Funcionalidades Disponibles
- Duplicación de pantalla (mirroring) en tiempo real
- Reenvío de audio (Android 11+)
- Grabación de video y audio
- Pantalla virtual (virtual display)
- Duplicación con pantalla apagada del dispositivo
- Copiar-pegar bidireccional (texto e imágenes)
- Calidad configurable de video
- Duplicación de cámara (Android 12+)
- Webcam virtual (V4L2 en Linux)
- Simulación de teclado y mouse físicos (HID)
- Soporte de gamepad
- Modo OTG (control sin depuración USB)
2.2 Casos de Uso Ideales
Para ti como economista e informático:
Presentaciones Académicas
- Mostrar aplicaciones de econometría móviles
- Demostrar visualizaciones de datos
- Presentar simulaciones interactivas
Tutoriales y Documentación
- Grabar tutoriales de aplicaciones
- Crear material educativo
- Documentar procesos de análisis
Desarrollo y Testing
- Probar aplicaciones econométricas
- Verificar visualizaciones en móvil
- Debug de aplicaciones web responsive
Colaboración Remota
- Compartir pantalla en reuniones
- Asistencia técnica remota
- Demostraciones en vivo
3 Requisitos Previos
3.1 En el Dispositivo Android
Requisitos mínimos:
- Android 5.0 (API 21) o superior
- Para audio: Android 11 (API 30) o superior
Configuración necesaria:
Habilitar Depuración USB
Ir a:
Ajustes→Acerca del teléfono→ Tocar 7 veces enNúmero de compilaciónLuego:
Ajustes→Opciones de desarrollador→ ActivarDepuración USBDispositivos Xiaomi (adicional)
Algunos dispositivos Xiaomi requieren:
Depuración USB (Configuración de seguridad)activado- Reiniciar el dispositivo después de activarlo
Verificar que funciona:
# Conectar dispositivo por USB
# Verificar que aparece
adb devices3.2 En Arch Linux
Paquetes necesarios:
# Verificar que tienes instalado
pacman -Q ffmpeg sdl2 adb libusbSi falta algo:
sudo pacman -S ffmpeg sdl2 android-tools libusb4 Instalación en Arch Linux
4.1 Método 1: Instalación desde Repositorios Oficiales (Recomendado)
# scrcpy está en los repositorios oficiales de Arch
sudo pacman -S scrcpyVerificar instalación:
scrcpy --version
# Debe mostrar: scrcpy 3.3.4 o superior4.2 Método 2: Instalación desde AUR (Versión de Desarrollo)
# Si quieres la versión más reciente (desarrollo)
yay -S scrcpy-git
# O con paru
paru -S scrcpy-git4.3 Método 3: Compilación desde Código Fuente
Solo si necesitas modificar el código o tienes requisitos específicos.
# 1. Instalar dependencias de compilación
sudo pacman -S base-devel meson ninja pkg-config \
ffmpeg libusb sdl2 \
jdk17-openjdk
# 2. Clonar repositorio
git clone https://github.com/Genymobile/scrcpy.git
cd scrcpy
# 3. Compilar
meson setup x --buildtype=release --strip -Db_lto=true
ninja -Cx
# 4. Instalar
sudo ninja -Cx install
# 5. Verificar
scrcpy --version5 Configuración Inicial
5.1 1. Configurar ADB
ADB (Android Debug Bridge) es necesario para scrcpy.
# Verificar que adb funciona
adb --version
# Iniciar servidor adb
adb start-server
# Listar dispositivos conectados
adb devices
# Debe mostrar algo como:
# List of devices attached
# 0123456789ABCDEF device5.2 2. Configurar Permisos de Usuario
En Arch Linux, tu usuario debe estar en el grupo adbusers:
# Verificar si estás en el grupo
groups | grep adbusers
# Si no estás, agregarte
sudo usermod -aG adbusers $USER
# Cerrar sesión y volver a iniciar
# O ejecutar:
newgrp adbusers5.3 3. Configurar Reglas udev
Para que adb detecte dispositivos sin sudo:
# Crear archivo de reglas
sudo nano /etc/udev/rules.d/51-android.rulesAgregar (ejemplo para varios fabricantes):
# Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="adbusers"
# Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="adbusers"
# Xiaomi
SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", GROUP="adbusers"
# Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="adbusers"
# OnePlus
SUBSYSTEM=="usb", ATTR{idVendor}=="2a70", MODE="0666", GROUP="adbusers"
Recargar reglas:
sudo udevadm control --reload-rules
sudo udevadm trigger5.4 4. Primera Conexión
# Conectar dispositivo por USB
# En el dispositivo, autorizar la computadora (popup que aparece)
# Verificar conexión
adb devices
# Iniciar scrcpy
scrcpyDebe aparecer la pantalla del dispositivo en una ventana.
6 Uso Básico
6.1 Comando Básico
# Duplicar pantalla del dispositivo
scrcpyEso es todo. scrcpy automáticamente:
- Detecta el dispositivo conectado
- Instala el servidor temporal en el dispositivo
- Inicia la duplicación de pantalla
- Habilita el control con teclado y mouse
6.2 Opciones Más Comunes
# Limitar resolución (mejor rendimiento)
scrcpy -m1920 # máximo 1920px de ancho
scrcpy -m1024 # máximo 1024px (más fluido)
# Solo video, sin audio
scrcpy --no-audio
# Solo audio, sin video
scrcpy --no-video --no-control
# Ventana siempre visible
scrcpy --always-on-top
# Pantalla completa
scrcpy -f
# Mantener dispositivo despierto (conectado a corriente)
scrcpy -w
# Apagar pantalla del dispositivo (ahorra batería)
scrcpy -S6.3 Ejemplos de Uso Rápido
# Presentación fluida (baja resolución, alta velocidad)
scrcpy -m1024 --max-fps=60 --no-audio
# Grabación de alta calidad
scrcpy --video-codec=h265 -m1920 --max-fps=60 -r tutorial.mp4
# Solo audio (como dictáfono)
scrcpy --audio-source=mic --no-video --no-control -r grabacion.opus
# Control sin duplicación (ahorra recursos)
scrcpy --no-video --no-audio7 Conexión del Dispositivo
7.1 Selección de Dispositivo
Si solo hay un dispositivo conectado:
scrcpy # Se conecta automáticamenteSi hay múltiples dispositivos:
# Listar dispositivos
adb devices
# Conectar por serial
scrcpy --serial=0123456789ABCDEF
scrcpy -s 0123456789ABCDEF # versión corta
# Conectar al único dispositivo USB
scrcpy --select-usb
scrcpy -d # versión corta
# Conectar al único dispositivo TCP/IP
scrcpy --select-tcpip
scrcpy -e # versión corta7.2 Conexión TCP/IP (Inalámbrica)
7.2.1 Método 1: Automático
Desde USB a WiFi automáticamente:
# Conectar dispositivo por USB primero
scrcpy --tcpip
# scrcpy detecta la IP, habilita TCP/IP, y se conecta
# Ahora puedes desconectar el cable USBSi ya sabes la IP del dispositivo:
scrcpy --tcpip=192.168.1.100 # puerto por defecto 5555
scrcpy --tcpip=192.168.1.100:5555 # especificar puerto7.2.2 Método 2: Manual
# 1. Conectar dispositivo por USB
# 2. Habilitar TCP/IP en el dispositivo
adb tcpip 5555
# 3. Obtener IP del dispositivo
adb shell ip route | awk '{print $9}'
# O desde el dispositivo: Ajustes → Acerca del teléfono → Estado
# 4. Desconectar USB
# 5. Conectar por WiFi
adb connect 192.168.1.100:5555
# 6. Usar scrcpy normalmente
scrcpy
# 7. Desconectar cuando termines
adb disconnectNota: Desde Android 11 hay una opción de depuración inalámbrica en Opciones de Desarrollador.
7.3 Variable de Entorno
# En Fish
set -gx ANDROID_SERIAL 0123456789ABCDEF
scrcpy
# En Bash/Zsh
export ANDROID_SERIAL=0123456789ABCDEF
scrcpy8 Control de Video
8.1 Resolución y Calidad
8.1.1 Limitar Resolución
# Limitar ancho/alto máximo
scrcpy --max-size=1920
scrcpy -m1920 # versión corta
# Ejemplos por caso de uso:
scrcpy -m1024 # Presentaciones fluidas
scrcpy -m1920 # Balance calidad/rendimiento
scrcpy -m2560 # Alta calidad (si el dispositivo lo soporta)Regla: La otra dimensión se calcula automáticamente manteniendo la relación de aspecto.
8.1.2 Tasa de Bits
# Cambiar bitrate de video (por defecto 8 Mbps)
scrcpy --video-bit-rate=2M
scrcpy -b 2M # versión corta
# Ejemplos:
scrcpy -b 2M # Menor calidad, más fluido
scrcpy -b 4M # Balance
scrcpy -b 8M # Por defecto
scrcpy -b 12M # Alta calidad8.1.3 Tasa de Fotogramas
# Limitar FPS
scrcpy --max-fps=30 # Ahorra batería
scrcpy --max-fps=60 # Fluido
scrcpy --max-fps=120 # Muy fluido (si dispositivo lo soporta)
# Mostrar FPS en consola
scrcpy --print-fps
# Mostrar/ocultar FPS en tiempo real
# Presionar MOD+i (Alt+i o Super+i)8.2 Códec de Video
# Seleccionar códec
scrcpy --video-codec=h264 # Por defecto, menor latencia
scrcpy --video-codec=h265 # Mejor calidad
scrcpy --video-codec=av1 # Muy nueva, pocos dispositivos
# Listar codificadores disponibles
scrcpy --list-encodersRecomendaciones:
- H.264: Mejor latencia, compatible con todos los dispositivos
- H.265: Mejor calidad, mayor compresión
- AV1: Mejor compresión, pero pocos dispositivos lo soportan
8.3 Orientación de Pantalla
# Orientación de captura (en el dispositivo)
scrcpy --capture-orientation=0 # Sin rotación
scrcpy --capture-orientation=90 # 90° horario
scrcpy --capture-orientation=180 # 180°
scrcpy --capture-orientation=270 # 270° horario
# Bloquear orientación (no rota aunque gires el dispositivo)
scrcpy --capture-orientation=@90 # Bloqueada a 90°
# Orientación de visualización (en la computadora)
scrcpy --orientation=90 # Rotar visualización 90°
# Rotar contenido por ángulo personalizado
scrcpy --angle=23 # Rotar 23° horario8.4 Recorte de Pantalla
# Recortar región específica
scrcpy --crop=1224:1440:0:0 # Ancho:Alto:OffsetX:OffsetY
# Ejemplo: recortar solo la mitad superior
scrcpy --crop=1080:960:0:0 # Para un dispositivo 1080x19208.5 Bufferización
# Agregar buffer para compensar fluctuaciones de red (WiFi)
scrcpy --video-buffer=50 # 50ms de buffer
scrcpy --video-buffer=200 # 200ms (más suave, más latencia)
# Sin buffer (por defecto, menor latencia)
scrcpy8.6 Sin Reproducción de Video
# Solo grabar, sin mostrar (útil para grabaciones largas)
scrcpy --no-playback --record=archivo.mp4
# O solo desactivar reproducción de video
scrcpy --no-video-playback --record=archivo.mp48.7 Pantalla Virtual
# Crear nueva pantalla virtual (no duplica la principal)
scrcpy --new-display=1920x1080
# Con DPI personalizado
scrcpy --new-display=1920x1080/420
# Iniciar app en pantalla virtual
scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc
# Sin decoraciones del sistema
scrcpy --new-display --no-vd-system-decorations --start-app=org.mozilla.firefox9 Control de Audio
9.1 Habilitar/Deshabilitar Audio
# Sin audio (por defecto está habilitado)
scrcpy --no-audio
# Solo audio, sin video
scrcpy --no-video --no-control
# Audio sin ventana
scrcpy --no-window # implica --no-video --no-control9.2 Fuente de Audio
# Salida de audio del dispositivo (por defecto)
scrcpy --audio-source=output
# Micrófono del dispositivo
scrcpy --audio-source=mic
# Otras fuentes:
scrcpy --audio-source=playback # Reproducción (apps pueden optar por no capturar)
scrcpy --audio-source=mic-unprocessed # Micrófono sin procesar
scrcpy --audio-source=mic-camcorder # Optimizado para video
scrcpy --audio-source=mic-voice-recognition
scrcpy --audio-source=mic-voice-communication
scrcpy --audio-source=voice-call
scrcpy --audio-source=voice-call-uplink
scrcpy --audio-source=voice-call-downlinkEjemplo: Dictáfono (grabar micrófono directamente):
scrcpy --audio-source=mic --no-video --no-playback --record=grabacion.opus9.3 Duplicación de Audio (Android 13+)
# Reproducir audio en dispositivo Y en la computadora
scrcpy --audio-dup
# Equivalente a:
scrcpy --audio-source=playback --audio-dup9.4 Códec de Audio
# Seleccionar códec
scrcpy --audio-codec=opus # Por defecto
scrcpy --audio-codec=aac
scrcpy --audio-codec=flac
scrcpy --audio-codec=raw # PCM 16-bit sin comprimir
# Ejemplo: grabar audio en FLAC de alta calidad
scrcpy --no-video --audio-codec=flac --record=audio.flac
# Opciones adicionales de códec
scrcpy --audio-codec=flac --audio-codec-options=flac-compression-level=89.5 Bitrate de Audio
# Cambiar bitrate (por defecto 128 Kbps)
scrcpy --audio-bit-rate=64K
scrcpy --audio-bit-rate=64000 # equivalente
scrcpy --audio-bit-rate=320K # Alta calidad9.6 Bufferización de Audio
# Ajustar buffer de audio (por defecto 50ms)
scrcpy --audio-buffer=40 # Menor latencia
scrcpy --audio-buffer=100 # Más estable
scrcpy --audio-buffer=200 # Muy estable, más latencia
# Buffer de salida de audio (por defecto 5ms)
# Solo cambiar si hay audio robótico/entrecortado
scrcpy --audio-output-buffer=1010 Grabación de Pantalla
10.1 Grabación Básica
# Grabar video y audio
scrcpy --record=archivo.mp4
scrcpy -r archivo.mkv # versión corta
# Solo video
scrcpy --no-audio --record=video.mp4
# Solo audio
scrcpy --no-video --record=audio.opus
scrcpy --no-video --audio-codec=aac --record=audio.aac
scrcpy --no-video --audio-codec=flac --record=audio.flac
scrcpy --no-video --audio-codec=raw --record=audio.wav10.2 Formatos Disponibles
| Formato | Extensiones | Uso |
|---|---|---|
| MP4 | .mp4, .m4a, .aac |
Video y audio, compatible universalmente |
| Matroska | .mkv, .mka |
Video y audio, mejor para edición |
| OPUS | .opus |
Solo audio, excelente compresión |
| FLAC | .flac |
Solo audio, sin pérdida |
| WAV | .wav |
Solo audio, sin comprimir |
Especificar formato explícitamente:
scrcpy --record=archivo --record-format=mkv10.3 Grabación Sin Reproducción
# Grabar sin mostrar en pantalla (ahorra recursos)
scrcpy --no-playback --record=archivo.mp4
# Sin ventana (modo background)
scrcpy --no-window --record=archivo.mp4
# Interrumpir con Ctrl+C
# Solo grabar video, seguir escuchando audio
scrcpy --no-video-playback --record=archivo.mp410.4 Límite de Tiempo
# Grabar por 20 segundos
scrcpy --record=archivo.mp4 --time-limit=20
# También funciona sin grabar
scrcpy --time-limit=30 # Duplicar por 30 segundos y cerrar10.5 Ejemplos de Grabación Profesional
10.5.1 Tutorial de App Móvil (Alta Calidad)
scrcpy --video-codec=h265 -m1920 --max-fps=60 \
--audio-codec=aac \
--record=tutorial-app.mp410.5.2 Presentación Académica (Balance)
scrcpy -m1920 --max-fps=30 \
--video-bit-rate=4M \
--audio-bit-rate=128K \
--record=presentacion.mkv10.5.3 Grabación de Podcast (Solo Audio)
scrcpy --audio-source=mic \
--audio-codec=opus \
--no-video \
--no-playback \
--record=podcast.opus10.5.4 Demo de Análisis Econométrico (Pantalla + Audio)
scrcpy --video-codec=h264 \
-m1920 \
--max-fps=60 \
--stay-awake \
--record=demo-econometria.mp411 Atajos de Teclado
MOD es el modificador de atajos. Por defecto: Alt (izquierda) o Super (Windows/Cmd).
Cambiar MOD:
# Usar Ctrl derecho
scrcpy --shortcut-mod=rctrl
# Usar múltiples modificadores
scrcpy --shortcut-mod=lctrl,lsuper11.1 Tabla de Atajos
| Acción | Atajo |
|---|---|
| Ventana | |
| Pantalla completa | MOD+f |
| Redimensionar 1:1 (pixel-perfect) | MOD+g |
| Quitar bordes negros | MOD+w o doble-clic |
| Siempre visible | Usar --always-on-top |
| Rotación/Transformación | |
| Rotar a la izquierda | MOD+← |
| Rotar a la derecha | MOD+→ |
| Voltear horizontalmente | MOD+Shift+← o MOD+Shift+→ |
| Voltear verticalmente | MOD+Shift+↑ o MOD+Shift+↓ |
| Rotar dispositivo | MOD+r |
| Pantalla del Dispositivo | |
| Apagar pantalla | MOD+o |
| Encender pantalla | MOD+Shift+o |
| Botones Android | |
| HOME | MOD+h o clic-medio |
| BACK | MOD+b o MOD+Backspace o clic-derecho |
| APP_SWITCH (recientes) | MOD+s o 4to botón mouse |
| MENU | MOD+m |
| Volumen | |
| Subir volumen | MOD+↑ |
| Bajar volumen | MOD+↓ |
| Encender/apagar | MOD+p |
| Paneles | |
| Notificaciones | MOD+n o 5to botón mouse |
| Configuración | MOD+n+n (doble) |
| Colapsar paneles | MOD+Shift+n |
| Copiar/Pegar | |
| Copiar | MOD+c |
| Cortar | MOD+x |
| Pegar | MOD+v |
| Pegar como eventos | MOD+Shift+v |
| Control | |
| Configuración teclado (HID) | MOD+k |
| Mostrar/ocultar FPS | MOD+i |
| Pausar duplicación | MOD+z |
| Reanudar | MOD+Shift+z |
| Gestos | |
| Pinch-to-zoom | Ctrl+clic+mover |
| Inclinación vertical | Shift+clic+mover |
| Inclinación horizontal | Ctrl+Shift+clic+mover |
| Archivos | |
| Instalar APK | Arrastrar archivo .apk |
| Enviar archivo | Arrastrar archivo (no-APK) |
12 Casos de Uso Profesionales
12.1 Caso 1: Presentación Académica con Diapositivas Móviles
Escenario: Presentar análisis econométrico desde app móvil en clase.
# Configuración óptima
scrcpy -m1920 \
--max-fps=60 \
--video-bit-rate=8M \
--no-audio \
--always-on-top \
--stay-awake \
-fExplicación:
-m1920: Resolución óptima para proyector--max-fps=60: Fluidez en animaciones--no-audio: Sin distracciones--always-on-top: Siempre visible--stay-awake: Dispositivo no se apaga-f: Pantalla completa
12.2 Caso 2: Grabar Tutorial de App Econométrica
Escenario: Grabar tutorial de uso de app de estadística.
# Grabación profesional
scrcpy --video-codec=h265 \
-m1920 \
--max-fps=60 \
--video-bit-rate=8M \
--audio-source=mic \
--audio-codec=aac \
--audio-bit-rate=192K \
--record=tutorial-app-estadistica.mp4 \
--stay-awake \
--show-touchesExplicación:
--video-codec=h265: Mejor calidad/compresión--audio-source=mic: Narración con tu voz--show-touches: Muestra dónde tocas--stay-awake: No se apaga durante grabación
12.3 Caso 3: Demostración en Vivo con Webcam
Escenario: Usar cámara del dispositivo como webcam para videollamada.
# Configurar como webcam (Linux)
scrcpy --video-source=camera \
--camera-size=1920x1080 \
--camera-facing=front \
--v4l2-sink=/dev/video2 \
--no-playbackLuego usar /dev/video2 en Zoom, Google Meet, etc.
12.4 Caso 4: Control Remoto para Demostraciones
Escenario: Controlar dispositivo de forma remota vía WiFi.
# 1. Conectar por USB una vez
scrcpy --tcpip
# 2. Desconectar cable
# 3. Ahora funciona inalámbrico
scrcpy -m1024 --max-fps=3012.5 Caso 5: Documentación de Aplicación con Capturas
Escenario: Documentar flujo de trabajo de app.
# Grabar sesión completa
scrcpy --video-codec=h265 \
-m1920 \
--max-fps=30 \
--record=documentacion-flujo.mkv \
--no-audio \
--show-touches
# Luego extraer frames con ffmpeg:
ffmpeg -i documentacion-flujo.mkv -vf fps=1/5 captura_%04d.png12.6 Caso 6: Podcast/Entrevista con Audio Móvil
Escenario: Grabar entrevista usando el teléfono como grabadora.
scrcpy --audio-source=mic \
--audio-codec=flac \
--audio-buffer=200 \
--no-video \
--no-window \
--record=entrevista-$(date +%Y%m%d).flac13 Troubleshooting
13.1 Problema 1: “No se detecta el dispositivo”
Síntomas:
adb devices
# List of devices attached
# (vacío)
Soluciones:
# 1. Verificar cable USB (usar cable de datos, no solo carga)
# 2. Verificar depuración USB en dispositivo
# Ajustes → Opciones de desarrollador → Depuración USB
# 3. Autorizar computadora en dispositivo (popup)
# 4. Reiniciar servidor adb
adb kill-server
adb start-server
adb devices
# 5. Verificar permisos
groups | grep adbusers
# Si no estás: sudo usermod -aG adbusers $USER
# 6. Verificar reglas udev
ls /etc/udev/rules.d/51-android.rules
# Si no existe, crearla (ver sección Configuración Inicial)
# 7. Probar con sudo (temporal, para descartar permisos)
sudo adb devices13.2 Problema 2: “Error: could not install server”
Causa: No hay espacio en /data/local/tmp o permisos incorrectos.
Soluciones:
# 1. Limpiar archivos temporales en dispositivo
adb shell rm -rf /data/local/tmp/scrcpy-server*
# 2. Verificar espacio
adb shell df -h /data
# 3. Si falta espacio, limpiar caché
# En dispositivo: Ajustes → Almacenamiento → Limpiar caché
# 4. Intentar de nuevo
scrcpy13.3 Problema 3: “Pantalla negra pero audio funciona”
Causas posibles:
- Códec de video no soportado
- Resolución muy alta
- Problema de decodificación
Soluciones:
# 1. Reducir resolución
scrcpy -m1024
# 2. Cambiar códec
scrcpy --video-codec=h264 # Más compatible
# 3. Listar codificadores disponibles
scrcpy --list-encoders
# 4. Probar con otro codificador
scrcpy --video-codec=h264 --video-encoder=OMX.qcom.video.encoder.avc
# 5. Verificar FFmpeg
ffmpeg -version13.4 Problema 4: “Audio entrecortado o robótico”
Soluciones:
# 1. Aumentar buffer de audio
scrcpy --audio-buffer=200
# 2. Aumentar buffer de salida
scrcpy --audio-output-buffer=10
# 3. Cambiar códec
scrcpy --audio-codec=aac # En lugar de opus
# 4. Reducir calidad de video (libera CPU)
scrcpy -m1024 --max-fps=30
# 5. Conexión por cable (en lugar de WiFi)13.5 Problema 5: “Latencia alta en WiFi”
Soluciones:
# 1. Usar cable USB
# WiFi siempre tendrá más latencia que USB
# 2. Reducir calidad
scrcpy -m1024 --max-fps=30 --video-bit-rate=2M
# 3. Agregar buffer
scrcpy --video-buffer=100 --audio-buffer=200
# 4. Verificar red WiFi (2.4 GHz vs 5 GHz)
# 5 GHz tiene menor latencia pero menor alcance
# 5. Reducir interferencias (cerrar otras apps de red)13.6 Problema 6: “No se puede copiar/pegar”
Requisito: Android 7 o superior.
Soluciones:
# 1. Verificar versión de Android
adb shell getprop ro.build.version.release
# 2. Usar atajos correctos
# MOD+c (copiar), MOD+v (pegar)
# 3. Si no funciona, usar modo legacy
scrcpy --legacy-paste
# 4. Pegar como eventos de teclas
# MOD+Shift+v13.7 Problema 7: “Dispositivo Xiaomi no responde”
Solución específica Xiaomi:
# Habilitar opción adicional en Opciones de desarrollador:
# "Depuración USB (Configuración de seguridad)"
# Reiniciar dispositivo
# Verificar
adb devices
scrcpy13.8 Problema 8: “OTG no funciona en Windows”
Causa: Windows no permite abrir dispositivo USB si ya está abierto por otro proceso (adb).
Solución:
# Usar OTG requiere que adb NO esté corriendo
adb kill-server
# Luego usar OTG
scrcpy --otg
# Nota: En OTG no hay duplicación de pantalla14 Comandos de Referencia Rápida
14.1 Uso General
# Básico
scrcpy # Duplicar pantalla
scrcpy -m1024 # Limitar a 1024px
scrcpy -f # Pantalla completa
scrcpy -w # Mantener despierto
scrcpy -S # Apagar pantalla
# Selección de dispositivo
scrcpy -s 0123456789ABCDEF # Por serial
scrcpy -d # USB (único)
scrcpy -e # TCP/IP (único)
scrcpy --tcpip=192.168.1.100 # TCP/IP directo
# Calidad
scrcpy -m1920 --max-fps=60 -b 8M
scrcpy --video-codec=h265
scrcpy --audio-codec=aac14.2 Grabación
# Video y audio
scrcpy -r archivo.mp4
scrcpy --record=archivo.mkv
# Solo video
scrcpy --no-audio -r video.mp4
# Solo audio
scrcpy --no-video -r audio.opus
# Sin mostrar
scrcpy --no-playback -r grabacion.mp4
# Límite de tiempo
scrcpy -r archivo.mp4 --time-limit=6014.3 Audio
# Sin audio
scrcpy --no-audio
# Fuentes de audio
scrcpy --audio-source=mic # Micrófono
scrcpy --audio-source=output # Salida (default)
# Solo audio
scrcpy --no-video --no-control
# Duplicar audio (dispositivo + PC)
scrcpy --audio-dup14.4 Control
# Sin control
scrcpy -n
# Sin video ni audio
scrcpy --no-video --no-audio
# Mostrar toques
scrcpy --show-touches
scrcpy -t14.5 Teclado/Mouse
# Simulación física (HID)
scrcpy -K # Teclado UHID
scrcpy -M # Mouse UHID
scrcpy -KM # Ambos
# Modo OTG (sin adb)
scrcpy --otg
scrcpy --otg -G # Con gamepad14.6 Pantalla Virtual
# Crear display virtual
scrcpy --new-display=1920x1080
# Con app
scrcpy --new-display --start-app=org.videolan.vlc
# Sin decoraciones
scrcpy --new-display --no-vd-system-decorations14.7 Cámara
# Duplicar cámara
scrcpy --video-source=camera
# Seleccionar cámara
scrcpy --video-source=camera --camera-facing=front
scrcpy --video-source=camera --camera-id=0
# Webcam (Linux)
scrcpy --video-source=camera \
--camera-size=1920x1080 \
--v4l2-sink=/dev/video2 \
--no-playback14.8 Combinaciones Útiles
# Presentación fluida
scrcpy -m1024 --max-fps=60 --no-audio -f -w
# Grabación profesional
scrcpy --video-codec=h265 -m1920 --max-fps=60 \
--audio-codec=aac -r tutorial.mp4
# Control inalámbrico ligero
scrcpy --tcpip -m1024 --max-fps=30
# Demo con toques visibles
scrcpy -m1920 --show-touches --stay-awake
# Solo grabar micrófono
scrcpy --audio-source=mic --no-video \
--no-playback -r grabacion.opus15 Configuración Permanente
15.1 Alias en Fish
Agregar a ~/.config/fish/config.fish:
# =============================================================================
# ALIAS DE SCRCPY
# =============================================================================
# Uso básico
alias scr="scrcpy"
alias scrf="scrcpy -f"
alias scrw="scrcpy -w"
# Presentaciones
alias scr-present="scrcpy -m1920 --max-fps=60 --no-audio -f -w"
alias scr-demo="scrcpy -m1920 --show-touches --stay-awake -f"
# Grabación
alias scr-rec="scrcpy --video-codec=h265 -m1920 --max-fps=60 --record"
alias scr-rec-audio="scrcpy --audio-source=mic --no-video --no-playback --record"
# WiFi
alias scr-wifi="scrcpy --tcpip"
# Control
alias scr-control="scrcpy --no-video --no-audio -KM"Recargar:
source ~/.config/fish/config.fish15.2 Script de Conexión Automática
Crear ~/bin/scrcpy-auto:
#!/bin/bash
# Script para conectar scrcpy automáticamente
# Verificar dispositivos
DEVICES=$(adb devices | grep -w device | wc -l)
if [ "$DEVICES" -eq 0 ]; then
echo "No hay dispositivos conectados."
echo "Conecta un dispositivo por USB o configura WiFi."
exit 1
elif [ "$DEVICES" -eq 1 ]; then
echo "Conectando al único dispositivo..."
scrcpy -m1920 --max-fps=60 "$@"
else
echo "Múltiples dispositivos detectados:"
adb devices
echo ""
echo "Usa: scrcpy -s SERIAL"
fiHacer ejecutable:
chmod +x ~/bin/scrcpy-autoUsar:
scrcpy-auto
scrcpy-auto --record=video.mp416 Recursos Adicionales
16.1 Documentación Oficial
- GitHub: https://github.com/Genymobile/scrcpy
- Documentación: https://github.com/Genymobile/scrcpy/tree/master/doc
- FAQ: https://github.com/Genymobile/scrcpy/blob/master/FAQ.md
16.2 Comunidad
- Reddit: r/scrcpy
- Issues: https://github.com/Genymobile/scrcpy/issues
16.3 Herramientas Complementarias
Para editar grabaciones:
sudo pacman -S ffmpeg kdenlive obs-studioPara capturas de pantalla adicionales:
sudo pacman -S flameshotPara streaming:
sudo pacman -S obs-studio17 Resumen de Mejores Prácticas
17.1 Para Presentaciones
scrcpy -m1920 --max-fps=60 --no-audio --always-on-top --stay-awake -f17.2 Para Grabaciones
scrcpy --video-codec=h265 -m1920 --max-fps=60 \
--audio-codec=aac --show-touches \
--record=archivo.mp417.3 Para Control Remoto
# Primera vez (USB)
scrcpy --tcpip
# Siguientes veces (WiFi)
scrcpy -m1024 --max-fps=3017.4 Para Documentación
scrcpy -m1920 --show-touches --stay-awake --record=doc.mkvCómo citar
Achalma, E. (2021, 21 de octubre). Scrcpy. Chaska. https://chaska-x.netlify.app/blog/scrcpy/