# 圧縮
ffmpeg -i input.mov -crf 18 output_compressed.mp4
# サイズを小さく
ffmpeg -i input.mp4 -vf "scale=480:-2" -c:v libx264 -preset fast -crf 28 -pix_fmt yuv420p -movflags +faststart -c:a aac -b:a 96k output.mp4
# 圧縮
ffmpeg_compress() {
if [ -z "$1" ]; then
echo "Usage: ffmpeg_compress <input_file>"
return 1
fi
local input="$1"
# ファイル名から拡張子を除いた部分を取得
local filename_no_ext="${input%.*}"
# 出力ファイル名を生成
local output="${filename_no_ext}_compressed.mp4"
# ffmpegを実行
ffmpeg -i "$input" -crf 18 "$output"
}
# サイズを小さく
ffmpeg_resize() {
# 引数が2つない場合は使い方を表示して終了
if [ $# -lt 2 ]; then
echo "Usage: ffmpeg_resize <width> <input_file>"
echo "Example: ffmpeg_resize 1280 path/to/video.mov"
return 1
fi
local width="$1"
local input="$2"
# ファイル名から拡張子を除いた部分を取得
local filename_no_ext="${input%.*}"
# 出力ファイル名を生成 (例: video_1280_resized.mp4)
local output="${filename_no_ext}_${width}_resized.mp4"
# ffmpegを実行 (アスペクト比を維持して横幅を指定、縦は自動計算)
ffmpeg -i "$input" -vf "scale=${width}:-2" -crf 18 "$output"
}