import os
import subprocess

DOWNLOADS_DIR = "/home/tebresaneh/public_html/vieraclient/downloads"
CHUNKS_DIR = os.path.join(DOWNLOADS_DIR, "chunks")

def split_single_video():
    os.makedirs(CHUNKS_DIR, exist_ok=True)
    
    # پیدا کردن ویدیوها در پوشه downloads (به جز پوشه chunks)
    video_files = [
        f for f in os.listdir(DOWNLOADS_DIR)
        if f.endswith((".mp4", ".mkv", ".avi")) and os.path.isfile(os.path.join(DOWNLOADS_DIR, f))
    ]
    
    if not video_files:
        print("❌ هیچ فایل ویدیویی جدیدی در پوشه downloads پیدا نشد!")
        return
        
    # انتخاب اولین فایل موجود
    target_video_name = video_files[0]
    target_video_path = os.path.join(DOWNLOADS_DIR, target_video_name)
    
    print(f"🎬 ویدیوی پیدا شده برای برش: {target_video_name}")
    
    output_pattern = os.path.join(CHUNKS_DIR, "chunk_%03d.mp4")
    
    # برش زمانی ۱۰ دقیقه‌ای (۶۰۰ ثانیه) بدون re-encode
    cmd = [
        "ffmpeg",
        "-i", target_video_path,
        "-c", "copy",
        "-map", "0",
        "-f", "segment",
        "-segment_time", "600",
        "-reset_timestamps", "1",
        output_pattern
    ]
    
    result = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
    
    if result.returncode != 0:
        print(f"❌ خطا در برش ویدیو با FFmpeg:\n{result.stderr}")
        return
        
    chunks = [f for f in os.listdir(CHUNKS_DIR) if f.startswith("chunk_") and f.endswith(".mp4")]
    print(f"✅ ویدیو با موفقیت خرد شد. تعداد {len(chunks)} قطعه در پوشه chunks/ آماده شد.")
    print(f"💡 نکته: فایل ویدیویی اصلی ({target_video_name}) را پس از اتمام کار می‌توانید پاک کنید تا فضای سرور آزاد بماند.")

if __name__ == "__main__":
    split_single_video()