自动控制手机拍照 及 电脑截图 1..修改端口
adb -s CB512EJYYN tcpip 5555
2..脚本
#!/bin/bash
# 相机应用的包名CAMERA_PACKAGE="com.sonyericsson.android.camera"SCREENSHOT_DIR="/Users/macm2/Documents/日记"# FTP server detailsFTP_SERVER="192.168.2.65"FTP_PORT=7275REMOTE_DIR="/device/DCIM/100ANDRO"LOCAL_DIR="/Users/macm2/Documents/日记/拍照"
while true; do
date +"%Y-%m-%d %H:%M:%S" # 记录当前时间 START_TIME=$(date +%s)
# 亮屏 screen_state=$(adb -s 192.168.2.65:5555 shell "dumpsys window policy | grep 'screenState='") if [[ $screen_state == *"screenState=2"* ]]; then echo "屏幕已点亮" else echo "屏幕未点亮" echo 亮屏 adb -s 192.168.2.65:5555 shell input keyevent 26 # echo sleep 3 sleep 3 fi
# 检查相机应用是否在运行 if ! adb -s 192.168.2.65:5555 shell dumpsys activity top | grep -q "TASK com.sonyericsson.android.camera"; then # 如果不在运行,则进入拍照模式 echo 进入拍照模式 adb -s 192.168.2.65:5555 shell am start -a android.media.action.IMAGE_CAPTURE # 等待直到照片被拍摄,这里我们简单地等待5秒 # echo sleep 3 sleep 3 fi
# 模拟点击快门按钮 echo 快门 adb -s 192.168.2.65:5555 shell input keyevent 24 # 等待照片保存完成 # echo sleep 3 sleep 3 # 获取当前时间戳作为文件名 TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S) # 构建完整的文件路径 FILEPATH="$SCREENSHOT_DIR/$TIMESTAMP.png" # 执行截图并保存 screencapture -x "$FILEPATH"
echo 熄屏 adb -s 192.168.2.65:5555 shell input keyevent 26
lftp -c "open -u anonymous,anonymous $FTP_SERVER:$FTP_PORT; mirror $REMOTE_DIR $LOCAL_DIR"
# 计算本次循环的实际用时 ELAPSED_TIME=$(( $(date +%s) - START_TIME )) echo 本轮耗时:$ELAPSED_TIME
# 计算还需要等待多少时间才能达到60秒 WAIT_TIME=$((60 - ELAPSED_TIME))
# 如果WAIT_TIME是正数,说明还没到一分钟,需要等待 if [ $WAIT_TIME -gt 0 ]; then sleep $WAIT_TIME fi
done
3..为图片添加时间水印 ( 修改时间 )
#!/bin/bash
# 创建processed目录,如果它还不存在的话mkdir -p processed
# 设置计数器counter=1
# 遍历目录下的所有.jpg等文件for file in *.jpg *.JPG *.jpeg *.JPEG *.png *.PNG ; do if [ -f "$file" ]; then # 获取文件的原始扩展名 extension="${file##*.}" # 获取文件的修改时间,并转换为易读的格式 # 注意这里的修改,使用-f选项 mod_time=$(stat -f %m "$file") readable_time=$(date -r "$mod_time" "+%Y-%m-%d %H:%M:%S") filename="image_$(printf "%04d" $counter).$extension" # 增加计数器 ((counter++)) # 使用ImageMagick的magick命令来添加时间水印 magick \ "$file" \ -font Arial \ -pointsize 120 \ -fill '#FFFFFF55' \ -gravity southeast \ -annotate +10+10 "$readable_time" \ "processed/$filename" fidone
4..将图片合成视频
ffmpeg -framerate 10 -i image_%04d.png -c:v libsvtav1 -crf 32 -pix_fmt yuv420p video1.mp4
#当排序不是从 0001 开始的时候ffmpeg -framerate 10 -pattern_type glob -i 'image_*.png' -c:v libsvtav1 -crf 32 -pix_fmt yuv420p video1.mp4
ffmpeg -framerate 10 -i DSC_%04d.JPG -c:v libsvtav1 -crf 36 -pix_fmt yuv420p video2.mp4