Automation Lab
•
2024-03-05
SNS向け動画一括圧縮ツール
所要時間
8 MIN
必要環境
Python 3.x, FFmpeg
準備
ステップ 1 環境構築
動画編集者やSNSクリエイターにとって、重い動画ファイルを一つずつ変換するのは苦行です。今回はPythonを使って、フォルダ内の全動画を一括で圧縮するツールを作ります。
FFmpeg というツールをパソコンにインストールする必要があります。
- Windows:
choco install ffmpegまたは公式サイトからダウンロード - Mac:
brew install ffmpeg
01
ステップ 2 プログラム作成
実装コード
compress.py という名前で保存してください:
import subprocess
import os
def compress_video(input_path, output_path):
# FFmpegコマンドを組み立て
cmd = [
'ffmpeg', '-i', input_path,
'-vcodec', 'libx264', '-crf', '28',
output_path
]
subprocess.run(cmd)
# 入力フォルダを指定
folder = './input_videos'
for filename in os.listdir(folder):
if filename.endswith(".mp4"):
print(f"圧縮中: {filename}...")
compress_video(os.path.join(folder, filename), os.path.join('./output', filename))
技術解説
CRF (Constant Rate Factor) という値で画質を調整しています。28 はスマホで見る分には十分綺麗で、かつファイルサイズを劇的に小さくできる魔法の数字です。