1.录屏

Android studio 3.0之后不再有Android monitor取而代之的是 Android profile 和logcat,所以录屏功能只能用adb工具实现。

android SystemUI录屏默认保存路径修改 安卓录屏文件夹_Android

  • adb 工具配置环境变量
    为了方便使用需要将adb工具添加到环境变量当中 : 此电脑—>高级系统设置—>环境变量 在系统变量中找到PATH变量名,点新建输入sdk路径 D:\AndroidSDK\platform-tools;D:\AndroidSDK\tools 注意路径中间用分好隔开。
  • adb 录屏
    对于Android4.4的上的手机,系统自带了一个命令screenrecord,我们可以很方便的使用。
    录制命令
    adb shell screenrecord /sdcard/test.mp4
    视频保存目录可以自己指定,如上面的/sdcard/test.mp4,命令执行后会一直录制180s,按下ctrl+c可以提前结束录制
    输入 –time-limit N,限制视频录制时间为N秒
  • 华为手机录屏异常
    查了一下荣耀系列、mate系列执行命令时候都会出现这个问题
  • android SystemUI录屏默认保存路径修改 安卓录屏文件夹_码率_02

2.ffmpeg 工具 格式转化
  • ffmepeg安装
    下载地址 https://ffmpeg.zeranoe.com/builds/
    选择版本号4.0.1 、64位 最后一个选static就可以
  • android SystemUI录屏默认保存路径修改 安卓录屏文件夹_Android_03

  • 下载解压后为了使用方便仍然加入环境变量 。
  • MP4转化为高质量gif
    这条命令意思是从0秒开始截取7秒的视频,转化为360x640 分辨率,率码率控制在2000k的gif图片
    其中360X640 和2000k 为原视频一半值。
    ffmpeg -ss 0 -t 7 -i D:\mp4togif\svid.mp4 -s 360x640 -b:v 2000k D:\mp4togif\tt.gif
    如果不控制分辨率和码率直像这样直接转化 ffmpeg -i D:\mp4togif\svid.mp4 D:\mp4togif\tt.gif 得到的gif 将大大超过原视频的大小。
  • ffmpeg命令
    ffmpeg -i input.mp4 -vf scale=960:540 output.mp4
    //ps: 如果540不写,写成-1,即scale=960:-1, 那也是可以的,ffmpeg会通知缩放滤镜在输出时保持原始的宽高比。
  • ffmpeg控制码率。
    ffmpg控制码率有3种选择,-minrate -b:v -maxrate
    -b:v主要是控制平均码率。
    比如一个视频源的码率太高了,有10Mbps,文件太大,想把文件弄小一点,但是又不破坏分辨率。
    ffmpeg -i input.mp4 -b:v 2000k output.mp4
    上面把码率从原码率转成2Mbps码率,这样其实也间接让文件变小了。目测接近一半。
    不过,ffmpeg官方wiki比较建议,设置b:v时,同时加上 -bufsize
    -bufsize 用于设置码率控制缓冲器的大小,设置的好处是,让整体的码率更趋近于希望的值,减少波动。(简单来说,比如1 2的平均值是1.5, 1.49 1.51 也是1.5, 当然是第二种比较好)
    ffmpeg -i input.mp4 -b:v 2000k -bufsize 2000k output.mp4
ffmpeg -ss 0 -t 7 -i D:\mp4togif\svid.mp4 -i D:\mp4togif\201807201720.png -b:v 2000k -r 20 -lavfi fps=20,scale=360:-1:flags=lanczos[x];[x][1:v]paletteuse -y D:\mp4togif\201807201726.gif