import os
from pathlib import Path
import subprocess
while True:
print("Cut video")
video_path = input("Ruta del video: ")
input_path = Path(video_path)
if not input_path.is_file():
print("El archivo no existe. Intente de nuevo.")
continue
output_dir = input_path.parent / "cortes"
output_dir.mkdir(exist_ok=True)
duration = 3
count = 1
# Obtiene la duración del video
result = subprocess.run(['ffmpeg', '-i', str(input_path)], stderr=subprocess.PIPE, text=True)
# Debug: imprimir stderr
print(result.stderr)
duration_total = None
for line in result.stderr.split('\n'):
if "Duration:" in line:
parts = line.split(",")[0].split(":")[1:] # Extrae h, m, s
duration_total = ":".join(part.strip() for part in parts)
break
if duration_total is None:
print("No se pudo encontrar la duración del video.")
continue
print(f"Duration total: {duration_total}")
if duration_total:
try:
h, m, s = map(float, duration_total.split(":"))
total_seconds = int(h * 3600 + m * 60 + s)
for start in range(0, total_seconds, duration):
output_file = output_dir / f"corte_{count:03d}.mp4"
subprocess.run(['ffmpeg', '-ss', str(start), '-i', str(input_path), '-t', str(duration), '-c', 'copy', str(output_file)])
count += 1
print("√")
except ValueError:
print("Error al procesar la duración total. Formato incorrecto.")
else:
print("Error al procesar la duración total.")