Record Android Screen with System Audio Using ADB (No Root)

11 min read Learn a reliable, no‑root method to capture Android screen video together with system audio using ADB commands. Step‑by‑step guide with troubleshooting. October 11, 2026 04:30 How to Record Android Screen with Internal Audio Using ADB (No Root)

Capturing a video of what’s happening on your Android device is easy with the built‑in screenrecord tool, but most users quickly discover that the output contains only microphone audio. When you need the device’s own sound – game effects, video playback, or a live‑stream – the default approach falls short. This tutorial shows you how to record both the screen and the internal audio without rooting, using only ADB (Android Debug Bridge).

Why internal‑audio capture is tricky

Android isolates app audio from other processes for privacy and DRM reasons. Until Android 10 the screenrecord command could not access the device’s output stream, so the only option was external microphones. Starting with Android 10 Google added an --audio flag, but the feature is still optional for OEMs and may be disabled on some devices. The tutorial below works on any device that officially supports the flag, which includes most stock Android builds from 10 onward.

Before you start

  • PC with ADB installed – Windows, macOS, or Linux. If you don’t have it, download the Platform‑Tools package from the Android developer site and extract it.
  • Android 10 (API 29) or newer. You can check the version in Settings ▶ About phone ▶ Android version.
  • USB debugging enabled. Go to Settings ▶ About phone, tap Build number seven times, then open Settings ▶ System ▶ Developer options and toggle USB debugging on.
  • Enough free storage on the device – a 1080p 5‑minute recording at 8 Mbps needs roughly 300 MB.
  • Charging cable or a fully charged battery – recording can drain power quickly.
Tip: If you prefer a wireless connection, you can enable ADB over Wi‑Fi after the initial USB setup (see the “Wireless ADB” box at the end).

Step 1 – Verify ADB works

  1. Open a command prompt (Windows) or terminal (macOS/Linux) and navigate to the folder containing adb.
  2. Run adb version. You should see something like Android Debug Bridge version 1.0.41. If not, ensure the Platform‑Tools folder is in your PATH.
  3. Connect your phone via USB and run adb devices. The device’s serial number should appear under the List of devices attached heading with the word device next to it.
Warning: If the device shows as unauthorized, unlock the phone and accept the RSA fingerprint prompt.

Step 2 – Confirm the --audio flag is supported

Not every Android build enables internal‑audio capture. To test, run the following command (replace test.mp4 with any filename you like):

adb shell screenrecord --help | grep "--audio"

If the output includes --audio, the flag is available. If nothing is returned, your device does not support it and you’ll need to fall back to a microphone or use a third‑party app that employs the MediaProjection API (outside the scope of this guide).

Step 3 – Choose recording parameters

Screen resolution, bitrate, and duration affect file size and quality. Below is a balanced set of defaults for most modern phones:

  • Resolution: --size 1080x1920 (adjust to your device’s native size or a lower value to save space).
  • Bitrate: --bit-rate 8M (8 Mbps gives clear video without excessive size).
  • Time limit: --time-limit 180 (the built‑in screenrecord caps at 180 seconds per session).
  • Audio: --audio to capture internal sound.

If you need longer recordings, you’ll have to start a new session after each 3‑minute block or use a wrapper script (see “Extended recordings” later).

Step 4 – Start the recording

  1. Run the full command, adjusting the file path if you prefer a different folder:
    adb shell screenrecord --size 1080x1920 --bit-rate 8M --time-limit 180 --audio /sdcard/record.mp4
  2. Watch the device screen – a small red dot appears in the status bar indicating that recording is active.
  3. When you’re done, return to the terminal and press Ctrl+C. The command stops, and the file is finalized on the device.

After stopping, you should see a message like Video saved to: /sdcard/record.mp4 in the terminal.

Step 5 – Retrieve the video

  1. Pull the file to your computer:
    adb pull /sdcard/record.mp4 ./record.mp4
  2. Open the video with any media player (VLC, MPV, etc.) to verify that both video and internal audio are present.

Step 6 – Optional: Record longer sessions

The 180‑second limit is hard‑coded into screenrecord. A common workaround is to chain multiple recordings automatically. Here’s a simple Bash loop (Linux/macOS) that creates back‑to‑back 3‑minute files and names them sequentially:

#!/bin/bash
COUNT=1
while true; do
  FILENAME="/sdcard/record_${COUNT}.mp4"
  echo "Starting segment $COUNT..."
  adb shell screenrecord --size 1080x1920 --bit-rate 8M --time-limit 180 --audio $FILENAME &
  PID=$!
  wait $PID
  ((COUNT++))
  # Press Ctrl+C in the terminal to break the loop when finished.
done

After you stop the loop, pull all segments with a single command:

adb pull /sdcard/record_*.mp4 ./

You can then concatenate the files with ffmpeg if you need a single video.

Step 7 – Alternative: Using scrcpy for live preview and recording

If you prefer to see the screen on your PC while recording, scrcpy supports both video capture and internal audio (as of version 2.0). Install scrcpy, then run:

scrcpy --record=record.mp4 --audio

The tool mirrors the device, records everything you see, and captures internal audio when the device permits it. This method also bypasses the 180‑second limit because scrcpy writes to a file continuously.

Troubleshooting

No audio in the output

  • Device doesn’t support the flag: Re‑run the --help check. If missing, you cannot capture internal audio with ADB on that device.
  • Audio capture permission blocked: Some OEMs require an explicit grant. Run:
    adb shell pm grant com.android.shell android.permission.CAPTURE_AUDIO_OUTPUT
    Then restart the recording.
  • DRM‑protected content: Apps that use protected codecs (e.g., Netflix, YouTube) intentionally block internal capture. You will hear silence even if the flag works.

Recording stops early or crashes

  • Make sure the device has at least 200 MB of free space.
  • Lower the bitrate (--bit-rate 4M) if the device runs out of encoder buffers.
  • Check the USB cable – a flaky connection can interrupt the ADB stream.

File not found after pulling

  • Verify the exact path used in the command (e.g., /sdcard/record.mp4 vs. /sdcard/Movies/record.mp4).
  • Run adb shell ls /sdcard/ to list files and confirm the name.

Safety and legal notes

  • Recording internal audio may capture copyrighted material. Use the recordings only for personal reference or with permission.
  • Do not share recordings of protected content publicly; doing so can violate terms of service.
  • The CAPTURE_AUDIO_OUTPUT permission is powerful. Only grant it on devices you trust.

Wireless ADB (optional)

If you dislike the cable, you can switch to Wi‑Fi after the initial USB setup:

  1. Connect the phone via USB and ensure adb devices lists it.
  2. Run adb tcpip 5555 – this restarts the ADB daemon in TCP mode.
  3. Find the phone’s IP address (Settings ▶ About ▶ Status ▶ IP address).
  4. Disconnect the USB cable.
  5. Connect over Wi‑Fi: adb connect DEVICE_IP:5555. You should see connected to DEVICE_IP:5555.

From now on, all the commands in this guide work exactly the same, just over the network.

Wrap‑up

With the steps above you can capture high‑quality video of any Android screen activity together with the device’s own audio – all without rooting or installing extra apps. The method works on the majority of Android 10+ devices, and the optional scrcpy approach gives you a live preview and removes the 3‑minute ceiling. Keep the troubleshooting checklist handy, and you’ll be ready to produce clean recordings for tutorials, bug reports, or personal archiving.

User Comments (0)

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