📅  最后修改于: 2023-12-03 15:21:02.312000             🧑  作者: Mango
如果你需要视频/音频播放器,那么 VLC 是一个非常不错的选择。它是一个开源软件,可以在多种平台上运行。VLC 除了播放视频和音频文件之外,还具有很多其他的功能,如录制视频、屏幕录像和截图等。在本文中,我们将重点介绍如何在 VLC 中进行截图操作,并利用 Shell/Bash 脚本自动化这个过程。
VLC 的截图功能非常方便,只需要在播放视频时按下快照按钮(或使用快捷键 Ctrl + Alt + S),VLC 就会自动保存当前屏幕截图到默认的保存位置(Windows: %USERPROFILE%\Pictures\VLC,MacOS: ~/Pictures/VLC,Linux: ~/Pictures)。如果你需要自定义保存位置,可以在 VLC 的偏好设置中进行设置。
如果你需要在一个视频列表中批量截图,手动一个个去截图显然不是一个好选择。因此,我们可以编写 Shell/Bash 脚本来实现自动化的批量截图操作。
以下是一个简单的 Shell/Bash 脚本:
#!/bin/bash
# 设置变量
video_dir="/home/user/Videos"
snap_dir="/home/user/Pictures/Snapshots"
# 判断快照目录是否存在,如果不存在则创建
if [ ! -d $snap_dir ]; then
mkdir -p $snap_dir
fi
# 循环遍历视频文件,并进行截图操作
for video_file in $video_dir/*.mp4; do
# 获取视频文件名(不含扩展名)
video_name=$(basename "$video_file" .mp4)
# 判断快照文件是否已存在,如果不存在则进行截图操作
if [ ! -f $snap_dir/$video_name.png ]; then
vlc -I dummy "$video_file" --video-filter=scene --vout=dummy --scene-ratio=1 --scene-prefix="$video_name" --scene-path="$snap_dir" vlc://quit
fi
done
上述脚本中,我们首先设置了两个变量:视频目录(video_dir
),快照目录(snap_dir
)。然后,我们循环遍历这个视频目录下的所有.mp4
文件,逐个进行截图操作。具体截图操作的命令为:
vlc -I dummy "$video_file" --video-filter=scene --vout=dummy --scene-ratio=1 --scene-prefix="$video_name" --scene-path="$snap_dir" vlc://quit
其中,$video_file
表示当前的视频文件名,$video_name
表示当前的视频名称(不包含扩展名)。我们将截图保存在快照目录下,文件名为 $video_name.png
。如果文件已经存在,则跳过截图操作。
通过这个简单的 Shell/Bash 脚本,我们就可以方便地批量截图了。当然,如果你需要更加复杂的批量操作,还可以进一步完善这个脚本。