ffmpeg 動画 変!
ぶるぶる
ぱぉぱぉ
wave to flac
で
ffmpeg
を使用しているが
なんと
vob to mp4
にも
使えるらしい
さっそく
Microsoft Copilot様に
スクリプトを作成して貰った
# ==============================
# ==== Microsoft Copilot
# 欲しいのは **「WAV→FLAC」のスクリプトのように、
親フォルダを指定してサブフォルダ以下を再帰的に探索し、VOBファイルを見つけて MP4(H.264/AAC) に変換する Python スクリプト** ですね。
# 以下にその形で提示します👇
## 🐍 VOB → MP4 自動変換スクリプト(再帰探索版)
import os
import subprocess
# =========================================
# 💻 VOB → MP4 自動変換スクリプト
# =========================================
# -----------------------------
# 設定
# -----------------------------
BASE_DIR = r"C:\_CC-DVD-VOB" # VOBフォルダの親フォルダ
CRF = 20 # H.264品質 (18~23推奨)
PRESET = "slow" # エンコード速度 (ultrafast~veryslow)
# AUDIO_BITRATE = "160k" # AAC音声ビットレート
AUDIO_BITRATE = "192k" # AAC音声ビットレート
# -----------------------------
def safe_name(name):
"""Windows禁止文字を置換して安全なファイル名に変換"""
return name.replace(" ", "_")
def convert_vob_to_mp4():
"""親フォルダ以下を再帰的に探索し、VOBをMP4に変換"""
if not os.path.exists(BASE_DIR):
print(f"❌ エラー: 指定されたディレクトリが存在しません: {BASE_DIR}")
return
for root, dirs, files in os.walk(BASE_DIR):
vob_files = [f for f in files if f.lower().endswith(".vob")]
if not vob_files:
continue
# 出力フォルダを作成
dst_folder = os.path.join(root, "MP4")
os.makedirs(dst_folder, exist_ok=True)
for file_name in sorted(vob_files):
src_file = os.path.join(root, file_name)
dst_file = os.path.join(dst_folder, os.path.splitext(file_name)[0] + ".mp4")
print(f"🔹 {src_file} → {dst_file} に変換中...")
# ffmpegコマンド
cmd = [
"ffmpeg",
"-i", src_file,
"-vf", "yadif", # デインターレース処理
"-c:v", "libx264",
"-crf", str(CRF),
"-preset", PRESET,
"-c:a", "aac",
"-b:a", AUDIO_BITRATE,
"-movflags", "+faststart",
"-y", # 上書き許可
dst_file
]
try:
subprocess.run(cmd, check=True, stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError:
print(f"❌ 変換エラー: {file_name}")
except FileNotFoundError:
print("❌ エラー: ffmpeg が見つかりません。PATHを確認してください。")
return
print(f"✅ {root} 内の VOB → MP4 変換完了\n")
if __name__ == "__main__":
convert_vob_to_mp4()
print("🎉 すべてのフォルダの変換が完了しました!")
# ==============================
## 🔍 このスクリプトの動作
# - `BASE_DIR` 以下を再帰的に探索。
# - 各フォルダ内の `.vob` ファイルを順番に変換。
# - 出力は同じフォルダ内に `MP4` サブフォルダを作成して保存。
# - 映像は **H.264 (libx264)**、音声は **AAC**。
# - デインターレース処理(`yadif`)を適用して 480i → 480p に。
# ## 🎯 まとめ
# - WAV→FLACスクリプトと同じ思想で、VOB→MP4を自動化できます。
# - 再帰的に探索するので、VIDEO_TSフォルダが複数あっても一括処理可能。
# - 出力は「元フォルダ/MP4/ファイル名.mp4」として保存されます。
# 👉 もし「複数のVOBを結合して1つのMP4にしたい」場合は、`concat` を使うように改造できます。結合版も欲しいですか?
# # ==============================
まずますでありんす♪
でも
このスクリプトを
【Gemini】様に 見せて
ツッコミどころありますか?
何カ所か ツッコミをいただいた
Microsoft Copilot様
【Gemini】様
【chatGPT】様
競合させるのも 吉 かな???
じじぃ~
