Record Android Screen Video with ADB and FFmpeg (No Root)

9 min read Step‑by‑step guide to capture Android screen video using ADB’s built‑in recorder, tweak settings, and convert with FFmpeg for higher quality – all without rooting. September 29, 2026 21:00 How to Record High‑Quality Android Screen Video with ADB and FFmpeg (No Root)

Many Android users need a reliable way to capture on‑screen actions – whether it’s a bug demo, a tutorial, or a gameplay highlight. The built‑in screenrecord command, available through ADB, can record without any third‑party app or root access. However, the raw MP4 file is often limited in resolution, bitrate, or length. By pulling the file to a PC and running it through ffmpeg, you can raise the quality, trim unwanted sections, and convert to formats that are easier to edit.

Before you start

  • Charge both devices. Screen recording is CPU‑intensive; a low battery can cause stutters or abrupt stops.
  • Enable Developer Options. Go to Settings > About phone > Build number and tap it seven times.
  • Install ADB on your computer. The Android SDK Platform‑Tools package works on Windows, macOS, and Linux.
  • Install FFmpeg. Most package managers (e.g., brew install ffmpeg on macOS) provide a recent build.
  • Free up storage. The recorder writes a full‑resolution video to the device’s internal storage; ensure at least 500 MB of free space.

Step 1 – Verify ADB connection

  1. Connect your Android phone to the PC with a USB cable.
  2. On the phone, open Settings > System > Developer options and enable USB debugging.
  3. Open a terminal (or Command Prompt) on the PC and run:
    adb devices
    You should see your device’s serial number followed by device. If it shows unauthorized, tap the confirmation dialog on the phone.

Step 2 – Choose recording parameters

The screenrecord tool accepts several flags. The most useful are:

  • --size WIDTHxHEIGHT – forces a specific resolution (e.g., 1280x720). If omitted, the device uses its native screen size.
  • --bit-rate BITRATE – sets the video bitrate in bits per second (default ~4 Mbps). Higher values improve quality but increase file size.
  • --time-limit SECONDS – caps the recording length (max 180 seconds on Android 10 and earlier; newer versions allow longer).
  • --rotate – rotates the output if you record in landscape on a portrait‑only device.

Example command that records a 1080p video at 8 Mbps for up to 5 minutes:

adb shell screenrecord --size 1920x1080 --bit-rate 8000000 --time-limit 300 /sdcard/record.mp4

Step 3 – Start the recording

  1. Run the chosen screenrecord command from the PC terminal.
  2. Immediately switch to your phone and perform the actions you want to capture. The phone shows a small red dot in the status bar indicating an active recording.
  3. When you’re done, press Ctrl + C in the terminal. The command stops and saves the file to the path you specified (e.g., /sdcard/record.mp4).

After the command ends, you’ll see a summary like Recorded 0.0 seconds (0.0 MB). If the file size is zero, the recording likely failed – see the troubleshooting section.

Step 4 – Pull the video to your computer

adb pull /sdcard/record.mp4 ./record_raw.mp4

This copies the video to the current working directory. Verify the file exists:

ls -lh record_raw.mp4

If the file size is unexpectedly small, re‑run the recording with a lower resolution or longer time limit.

Step 5 – Optional: Enhance the video with FFmpeg

Android’s built‑in encoder is efficient but not always optimal for editing. FFmpeg can:

  • Re‑encode to a higher bitrate without losing the original frames.
  • Convert to webm or mov for compatibility with editing suites.
  • Trim the beginning or end without re‑encoding (fast cut).

Example: increase bitrate to 12 Mbps and output an mp4 that works well in most editors:

ffmpeg -i record_raw.mp4 -c:v libx264 -b:v 12M -preset veryslow -c:a copy record_high.mp4

Explanation:

  • -c:v libx264 selects the H.264 encoder.
  • -b:v 12M sets the target video bitrate.
  • -preset veryslow trades encoding time for better compression efficiency.
  • -c:a copy copies the audio stream unchanged (the original recording includes a mono audio track).

If you only need a short clip, trim without re‑encoding:

ffmpeg -ss 00:00:05 -to 00:00:20 -i record_raw.mp4 -c copy clip.mp4

This extracts the segment from 5 seconds to 20 seconds.

Step 6 – Verify the final file

Play the video on your computer or Android device to ensure the quality meets your expectations. If you notice pixelation, increase the --bit-rate value in step 2 and re‑record. Remember that higher bitrates consume more storage and may cause occasional frame drops on older hardware.

Troubleshooting

Device not listed by adb devices

  • Make sure USB debugging is enabled.
  • Try a different USB cable or port; some cables are charge‑only.
  • On Windows, install the appropriate OEM USB driver (e.g., Google USB Driver for Pixel).

Screenrecord command fails with “permission denied”

  • Restart the ADB daemon with adb kill-server && adb start-server.
  • Some manufacturers (e.g., Huawei) restrict screenrecord to system apps. In that case, use a third‑party app from the Play Store or a rooted method.

Recording stops after 180 seconds on Android 9

  • The OS caps screenrecord at 180 seconds on older releases. Split longer captures into multiple segments by running the command again.

File size is 0 KB after recording

  • Check that the device had enough free space at the start.
  • Make sure you didn’t accidentally press the power button, which can abort the session.
  • Try a lower resolution (e.g., --size 1280x720) to reduce CPU load.

Audio is missing or low volume

  • Older Android versions record a mono audio track at 16 kHz. Use a headset microphone for clearer sound, or overlay external audio later with FFmpeg.

Tips for smoother recordings

  • Enable Do not disturb on the phone to prevent notification pop‑ups from appearing in the video.
  • Close background apps via the recent‑apps screen or adb shell am kill-all to free CPU cycles.
  • If you need to capture the entire UI including system dialogs, consider using scrcpy (which streams the device screen to the PC) and record the PC window with a desktop screen‑capture tool.

When to use a third‑party app instead

The ADB method shines for quick, on‑the‑fly captures and for developers who already have a PC nearby. If you need features like live annotation, multi‑window recording, or unlimited duration on older Android releases, a dedicated screen‑recording app from the Play Store (e.g., AZ Screen Recorder) may be more convenient.

With these steps you can reliably capture high‑quality Android screen video, fine‑tune the output with FFmpeg, and avoid the pitfalls that often trip up first‑time users.

User Comments (0)

Add Comment
We'll never share your email with anyone else.