Android录屏命令、Android录Gif、Android录视频
NoHttp开源地址:https://github.com/yanzhenjie/NoHttp
NoHttp具体使用文档已公布,你想知道的全都有,请点我移步!
版权声明:转载请注明本文转自严振杰的博客: http://blog.yanzhenjie.com
演示
大家看博客时常常看到以下这样的图片,都非常想知道怎么做的吧,好在自己写博客时也把操作录下来:
这个图是我还有一个博客的图讲Android三级联动和ListView单选多选的,博客和源代码传送门,如今呢就一步步教大家怎么来做这个图。
上方的Gif图是怎么来的
事实上这个Gif是一个mp4的视频。仅仅是后来转成了gif,就这么简单。这就是本质。可是Android怎么录mp4呢?
录制环境
Android4.4以上的系统能够用shell命令录视频,视频格式是mp4。
局限性
- 分辨率过高的设备不指定低分辨率录屏会失败。请尝试指定低分辨率再录屏
- 录制过程中屏幕不能旋转,假设发生旋转。录制过程可能被中断
- 录制过程中的声音不能被录下来
说究竟就是录制屏幕画面啦,仅仅只是格式是mp4的。
录制命令
视频格式为mp4,存放到手机sd卡里,默认录制时间为180s,可用ctrl + c结束录制。
adb shell screenrecord /sdcard/demo.mp4
指定录制时间
參数:–time-limit [秒数]。比如指定录制10S:
adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
指定分辨率
參数:–size [宽*高]。比如指定录制分辨率为720*1280
:
adb shell screenrecord --size 720*1280 /sdcard/demo.mp4
指定比特率
參数:–bit-rate 比特率,为了发博客方便我们指定比特率为2Mbps
:
adb shell screenrecord --bit-rate 2000000 /sdcard/demo.mp4
Log显示录制过程
參数:–verbose,比如:
adb shell screenrecord --verbose /sdcard/demo.mp4
使视频旋转90度
參数: –rotate,比如:
adb shell screenrecord --rotate/sdcard/demo.mp4
导出视频到电脑
这个命令大家应该常常常使用,后边的文件路径得是你刚才指定保存路径,会导出调用命令的文件夹下。比如:
adb pull /sdcard/demo.mp4
查看帮助
參数:–help,比如:
adb shell screenrecord --help
怎么把mp4转为gif
假设和MP4转为gif,这里有两个方法。
用ffmpge
假设你电脑配置了ffmpge就非常easy了,命令行一句话搞定:
ffmpeg -t <视频时长> -ss -i <视频文件> demo.gif
比方我们生成一个13S的图:
ffmpeg -t 13 -ss 00:00:00 -i demo.mp4 demo.gif
用工具转。这个更好用一点,推荐喔
我已经下载好放百度网盘了,先附上下载地址:http://pan.baidu.com/s/1mgVhuf2
软件执行截图:
选择视频文件指定開始转的位置,结束的位置,宽高,帧每秒/帧率等:
选择图片质量保存转化好的gif图:
最后指定图片保存位置,就OK了。
NoHttp 源代码及Demo托管在Github欢迎大家Star:https://github.com/yanzhenjie/NoHttp
Android录屏命令、Android录Gif、Android录视频的更多相关文章
- linux下方便的录屏命令
linux下方便的录屏命令 ffmpeg -f x11grab -s 1024*768 -r 20 -i :0.0 -sameq ~/recode.mpg -r后是刷新屏率, 推出直接Ctrl ...
- EV录屏 --- 免费无水印,集视频录制与直播功能于一身的桌面录屏软件, 支持录屏涂鸦、实时按键显示、视频体积压缩等实用功能
https://www.ieway.cn/index.html 免费无水印,集视频录制与直播功能于一身的桌面录屏软件,支持录屏涂鸦.实时按键显示.视频体积压缩等实用功能 EVCapture 3.9.7 ...
- 录屏状态监听之防录屏 - iOS
继之前接到电话.短信和截屏监听需求之后,在 iOS 11.0 系统之上新增了屏幕录制的新功能玩法,所以也随之迎来了新的屏幕录制监听的需求,即防录屏功能监听 ... 通过官方文档得知 capturedD ...
- Android实现录屏直播(三)MediaProjection + VirtualDisplay + librtmp + MediaCodec实现视频编码并推流到rtmp服务器
请尊重分享成果,转载请注明出处,本文来自Coder包子哥,原文链接:http://blog.csdn.net/zxccxzzxz/article/details/55230272 Android实现录 ...
- ARDC Android 远程桌面助手 录屏 演示 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Android 常用 adb 命令总结
Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命 ...
- 【转】Android 常用 adb 命令总结
原文地址:http://testerhome.com/topics/2565 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Andr ...
- Android 常用 adb 命令总结【转】
原文链接 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中 ...
- Android常用adb命令总结(二)
adb shell 命令 简单点讲,adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Andr ...
随机推荐
- RabbitMQ与PHP(一)
RabbitMQ与PHP(一) 项目中使用RabbitMQ作为队列处理用户消息通知,消息由前端PHP代码产生,处理消息使用Python,这就导致代码一致性问题,调整消息定义时需要PHP和Python都 ...
- Spring @注解详解(转)
1.@controller 控制器(注入服务) 2.@service 服务(注入dao) 3.@repository dao(实现dao访问) 4.@component (把普通pojo实例化到spr ...
- 【bzoj2729】[HNOI2012]排队 组合数学+高精度
题目描述 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的) 输入 ...
- LibreOJ2043 - 「CQOI2016」K 远点对
Portal Description 给出平面上的\(n(n\leq10^5)\)个整点,求在欧几里得距离下第\(k\)远的点对之间的距离. Solution k-d树+堆. 用小根堆维护当前找到的第 ...
- log4j.xml——java日志处理组件配置简介
(从一篇好文开始)log4j(一)——为什么要用log4j? 三:看完栗子后的感想 (1)很明显我们在编写代码的时候有各种需要打印日志的需求,比如:我们调试代码的时候:我们的应用出现了问题,我们分析. ...
- 【NOIP2016】换教室(DP,期望)
题意: 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 i ( 1≤ i≤n)个时同段上, 两节内容相同的课程 ...
- vue2.0 mintUI 学习备忘
一 技术栈:vuecli+vuejs2+mintUI+axios vuecli :脚手架工具 vuejs:前端框架 mintUI:基于vuejs移动端UI axios:vuejs ajax数据交互 ...
- os.system() 和 os.popen()
1.os.popen(command[, mode[, bufsize]]) os.system(command) 2.os.popen() 功能强于os.system() , os.popen() ...
- Integration testing
Integration testing 集成测试用来确保app的不同模块之间可以正确的一起工作.ASP.NET Core提供单元测试框架和内建的测试网络服务来支持集成测试,并且测试网络服务不需要网络开 ...
- datetimepicker[jquery-ui]时间控件的三种初始化方法
1.只显示年月日 $( ".datepicker").datepicker({ needDay:true, changeMonth: true, //显示月份 changeYear ...