#動画(.mp4)の上半分を残す
import os
import subprocess
def crop_videos(input_dir, output_dir, new_height_ratio):
# 出力ディレクトリが存在しない場合は作成する
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 入力ディレクトリ内のすべての動画ファイルを取得
for filename in os.listdir(input_dir):
# ファイルの絶対パスを取得
input_path = os.path.join(input_dir, filename)
# ファイルが動画であることを確認
if os.path.isfile(input_path) and filename.lower().endswith('.mp4'):
# 出力ファイル名を設定
output_filename = os.path.splitext(filename)[0] + "_cropped.mp4"
output_path = os.path.join(output_dir, output_filename)
# FFmpegを使用して動画をクロップ
command = f'ffmpeg -i "{input_path}" -vf "crop=in_w:in_h*{new_height_ratio}:0:0" "{output_path}"'
subprocess.call(command, shell=True)
print(f"Cropped {filename} successfully.")
else:
print(f"Skipping {filename}, not a video file.")
if __name__ == "__main__":
# 入力ディレクトリ、出力ディレクトリ、新しい高さの比率を指定
input_directory = "tmp-in"
output_directory = "tmp-out"
new_height_ratio = 0.5 # 動画の上半分を残す場合の高さの比率
# 動画のクロップ
crop_videos(input_directory, output_directory, new_height_ratio)