android 屏幕录制-screenrecord

Android视频录制命令screenrecord

1.screenrecord是一个shell命令

2.支持Android4.4(API level 19)以上

3.支持视频格式: mp4

adb录制使用

开始录制命令: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

bixiaopeng@bixiaopeng 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

bixiaopeng@bixiaopeng ~$ adb shell screenrecord --help

Usage: screenrecord [options]

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

端口报错:

netstat -ano |findstr "5037"

C:\Users\gaojs>adb shell

error: more than one device and emulator

C:\Users\gaojs>adb install e:\**.apk

error: more than one device and emulator

碰到这种情况,首先要查一下,是不是真的有多个设备或模拟器。

C:\Users\gaojs>adb devices

List of devices attached

emulator-5554   device

4dfadcb86b00cf05        device

发现还真是多个设备,那就需要为ADB命令指定设备的序列号了。

C:\Users\gaojs>adb -s emulator-5554 shell

也就是如上所示,给命令加上-s的参数就可以了!

如果实际上只有一个设备或模拟器,并且查到有offline的状态;

那就说明是ADB本身的BUG所导致的,就需要用如下的方法处理下了:

C:\Users\gaojs>adb kill-server

C:\Users\gaojs>taskkill /f /im adb.exe

第一条命令是杀ADB的服务,第二条命令是杀ADB的进程!

如果第一条没有用,才考虑用第二条命令再试试看的!

你可能感兴趣的:(android 屏幕录制-screenrecord)