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欢迎大家Starhttps://github.com/yanzhenjie/NoHttp

Android录屏命令、Android录Gif、Android录视频的更多相关文章

  1. linux下方便的录屏命令

    linux下方便的录屏命令   ffmpeg -f x11grab -s 1024*768 -r 20 -i :0.0 -sameq ~/recode.mpg -r后是刷新屏率,   推出直接Ctrl ...

  2. EV录屏 --- 免费无水印,集视频录制与直播功能于一身的桌面录屏软件, 支持录屏涂鸦、实时按键显示、视频体积压缩等实用功能

    https://www.ieway.cn/index.html 免费无水印,集视频录制与直播功能于一身的桌面录屏软件,支持录屏涂鸦.实时按键显示.视频体积压缩等实用功能 EVCapture 3.9.7 ...

  3. 录屏状态监听之防录屏 - iOS

    继之前接到电话.短信和截屏监听需求之后,在 iOS 11.0 系统之上新增了屏幕录制的新功能玩法,所以也随之迎来了新的屏幕录制监听的需求,即防录屏功能监听 ... 通过官方文档得知 capturedD ...

  4. Android实现录屏直播(三)MediaProjection + VirtualDisplay + librtmp + MediaCodec实现视频编码并推流到rtmp服务器

    请尊重分享成果,转载请注明出处,本文来自Coder包子哥,原文链接:http://blog.csdn.net/zxccxzzxz/article/details/55230272 Android实现录 ...

  5. ARDC Android 远程桌面助手 录屏 演示 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  6. Android 常用 adb 命令总结

    Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命 ...

  7. 【转】Android 常用 adb 命令总结

    原文地址:http://testerhome.com/topics/2565 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Andr ...

  8. Android 常用 adb 命令总结【转】

    原文链接 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中 ...

  9. Android常用adb命令总结(二)

    adb shell 命令 简单点讲,adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Andr ...

随机推荐

  1. RabbitMQ与PHP(一)

    RabbitMQ与PHP(一) 项目中使用RabbitMQ作为队列处理用户消息通知,消息由前端PHP代码产生,处理消息使用Python,这就导致代码一致性问题,调整消息定义时需要PHP和Python都 ...

  2. Spring @注解详解(转)

    1.@controller 控制器(注入服务) 2.@service 服务(注入dao) 3.@repository dao(实现dao访问) 4.@component (把普通pojo实例化到spr ...

  3. 【bzoj2729】[HNOI2012]排队 组合数学+高精度

    题目描述 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的) 输入 ...

  4. LibreOJ2043 - 「CQOI2016」K 远点对

    Portal Description 给出平面上的\(n(n\leq10^5)\)个整点,求在欧几里得距离下第\(k\)远的点对之间的距离. Solution k-d树+堆. 用小根堆维护当前找到的第 ...

  5. log4j.xml——java日志处理组件配置简介

    (从一篇好文开始)log4j(一)——为什么要用log4j? 三:看完栗子后的感想 (1)很明显我们在编写代码的时候有各种需要打印日志的需求,比如:我们调试代码的时候:我们的应用出现了问题,我们分析. ...

  6. 【NOIP2016】换教室(DP,期望)

    题意: 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 i ( 1≤ i≤n)个时同段上, 两节内容相同的课程 ...

  7. vue2.0 mintUI 学习备忘

    一 技术栈:vuecli+vuejs2+mintUI+axios vuecli :脚手架工具 vuejs:前端框架  mintUI:基于vuejs移动端UI  axios:vuejs ajax数据交互 ...

  8. os.system() 和 os.popen()

    1.os.popen(command[, mode[, bufsize]])  os.system(command) 2.os.popen() 功能强于os.system() , os.popen() ...

  9. Integration testing

    Integration testing 集成测试用来确保app的不同模块之间可以正确的一起工作.ASP.NET Core提供单元测试框架和内建的测试网络服务来支持集成测试,并且测试网络服务不需要网络开 ...

  10. datetimepicker[jquery-ui]时间控件的三种初始化方法

    1.只显示年月日 $( ".datepicker").datepicker({ needDay:true, changeMonth: true, //显示月份 changeYear ...