Skip to content

ITCSsDeveloper/Python_Video_Bitrate_Reducer

Repository files navigation

🎬 Python Video Bitrate Reducer

โปรแกรมลดขนาดไฟล์วิดีโอด้วยการลด Bitrate แบบ Batch Processing พร้อม GPU Acceleration (AMD RX 5700 XT)

Screenshot

✨ คุณสมบัติ

  • 🚀 GPU Acceleration - รองรับ AMD (AMF), NVIDIA (NVENC), และ Intel (QSV) Encoders
  • 📊 Real-time Progress - แสดงความคืบหน้าแบบเรียลไทม์พร้อม Progress Bar
  • Batch Processing - ประมวลผลหลายไฟล์พร้อมกัน (Multi-threading)
  • 💾 ประหยัดพื้นที่ - ลดขนาดไฟล์ได้มากถึง 50-80% โดยคุณภาพคงเดิม
  • 🎯 ปรับแต่งได้ - เลือก Bitrate Reduction % และจำนวน Worker ตามต้องการ
  • 🌐 รองรับภาษาไทย - รองรับชื่อไฟล์และ Path ภาษาไทย/Unicode อย่างสมบูรณ์
  • 📁 รองรับหลายรูปแบบ - MP4, MOV, MKV, AVI, WEBM, FLV
  • 🎨 GUI ใช้งานง่าย - อินเทอร์เฟซภาษาไทยที่เข้าใจง่าย
  • 📈 สถิติครบถ้วน - แสดงขนาดไฟล์ก่อน-หลัง และพื้นที่ที่ประหยัดได้

📋 ความต้องการของระบบ

ซอฟต์แวร์

  • Windows 10/11 (64-bit)
  • Python 3.8+ (สำหรับการพัฒนา)
  • FFmpeg 4.0+ (จำเป็น - ดูวิธีติดตั้งด้านล่าง)

ฮาร์ดแวร์

  • GPU: AMD (AMF), NVIDIA (NVENC), หรือ Intel (QSV) สำหรับ Hardware Encoding
    • ตัวอย่าง: AMD RX 5700 XT, NVIDIA GTX 1060+, Intel HD Graphics 630+
  • RAM: 4GB ขึ้นไป (แนะนำ 8GB+ สำหรับการประมวลผลหลายไฟล์)
  • พื้นที่ว่าง: ขึ้นอยู่กับขนาดไฟล์ที่ต้องการประมวลผล

🔧 การติดตั้ง

1️⃣ ติดตั้ง FFmpeg

วิธีที่ 1: ดาวน์โหลดและแตกไฟล์ (แนะนำสำหรับผู้ใช้ทั่วไป)

  1. ดาวน์โหลด FFmpeg จาก: https://www.gyan.dev/ffmpeg/builds/
    • เลือก ffmpeg-release-essentials.zip (ขนาดเล็กกว่า)
  2. แตกไฟล์ไปที่โฟลเดอร์โปรเจค
  3. คัดลอก ffmpeg.exe และ ffprobe.exe จาก bin\ มาไว้ในโฟลเดอร์โปรเจค:
    # ตัวอย่าง: ถ้าแตกไฟล์ไว้ที่ D:\ffmpeg-8.0
    robocopy "D:\ffmpeg-8.0\bin" "D:\Python_VDO_Converter" ffmpeg.exe ffprobe.exe

วิธีที่ 2: ติดตั้งผ่าน Chocolatey (แนะนำสำหรับ Developer)

# ติดตั้ง Chocolatey ก่อน (ถ้ายังไม่มี): https://chocolatey.org/install
choco install ffmpeg

วิธีที่ 3: เพิ่ม FFmpeg เข้า PATH

  1. แตกไฟล์ FFmpeg ไปที่ใดก็ได้ เช่น C:\ffmpeg
  2. เพิ่ม Path เข้า System Environment Variables:
    • เปิด "Edit the system environment variables"
    • คลิก "Environment Variables"
    • เพิ่ม C:\ffmpeg\bin เข้าไปใน "Path"
  3. ทดสอบด้วยคำสั่ง:
    ffmpeg -version

2️⃣ ติดตั้ง Python Dependencies

สำหรับผู้ใช้ทั่วไป (ใช้ไฟล์ .exe)

  • ไม่ต้องติดตั้ง Python - ดาวน์โหลดไฟล์ .exe จาก Releases
  • แตกไฟล์และเปิด VideoConverter.exe

สำหรับ Developer (รันจาก Source Code)

# Clone repository
git clone https://github.com/ITCSsDeveloper/Python_Video_Bitrate_Reducer.git
cd Python_Video_Bitrate_Reducer

# สร้าง Virtual Environment
python -m venv .venv
.venv\Scripts\activate

# ติดตั้ง Dependencies
pip install -r requirements.txt

3️⃣ สร้างไฟล์ .exe (Optional - สำหรับ Developer)

# เปิด Virtual Environment
.venv\Scripts\activate

# สร้าง .exe พร้อม FFmpeg
pyinstaller --noconsole --onefile ^
  --add-binary "ffmpeg.exe;." ^
  --add-binary "ffprobe.exe;." ^
  --name "VideoConverter" ^
  video_converter_gui.py

# ไฟล์ .exe จะอยู่ที่ dist\VideoConverter.exe

🚀 วิธีใช้งาน

สำหรับผู้ใช้ทั่วไป (.exe)

  1. เปิดโปรแกรม VideoConverter.exe
  2. Browse Input Folder - เลือกโฟลเดอร์ที่มีไฟล์วิดีโอ
  3. Browse Output Folder - เลือกโฟลเดอร์สำหรับบันทึกไฟล์ (หรือเว้นว่างให้สร้างโฟลเดอร์ Output อัตโนมัติ)
  4. Bitrate Reduction % - ตั้งค่าเปอร์เซ็นต์การลด Bitrate (แนะนำ 30-50%)
  5. Max Workers - จำนวนไฟล์ที่ประมวลผลพร้อมกัน (แนะนำ 2-4)
  6. คลิก เริ่มแปลงไฟล์

สำหรับ Developer (Python)

# เปิด Virtual Environment
.venv\Scripts\activate

# รันโปรแกรม
python video_converter_gui.py

⚙️ การตั้งค่า GPU Encoder

โปรแกรมใช้ h264_amf (AMD) เป็นค่าเริ่มต้น หากต้องการเปลี่ยน GPU Encoder:

# เปิดไฟล์ video_converter_gui.py
# แก้ไขบรรทัดที่ 12:

# สำหรับ AMD
GPU_ENCODER = 'h264_amf'

# สำหรับ NVIDIA
GPU_ENCODER = 'h264_nvenc'

# สำหรับ Intel
GPU_ENCODER = 'h264_qsv'

# สำหรับ CPU (ช้ากว่า แต่รองรับทุกเครื่อง)
GPU_ENCODER = 'libx264'

📊 ตัวอย่างผลลัพธ์

📊 ไฟล์ทั้งหมด: 10 ไฟล์
✅ แปลงสำเร็จ: 10 ไฟล์
❌ แปลงไม่สำเร็จ: 0 ไฟล์
💾 ขนาดไฟล์เดิมรวม: 5.23 GB
💾 ขนาดไฟล์ใหม่รวม: 2.15 GB
🎯 ประหยัดพื้นที่รวม: 3.08 GB (58.9%)

🐛 แก้ปัญหาที่พบบ่อย

❌ Error: ไม่พบ FFmpeg

แก้ไข: ตรวจสอบว่า ffmpeg.exe และ ffprobe.exe อยู่ในโฟลเดอร์เดียวกับโปรแกรม หรืออยู่ใน PATH

# ตรวจสอบว่า FFmpeg อยู่ใน PATH หรือไม่
where ffmpeg

❌ UnicodeDecodeError

แก้ไข: อัปเดตโค้ดให้รองรับ Unicode (โปรแกรมเวอร์ชันใหม่แก้ไขแล้ว)

❌ GPU Encoder ไม่ทำงาน

แก้ไข:

  1. ตรวจสอบว่า GPU Driver เป็นเวอร์ชันล่าสุด
  2. ลองเปลี่ยน Encoder ตามการ์ดจอของคุณ (ดู การตั้งค่า GPU Encoder)
  3. ถ้ายังไม่ได้ ลองใช้ libx264 (CPU encoding)

⚠️ ไฟล์เสียงขาดหาย

สาเหตุ: โปรแกรมใช้ -c:a copy (คัดลอกเสียงตรงๆ) - ถ้าไฟล์ต้นฉบับมีปัญหา output อาจผิดพลาด
แก้ไข: เปลี่ยนเป็น -c:a aac -b:a 128k ในโค้ด (บรรทัดที่ 182)

📄 License

FFmpeg License

โปรแกรมนี้ใช้ FFmpeg ซึ่งเป็นซอฟต์แวร์ภายใต้ LGPL v2.1 และ GPL v2+

  • FFmpeg Official Site: https://ffmpeg.org/
  • FFmpeg License: https://ffmpeg.org/legal.html
  • หมายเหตุ: การใช้ FFmpeg ที่ต้อง link แบบ static อาจต้องปฏิบัติตาม GPL (ควรแจกจ่าย ffmpeg.exe แยก)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages