Android 截屏脚本

就是通过读取fb0设备进行截屏了,执行如下Shell脚本可以连续截取:

	for((i=1;;i++));
do
adb pull /dev/graphics/fb0 fb0
ffmpeg -vframes 1 -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s 640x960 -i fb0 -f image2 -vcodec png $i.png
done 

注意更改自己对应的设备分辨率,上面示例中的是640x960

按照一般想法,既然能截屏,那么直接录制也就很容易了。
然后上面的命令执行起来不是很快,这里测试每截一张图大概需要3秒(其实就是“adb pull /dev/graphics/fb0 fb0”这一句的时间了,第二句基本不耗时间),这将导致转换的视频跳变速度非常之快(就是快进播放那种感觉),所以想做个快捷的屏幕录制工具还不是太容易。

--------------------------------------------------------------------

还有一种命令行截屏方法,涉及调用系统内置的 screencap 工具:

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

screencap 本身支持标准输出,所以可以用管道符链接。但是 adb shell 会将结果中的 LF 转换为 CR+LF(为了兼容性考虑?),于是会将 png 的格式破坏。于是这里使用行编辑器 sed 将 LF 前的 CR 移除。

若您使用 OS X,也可以使用 perl 实现类似效果:

adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png

转载于:https://www.cnblogs.com/wzc0066/archive/2013/03/07/2948344.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值