documents

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

batch_mov2mp4.py (2229B)


      1 import os
      2 
      3 from mov2mp4 import convert_mov_to_mp4_h265_nvenc
      4 
      5 
      6 def run_batch_conversion(parent_dir, start_range, end_range):
      7     """
      8     指定された範囲のフォルダ名を持つサブフォルダ内の動画をまとめて変換します。
      9     """
     10     if not os.path.isdir(parent_dir):
     11         print(f"エラー: 親フォルダ '{parent_dir}' が見つかりません。")
     12         return
     13 
     14     # フォルダ一覧を取得し、名前が範囲内(文字列比較)のものを抽出
     15     all_items = os.listdir(parent_dir)
     16     target_subdirs = [
     17         d
     18         for d in all_items
     19         if os.path.isdir(os.path.join(parent_dir, d)) and start_range <= d <= end_range
     20     ]
     21 
     22     target_subdirs.sort()
     23 
     24     if not target_subdirs:
     25         print(
     26             f"範囲内 ({start_range} ~ {end_range}) に該当するフォルダが見つかりませんでした。"
     27         )
     28         return
     29 
     30     print(f"=== バッチ処理開始: {len(target_subdirs)} 個のフォルダをスキャンします ===")
     31     print(f"対象範囲: {start_range} ~ {end_range}")
     32 
     33     for i, subdir in enumerate(target_subdirs, 1):
     34         target_path = os.path.join(parent_dir, subdir)
     35         print(f"\n------------------------------------------------------------")
     36         print(f" 📂 [{i}/{len(target_subdirs)}] 処理中: {subdir}")
     37         print(f"------------------------------------------------------------")
     38 
     39         # mov2mp4.py のメインロジックを実行
     40         # OUTPUT_FOLDER=None にすることで各フォルダ内にmp4が作成されます
     41         convert_mov_to_mp4_h265_nvenc(target_path, output_dir=None)
     42 
     43     print("\n============================================================")
     44     print(f"✨ すべてのバッチ処理が完了しました ({len(target_subdirs)} フォルダ)")
     45     print("============================================================")
     46 
     47 
     48 # --- 設定項目 ---
     49 # 親フォルダのパス
     50 PARENT_FOLDER = r"E:\Pictures\他人作品\ホロ\aliceholic13"
     51 # 処理対象のフォルダ名の範囲
     52 START_DIR = "1322528"
     53 END_DIR = "3035118"
     54 
     55 if __name__ == "__main__":
     56     run_batch_conversion(PARENT_FOLDER, START_DIR, END_DIR)