📜  ffmpeg 提取帧调整大小 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:41:10.862000             🧑  作者: Mango

FFMPEG 提取帧并调整大小 - Shell/Bash

在视频处理和编辑中,FFMPEG 是一个非常强大的工具,它提供了许多功能用于对音视频进行转码、截取、合并等操作。其中,从视频中提取帧并调整大小是一项常见的需求。在本文中,我们将使用 Shell/Bash 脚本来演示如何使用 FFMPEG 提取帧并调整大小。

注意:在运行以下脚本前,请确保已经安装了 FFMPEG。你可以从 FFMPEG 官方网站 下载并安装它。

#!/bin/bash

# 输入视频文件路径
input_file="input.mp4"

# 目标输出文件夹路径
output_folder="output"

# 提取帧的时间间隔(单位:秒)
frame_interval=1

# 调整后的帧尺寸(像素)
frame_size="640x480"

# 创建输出文件夹
mkdir -p "$output_folder"

# 使用 FFMPEG 提取帧并调整大小
ffmpeg -i "$input_file" -vf "scale=$frame_size" -r 1/$frame_interval "$output_folder/frame-%03d.png"

# 完成提取帧并调整大小操作
echo "帧提取并调整大小操作已完成!"

在上述脚本中,我们首先设置了输入视频文件路径(input_file)、目标输出文件夹路径(output_folder)、帧提取间隔(frame_interval)和调整后的帧尺寸(frame_size)。你可以根据具体需求进行相应的更改。

脚本中的 mkdir -p "$output_folder" 用于创建输出文件夹,-p 参数表示如果文件夹不存在,则创建它。

接下来,我们使用 ffmpeg 命令来执行提取帧并调整大小的操作。-i "$input_file" 指定输入的视频文件,-vf "scale=$frame_size" 用于调整帧的尺寸,-r 1/$frame_interval 表示设置帧提取的时间间隔。

最后,我们将提取的帧保存为 PNG 格式的文件,并以 frame-001.pngframe-002.png 等命名。你可以根据需要自定义命名规则。

脚本执行完毕后,它会输出相应的提示信息,告知帧提取并调整大小操作已完成。

你可以将上述脚本保存为一个 Shell 脚本文件(例如,extract_frames.sh),然后通过命令行运行它:

chmod +x extract_frames.sh
./extract_frames.sh

以上就是使用 FFMPEG 提取帧并调整大小的 Shell/Bash 脚本示例。你可以根据自己的需求和实际情况进行修改和扩展。希望对你有所帮助!