前言

在平时写博客的时候,我们经常需要截图,录制视屏,或者制作 gif 动图。今天,我们就依赖来讨论一下有哪些方法。

第一种方法:

手机屏幕投影到电脑,在利用电脑上的软件进行截图,录制视频,或者制作 gif 动图。

手机屏幕同步都电脑,我们可以使用 Vysor 这个 chrome 插件,截图我们可以 使用 QQ 截图快捷键 Ctrl + Alt + A, 制作 gif 动图我们可以使用 gif 转换工具 LICEcap

下载地址

  • 手机屏幕同步到电脑的工具 Vysor ,这是 chrome 插件,需要翻墙

  • 好用的 gif 转换工具 LICEcap ,官网地址,下载地址

第二种方法:

使用 adb 命令。下面让我们一起来看一下怎样使用 adb 命令进行截图。


adb 截屏命令 screencap

第一种方法

//(保存到SDCard)
adb shell /system/bin/screencap -p /sdcard/screenshot.png
// 从SD卡导出到电脑,注意 F:\\mvp 为电脑路径,必须存在
adb pull /sdcard/screenshot.png F:\\mvp(保存到电脑)

如果你想删除手机上的图片,那么你可以使用这个命令来删除

adb shell rm /sdcard/screen.png

第二种方法

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

需要注意的是,图片会保存在当前 cmd 启动的路径,screen.png 为图片的名字

比如我在 C:\Users\Administrator 执行命令,那么将会保存在 C:\Users\Administrator 目录下。

C:\Users\Administrator>adb shell screencap -p | sed ‘s/\r$//’ > screen.png

扩展

如果你觉得每一次都要输入这么长的命令 adb shell screencap -p | sed ‘s/\r$//’ > screen.png ,怕记不住,我们是可以采取一些方法的。那就是用 alias 包装起来,相当于是起别名的意思。

由于 alias 是 linux 特有的命令,我们无法再 windows 使用,如果想在 windows 使用类似的功能,可以参考下面的博客。

在Windows中利用doskey配置类似Linux中alias命令

创建Windows命令行的alias


adb 录屏命令 screenrecord

简介

  1. screenrecord 是一个 shell 命令
  2. 支持 Android 4.4(API level 19)以上
  3. 支持视频格式: 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

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

输入以上命令,将可以看到这些信息。

Main display is 1080x1920 @59.16fps (orientation=0)
The max width/height supported by codec is 1920x1088
Configuring recorder for 1088x1920 video/avc at 4.00Mbps
Content area is 1080x1920 at offset x=4 y=0
Time limit reached
Encoder stopping; recorded 133 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

输入以下命令

adb shell screenrecord --help

将可以看到这些信息。


Usage: screenrecord [options] <filename>Android screenrecord v1.2.  Records the device's display to a .mp4 file.Options:
--size WIDTHxHEIGHTSet the video size, e.g. "1280x720".  Default is the device's maindisplay resolution (if supported), 1280x720 if not.  For best results,use a size supported by the AVC encoder.
--bit-rate RATESet the video bit rate, in bits per second.  Value may be specified asbits or megabits, e.g. '4000000' is equivalent to '4M'.  Default 4Mbps.
--bugreportAdd additional information, such as a timestamp overlay, that is helpfulin videos captured to illustrate bugs.
--time-limit TIMESet the maximum recording time, in seconds.  Default / maximum is 180.
--verboseDisplay interesting information on stdout.
--helpShow this message.Recording continues until Ctrl-C is hit or the time limit is reached.

导出视频:

adb pull /sdcard/demo.mp4
说明:导出视频到当前目录

到处到指定的目录

adb pull /sdcard/demo.mp4 F:\mvp\demo.mp4

制作 gif 动图

利用 LICEcap 进行转换。


题外话

第一种方法,相对于第二种方法( 使用 adb 命令)来说,在截图和录制视频的时候,效率差不多,而在制作 gif 动图的时候,效率会快得挺多的,那为什么还要讲解 adb 命令呢?

一:让大家知道有更多的方法,开阔视野(哈哈,其实我是在扯蛋);

二:使用 Vysor 投影的时候,有一部分手机不支持,作为不是富二代的我们有时很无奈,不可能说为了能使用 Vysor 进行投影,而去重新买一部手机,这时候就退而求其次,使用 adb 命令了。

三: 作为一名开发人员,我们还是要学一些常用的命令的。这样也可以装装逼。

CSDN文章首发地址


推荐阅读

一步步拆解 LeakCanary

Android 面试必备 - http 与 https 协议

Android 面试必备 - 计算机网络基本知识(TCP,UDP,Http,https)

Android 面试必备 - 线程

Android_interview github 地址

扫一扫,欢迎关注我的微信公众号 stormjun94, 目前专注于 Android 开发,主要分享 Android开发相关知识和技术人成长历程,包括个人总结,职场经验,面试经验等。

adb 截屏和录屏命令相关推荐

  1. 巧用别名和 sh 脚本,adb 快速截图和录屏,提高你的效率

    本文首发我的微信公众号程序员徐公,回复 徐公 666 可以获得我精心整理的简历模板,带你走近大厂 前言 在平时开发过程中,我们经常需要截图和录制视频,尤其是客户端开发和测试. 可能有一些人的姿势是这样 ...

  2. 笔记本电脑截屏怎么截_电脑的截屏与录屏

    电脑的截屏与录屏 相信大家都知道 QQ的截屏和录屏快捷键:截屏:Ctrl+Alt+A录屏:Ctrl+Alt+S 这种方便快捷的方式非常受人欢迎,但是万一我们的电脑上没有下载或打开QQ,我们该怎么办呢? ...

  3. iOS 防止截屏、录屏技术

    0x00 直接看图 看图演示,可防止截屏和录屏 可以开启或者关闭,是否允许截屏和录屏 0x01 代码 JHNonRecordableView *view1 = [[JHNonRecordableVie ...

  4. Android 关于禁止应用截屏和录屏

    APP有时候为了保护用户的隐私安全会禁止用户录屏和截屏,录入说视频交友类的app,金融类的app等 可以在app的onCreate方法中添加这么一段代码: @Overrideprotected voi ...

  5. Android截屏和录屏Demo

    最近两天研究了一下安卓截屏和录屏功能的实现,基本的思路如下: 截屏:通过View绘制缓冲获得Bitmap,然后写到文件中,完成截屏的功能: 录屏:通过MediaRecorder进行video reco ...

  6. Android截屏、录屏,适配AndroidQ以上

    使用MediaProjectionManager,VirtualDisplay,AudioRecord,MediaCodec以及MediaMuxer等API实现屏幕录制功能.MediaProjecti ...

  7. 安卓java录屏_安卓实现截屏以及录屏功能Demo

    [实例简介]安卓实现截屏以及录屏功能Demo 安卓实现截屏以及录屏功能Demo [实例截图] [核心代码] package com.dzjin.screen.screenshotandrecordde ...

  8. android 实现手机录屏功能,基于MediaProjection实现Android移动手机截屏和录屏功能

    Android软件应用经常要求实现截屏和录屏的功能,那么如何实现Android软件截屏和录屏功能呢?本文将介绍基于MediaProjection实现Android移动手机截屏和录屏功能. MediaP ...

  9. win10自带的截屏和录屏

    截屏 键盘上有一个按钮printScreen(非win10 也可以用)按一下整个屏幕就会被印刷一遍(注意:按完之后屏幕没有反应是正常现象,此时屏幕截图已经存在于粘贴板了),直接去word或者你使用的地 ...

  10. 直播平台开发,防止直播过程中被截屏或录屏

    直播平台开发,防止直播过程中被截屏或录屏 Activity创建时设置WindowManager.LayoutParams.FLAG_SECURE属性,该属性能防止屏幕被截图和录制.以下为修复代码示例: ...

最新文章

  1. 懒人 IDEA 插件推荐: EasyCode 一键帮你生成所需代码~
  2. 计算机中减法英语,计算机中的减法运算
  3. 「初步」Spring与commons的BeanUtil.copyProperties
  4. 面试:InnoDB 并发控制
  5. 028-Dell服务器做Raid
  6. 2.Rails程序框架
  7. Android关闭输入法键盘
  8. 阿里巴巴泰山版《Java 开发者手册》,也是一份防坑指南
  9. 云社区博客博客详情火瞳智慧通行助力疫情防控及安全出行
  10. Calendar设置HOUR_OF_DAY获取0点0分0秒一直输出12点
  11. php 24字母和 数字进行转化
  12. Python 3基础语法知识点都在这里了,如果还不能入门就不能怪我了
  13. Python的Mann-Kendall非参数检验和计算Hurst指数
  14. sFlow监控OVS使用测试
  15. 深度学习(一):什么是深度学习
  16. java word模版填充_Java 数据填充到word模板中
  17. 比较经典的位字段例题(颜色三原色)
  18. 莫队入门例题:2038: [2009国家集训队]小Z的袜子(hose)
  19. Total Bummer:透​​视水滴
  20. 【产品经理】产品体验报告准备

热门文章

  1. 计算机小喇叭找不到,Win7电脑右下角的小喇叭不见了
  2. 哪些产品需要过3C认证?3C认证具体清单
  3. c语言实现一个计算器
  4. python 字典嵌套列表 循环打印_python的list的基本操作、list循环、切片、字典基本操作、字典嵌套、字符串常用方法...
  5. java ajax传递到action_day8——ajax传参到action(Struts2)
  6. windows平台服务监控邮件报警批处理脚本
  7. python 日程管理程序_729. 我的日程安排表(Python)
  8. 国内的云主机靠谱吗?万网如何?互联网创业产品选择云主机还是租用独享服务器合适?
  9. 阿里巴巴正式宣布5.4亿现金战略投资中国万网
  10. ansys19.0安装破解教程(图文详解)