1. 程式人生 > >Android截圖命令screencap與視訊錄製命令screenrecord

Android截圖命令screencap與視訊錄製命令screenrecord

檢視幫助命令

[email protected] ~$ adb shell screencap -v
screencap: invalid option -- v
usage: screencap [-hp] [-d display-id] [FILENAME]
   -h: this message
   -p: save the file as a png.
   -d: specify the display id to capture, default 0.
If FILENAME ends with .png it will be saved as a png.
If FILENAME is not given, the results will be printed to stdout.

注意:

如果檔名以.png結尾時,它將儲存為png檔案

如果檔名沒有給出,則結果被會被輸出到stdout

截圖儲存到SD卡里再匯出

$ adb shell screencap -p /sdcard/screen.png
$ adb pull /sdcard/screen.png
$ adb shell rm /sdcard/screen.png

這種方法比較麻煩,需要3步:1. 截圖儲存到sdcard 2.將圖片匯出 3.刪除sdcard中的圖片

截圖直接儲存到電腦

$ adb shell screencap -p | sed 's/\r$//' > screen.png

執行adb shell 將\n轉換\r\n, 因此需要用sed刪除多餘的\r

如果直接當命令用還可以用 alias 包裝裝起來:

$ alias and-screencap="adb shell screencap -p | sed 's/\r$//'"
$ and-screencap > screen.png 

以後就可以方便的用and-screencap > 直接將截圖儲存到電腦上了

轉:http://blog.csdn.net/wirelessqa/article/details/22725581

Android視訊錄製命令screenrecord

你要知道:

  • screenrecord是一個shell命令
  • 支援Android4.4(API level 19)以上
  • 支援視訊格式: mp4

一些限制

  • 某些裝置可能無法直接錄製,原因是解析度太高,如果遇到此類問題,請試著指定較低的解析度
  • 不支援錄製過程中螢幕旋轉,如果錄製過程中旋轉,有可能畫面被切斷
  • 錄製視訊的時候聲音不會被錄下來

開始錄製命令:

adb shell screenrecord /sdcard/demo.mp4

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

限制錄製時間:

引數: --time-limit

adb shell screenrecord  --time-limit 10 /sdcard/demo.mp4

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

指定視訊解析度大小:

引數: --size

adb shell screenrecord --size 1280*720 /sdcard/demo.mp4

說明:錄製視訊,解析度為1280*720,如果不指定預設使用手機的解析度,為獲得最佳效果,請使用裝置上的高階視訊編碼(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

說明:匯出視訊到當前目錄

www.wirelessqa.me

相關推薦

Android命令screencap視訊錄製命令screenrecord

檢視幫助命令[email protected] ~$ adb shell screencap -v screencap: invalid option -- v usage: screencap [-hp] [-d display-id] [FILENAME] -h: this mes

android選擇器 圖片/視訊 單選or多選,以及視訊錄製。The is Android Image Selector。

PictureSelector 最近專案中用到多圖選擇上傳的需求,考慮到android機型眾多問題就自己花時間寫了一個,測試了大概60款機型,出現過一些問題也都一一修復了,基本上穩定了特分享出來,介面UI也是商用級的開發者不用在做太多修改了,介面高度自定義,可

Android視訊錄製命令screenrecord(一)

0、命令格式 1、基本 screenrecord是一個shell命令 支援Android4.4(API level 19)以上 支援視訊格式: mp4 2、不足 某些裝置可能無法直

android後臺獲取當前螢幕screencap.cpp修改)

    本文基於android6.0。首先找到screencap在Android原始碼中的位置,若不清楚,可以通過在android目錄下通過命令find . -namescreencap.cpp。本文直接給出路徑/android/frameworks/base/cmds/s

Android--桌面同時按住power音量--無聲音

問題描述: 【測試步驟】1、桌面同時按住power與音量-截圖 【測試結果】截圖無聲音 【預期結果】不應該無聲音 這是一個google common問題,問題原因如下: decode does not complete when first capture. solutio

Android視訊錄製命令screenrecord(二)

Android5.0的問世可謂誠意十足,拋開設計介面改動等審美元素,在功能上谷歌真正站在使用者的角度開發,包括此前提及的允許使用者刪除預裝應用功能。近日,安卓5.0另一個福利被挖出,系統內建視訊錄製功能,無需Root便可實現,錄製期間不用連線電腦。 其實,安卓

android

//截圖 private Bitmap generateSpringCard() { View view = getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCac

android程式碼實現方法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android

二、具體實現方式 1),第一種實現方式 /** * 對View進行量測,佈局後截圖 * * @param view * @return */ public Bitmap convertViewTo

Android方案

Android截圖 Android截圖的原理:獲取具體需要截圖的區域的Bitmap,然後繪製在畫布上,儲存為圖片後進行分享或者其它用途 在截圖功能中,有時需要擷取全屏的內容,有時需要擷取超過一屏的內容(比如:Listview,Scrollview,RecyclerVi

Android (Screenshot)程式碼流程小結

一、基本介紹          在Android 4.0 之前,Android手機上如果要使用截圖功能,只能通過Root手機,且使用第3方截圖軟體來實現截圖功能。          Android4.0中,系統自帶了截圖功能,使用方法是音量下(VOLUME_DOWN

使用python編寫android指令碼

         測試的過程中經常需要擷取螢幕,通常的做法是使用手機自帶的截圖功能,然後將截圖檔案複製出來,這種方法的優點是不需要連線資料線就可截圖,缺點則是生成的截圖檔案命名是隨機命名的,複製出來也比較麻煩。另一種方法是使用PC端的手機助手類軟體。 這裡使用python編

Python實現對Android

背景: 測試過程中,總是需要對Android裝置進行截圖,然後在截圖中標註問題描述; 手動方式: 1.使用adb scrrencap /sdcard/screen.png 命令對Android裝置進行截圖 2.然後再使用adb pull /sdcard/scrren.pn

android實現

import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Rect; import android.view.View; import java.io.Fi

Android 到桌面的最佳處理方案-無須ROOT-適用Android 8.0

最近在做測試中發現一些重複性動作費時費力還容易出錯,百度了一圈發現竟然沒有WIN的教程,全是MAC的,既然做自動化方向,能偷懶那就當然自動化一波 準備 安卓手機一部,別是2.2以下,我的方法都支援,不需要root 安裝驅動,老生常談,有Android開

Android機制淺析

的除錯工具DDMS提供截圖功能,很多同步軟體例如豌豆莢也都提供截圖功能,經分析Android截圖原理大致如下: DDMS是通過adb呼叫裝置端的adbd(ADBdaemon)提供的framebufferservice進行截圖(原始碼在system/core/adb/framebuffer_service

android功能實現

這篇文章實現了擷取當前Activity頁面,並把截圖圖片儲存在SD卡指定路徑下功能(親測可用)。 首先要確保manifest有操作SD卡許可權 <!-- 允許應用內建sd卡 --> <uses-permission android:name="

Android(fb0)

1.申請獲取root許可權,這一步很重要,不然會沒有作用 private void getPermession() { try { Process process = Ru

Android儲存png圖片的例項程式碼(去掉狀態列)

今天開發中遇到了android手機截圖的需求,以下是實現程式碼: 這是截圖工具類: public class ScreenShot { // 獲取指定Activity的截圖,儲存到png檔案

快速新增簡單的Android分享

         基於cocos2d-x開發(我的是V2.2.3),分享的方法有很多,例如用SharedSDK,或者直接用各個開發平臺的SDK,但對於android平臺,如果要求不是很高的話,有一種簡單的方式(Intent元件+jni)。        1.假如工程名是LC