在提交 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