【发布时间】:2019-06-09 01:14:23
【问题描述】:
我正在编写一个脚本,将视频批量转换为 h.265 格式,该格式使用 repeat with 浏览所有视频。它同时适用于 3 或 4 个文件,但是当视频数量达到 ~50 时,我的旧 Mac 会重新启动。
repeat with videofile in video_list
set filePath to POSIX path of videofile
set filePath to esc_space(filePath)
set [folderPath, filename] to split_path_name(filePath)
tell application "Terminal"
activate
do script with command "ffmpeg -hide_banner -i " & filePath & " -vcodec libx265 -tag:v hvc1 " & folderPath & filename & "_hevc.mp4; mv " & filePath & " ~/.Trash"
end tell
end repeat
因此,我想使用applescript来实现“队列”功能:在终端窗口中转换有限数量的视频(比如说10个)并监控是否有任何窗口完成执行,如果活动窗口的数量较少,则激活一些剩余的任务超过 10 个。
我做了一些搜索,发现系统事件可以判断应用程序是否正在运行,但我不确定如何监控多个窗口,尤其是在某些任务完成时会激活新窗口。
感谢任何建议。 (方便的话也欢迎shell脚本)
【问题讨论】:
标签: queue applescript