通用技术 一个安卓屏幕录制转 GIF 的批处理

白心 · 2020年10月12日 · 1328 次阅读

在提交 bug 的时候,我比较喜欢添加动图,因为我觉得动图看起来更直观一些

pc 上自己常用的是 Screen to Gif,能比较方便的生成动图

但在移动端就没什么可用的了

最近查资料的时候,偶然看到的一个贴子
https://www.jianshu.com/p/0fafba0fab62

是通过批处理自动录制屏幕,在利用 FFmpeg 把视频转换为 gif,感觉还挺好用的,就想分享一下
效果如下
只需要在操作的时候打开批处理就可以了

之前一直不太了解批处理,看到这个后,感觉批处理脚本利用起来能在工作中提高很多效率

不知道大家都有哪些应用,也希望能分享下

下面是批处理的代码

@echo off&setlocal,EnableDelayedExpansion

set /p duration=请输入录制时间(秒):
set h=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
set dh=%h: =0%

adb shell wm size >fbl.txt
for /f "delims=" %%i in (fbl.txt) do set result=%%i
echo %result%
set weight=%result:~15,4%
set height=%result:~-4%
set /a convertweight=%weight%/3
set /a convertheight=%height%/3
echo %weight%
echo %height%

:isCrop
set /p isCrop=是否需要裁剪(Y/N):
IF /i "!isCrop!"=="Y" (
    set /p cropHeight=输入裁剪的高度:
    rem /a表示进行数值运算
    set /A convertHeight=!cropHeight!/3
    Echo !convertHeight! , cropHeight=!cropHeight!

    echo 开始录制
    adb shell screenrecord --time-limit %duration% /sdcard/demo.mp4
    adb pull /sdcard/demo.mp4
    echo ffmpeg转换
    ffmpeg -i demo.mp4 -vf crop=1080:!cropHeight!:0:0 -s 360x!convertHeight! -r 10 target-%dh%.gif
)else (
    echo 开始录制
    adb shell screenrecord --time-limit %duration% /sdcard/demo.mp4
    adb pull /sdcard/demo.mp4
    echo ffmpeg转换
    ffmpeg -i demo.mp4 -s %convertheight%x%convertweight% -r 10 target-%dh%.gif
)
echo 删除缓存的视频
del demo.mp4
del fbl.txt
echo 直接打开gif
start target-%dh%.gif
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册