1. 程式人生 > >Android利用ADB進行螢幕錄製

Android利用ADB進行螢幕錄製

前言

在寫部落格時,為了方便大家理解,我們經常需要把一些操作或動畫錄製成Gif,一般需要下載一個螢幕錄製App將手機螢幕錄製成視訊(可能需要Root許可權),然後匯出到電腦,再轉為Gif。今天就來教大家一鍵錄製手機螢幕並匯出到電腦。

功能與限制

不需要Root許可權
支援Android4.4(API level 19)以上
支援視訊格式:MP4
某些裝置可能無法直接錄製,原因是解析度太高,如果遇到此類問題,請試著指定較低的解析度
不支援錄製過程中螢幕旋轉,如果錄製過程中旋轉,有可能畫面被切斷
錄製視訊的時候聲音不會被錄下來

如何使用

一般Android開發者都有Android SDK,ADB位於目錄\sdk\platform-tools\下,如果沒有請百度“Android ADB”下載。
CMD定位到ADB目錄。

  • 錄製視訊
adb shell screenrecord /sdcard/demo.mp4

說明:錄製手機螢幕,視訊格式為mp4,存放到手機sd卡里,預設錄製時間為180s。按Ctrl+C結束錄製。

  • 限制錄製時間
    引數: –time-limit
adb shell screenrecord  --time-limit 10 /sdcard/demo.mp4

說明:限制視訊錄製時間為10s,如果不限制,預設180s

  • 指定視訊解析度大小(測試無效)
    引數: –size
adb shell screenrecord --size 1280*720 /sdcard/demo.mp4

說明:錄製視訊,解析度為1280x720,如果不指定預設使用手機的解析度,為獲得最佳效果,請使用裝置上的高階視訊編碼(AVC)支援的大小

  • 指定視訊的位元率(未測試)
    引數:–bit-rate
adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4

說明:指定視訊的位元率為6Mbps,如果不指定,預設為4Mbps。 你可以增加位元率以提高視訊質量或為了讓檔案更小而降低位元率

  • 在命令列顯示log(未測試)
    引數: –verbose
[email protected] wirelessqa$ adb shell screenrecord --time-limit 10 --verbose /sdcard/demo.mp4
Main display is 1080x1920 @60.00fps (orientation=0) Configuring recorder for 1080x1920 video at 4.00Mbps Content area is 1080x1920 at offset x=0 y=0 Time limit reached Encoder stopping; recorded 96 frames in 10 seconds Stopping encoder and muxer Executing: /system/bin/am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/demo.mp4 Broadcasting: Intent { act=android.intent.action.MEDIA_SCANNER_SCAN_FILE dat=file:///sdcard/demo.mp4 } Broadcast completed: result=0
  • 旋轉90度(未測試)
    引數:–rotate
    說明:此功能為實驗性的,好不好用不知道

  • 檢視幫助命令
    引數:–help

[email protected] ~$ adb shell screenrecord --help
Usage: screenrecord [options] <filename>
Records the device's display to a .mp4 file.
Options:
--size WIDTHxHEIGHT
    Set the video size, e.g. "1280x720".  Default is the device's main
    display resolution (if supported), 1280x720 if not.  For best results,
    use a size supported by the AVC encoder.
--bit-rate RATE
    Set the video bit rate, in megabits per second.  Default 4Mbps.
--time-limit TIME
    Set the maximum recording time, in seconds.  Default / maximum is 180.
--rotate
    Rotate the output 90 degrees.
--verbose
    Display interesting information on stdout.
--help
    Show this message.
Recording continues until Ctrl-C is hit or the time limit is reached.
  • 匯出視訊
    adb pull /sdcard/demo.mp4
    說明:匯出視訊到當前目錄

寫在最後

匯出錄製的視訊後還需要最後一步,就是轉為Gif格式,在這裡向大家推薦一個Gif轉換工具LICEcap,可以錄製螢幕上能看到的任何畫面,自由度比較高。

相關推薦

Android利用ADB進行螢幕錄製

前言 在寫部落格時,為了方便大家理解,我們經常需要把一些操作或動畫錄製成Gif,一般需要下載一個螢幕錄製App將手機螢幕錄製成視訊(可能需要Root許可權),然後匯出到電腦,再轉為Gif。今天就來教大家一鍵錄製手機螢幕並匯出到電腦。 功能與限制 不需要

利用Android Studio自帶螢幕錄製功能,生成GIF圖片

一篇好的博文總是離不開有圖有真相,每次開啟一篇部落格,我們總是第一眼希望看到的不是demo原始碼,而是該demo執行的效果畫面。相信大家肯定和我一樣,總是想先看到結果之後再去深究其原始碼。本文將介紹如何使用Android studio自帶螢幕錄製功能生成一個APP執行時的G

Android利用Binder進行通訊

Android利用Binder進行通訊 Binder作為Android使用最廣泛的IPC通訊機制之一,其重要性不言而喻。Binder的實現思想與原理各路大神已經分析的十分透徹了,個人覺得最好以及最詳細的是老羅的Android之旅系列裡面關於Binder的講解: [ Andro

Android利用mediacodec進行視訊H264編碼解碼播放

H264是目前最常用的視訊壓縮格式之一,可以將視訊、圖片、音訊等轉換為字串流形式,以此可以進行再次編輯、傳輸等。詳情參考http://blog.csdn.net/lcalqf/article/det

Python 指令碼利用adb 進行手機控制

一.  adb 相關命令:   1. 關閉adb服務:adb kill-server  2. 啟動adb服務  adb start-server   3. 查詢當前執行的所有裝置  adb devices   4. 可能在adb中存在多個虛擬裝置執行 可以指定虛擬裝置執行  -s 虛擬裝置名稱    5. 重

Android利用Fiddler進行網路資料抓包

主要介紹Android及IPhone手機上如何利用Fiddler進行網路資料抓包,比如我們想抓某個應用(微博、微信、墨跡天氣)的網路通訊請求就可以利用這個方法。 Mac 下請使用 Charles 代替 Fiddler,Charles 免費啟用碼為Registered

使用android自帶的螢幕錄製功能

這一功能目前主要是面向開發者的,普通使用者拿著手機根本無從開啟,必須連線到電腦上,執行安卓開發者工具,然後通過命令列執行: adb shell screenrecord /sdcard/movie.mp4 這樣就可以在SD卡根目錄下得到一個名為“movie.mp4”的

Android 4.4 原生螢幕錄製使用詳解

一直以來,在 Android 系統上錄製螢幕都是件令人困擾的事情。雖然第三方錄屏工具多不勝數,但無一不要 Root 許可權,且相容性較差。 而在 Android 4.4 上,螢幕錄製終於被深度整合在系統中。無需 Root 許可權,簡單幾步就可以將

Android使用adb進行簡訊資料轉移的方法

作者:Yongquan筆者在某個應用測試中有發現特殊簡訊傳輸失敗的問題,該問題涉及在地簡訊運營商與開發者分處不同地區無法復現。故本文介紹了一種使用eng版本模擬現場的方法。首先,我們需要從測試樣機匯出簡訊資料庫,從程式碼中我們可以找到,簡訊的資料庫應該在/data/data/

在APP當中呼叫Android系統攝像頭進行視訊錄製

1、獲得攝像頭Feature和寫檔案的許可權 <uses-feature android:name="android.hardware.camera2" andr

Android 螢幕錄製命令adb screenrecord

錄製視訊到內部儲存: adb shell screenrecord --size 1920x480 /storage/sdcard0/demo.mp4最大支援的解析度:1920x1088 The ma

利用adbandroid手機進行遠端截圖/截圖

        今晚在家搗騰手機, 玩adb的時候, 利用adb對手機進行了截圖,  玩玩, 如下: C:\Documents and Settings\Administrator>adb connect 192.168.1.100 connected to 192

Android利用5.0系統螢幕錄製UI漏洞騙取應用錄製螢幕授權

一、漏洞分析今天我們來看一下Android中的螢幕錄製功能帶來的一個漏洞問題,在之前的一篇文章中介紹了關於Android5.0新增的Api來進行錄製螢幕視訊,不瞭解的同學,可以點選這裡。當時記得我們在使

Android學習筆記---使用adb進行root時提示devices offline

ces lin sdn adb blog 筆記 重復 root net 今天下午的時候莫名其妙的adb root就連接不上了,提示devices offline這個錯誤,重啟了幾次設備,還是不行 最後利用百度在 http://blog.csdn.net/BruceHurri

怎麼錄製網頁視訊,電腦怎麼進行螢幕錄影

  有時候我們瀏覽網頁的時候會發現一些比較不錯的視訊,但因為許可權的設定,我們並沒有辦法可以快取,這時許多人便會採用螢幕錄影的方式將其給錄製下來,那麼怎麼錄製網頁視訊,電腦怎麼進行螢幕錄影呢?其實很簡單,下面小編便來分享具有的錄製方法。   準備工作:電腦一臺、迅捷螢幕錄影工具   錄屏軟體htt

android與PC,C#與Java 利用protobuf 進行無障礙通訊【Socket】

轉自https://www.cnblogs.com/TerryBlog/archive/2011/04/23/2025654.html protobuf 是什麼?   Protocol buffers是一種編碼方法構造的一種有效而可擴充套件的格式的資料。 谷歌使用其內

Android Studio 2.2 中利用CAMKE進行OpenCV的NDK開發

我在http://www.cnblogs.com/fx-blog/p/8206737.html一文中提到了如何在Android Studio中Java層匯入OpenCV(包含opencv_contrib部分),但是這僅僅是Java層的匯入,隨著學習的深入,我們可以漸漸的發

Android利用Shareinstall進行多渠道一鍵自動打包!

目前國內的安卓渠道有幾百家,我們要根據不同的渠道打不同渠道的apk來統計每個渠道帶來的使用者數,統計每個渠道使用者的存活率和活躍度等等資訊,但是手動對每個渠道的APK進行簽名打包實在是讓人感到厭煩且低效,這時我們需要一個全自動化的打包工具----Shareins

利用MediaRecoder類進行音訊錄製,自己試試哦

媒體錄製類:android.media.MediaRecoder類,可以實現音訊和視訊檔案的錄製。生命週期: a.Initial狀態:當用戶通過MediaRecoder類的構造方法例項化MediaRecoder類物件時出於初始化狀態,即便此時沒有任何操作,MediaRecoder也會佔用系統資源

Android安全性:遮蔽activity螢幕錄製,截圖功能

在Android中涉及使用者隱私的Acitivity中(例如登入,支付等其他輸入敏感資訊的介面中)增加屬性: WindowManager.LayoutParams.FLAG_SECURE