โปรแกรมลดขนาดไฟล์วิดีโอด้วยการลด Bitrate แบบ Batch Processing พร้อม GPU Acceleration (AMD RX 5700 XT)
- 🚀 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+ สำหรับการประมวลผลหลายไฟล์)
- พื้นที่ว่าง: ขึ้นอยู่กับขนาดไฟล์ที่ต้องการประมวลผล
- ดาวน์โหลด FFmpeg จาก: https://www.gyan.dev/ffmpeg/builds/
- เลือก ffmpeg-release-essentials.zip (ขนาดเล็กกว่า)
- แตกไฟล์ไปที่โฟลเดอร์โปรเจค
- คัดลอก
ffmpeg.exeและffprobe.exeจากbin\มาไว้ในโฟลเดอร์โปรเจค:# ตัวอย่าง: ถ้าแตกไฟล์ไว้ที่ D:\ffmpeg-8.0 robocopy "D:\ffmpeg-8.0\bin" "D:\Python_VDO_Converter" ffmpeg.exe ffprobe.exe
# ติดตั้ง Chocolatey ก่อน (ถ้ายังไม่มี): https://chocolatey.org/install
choco install ffmpeg- แตกไฟล์ FFmpeg ไปที่ใดก็ได้ เช่น
C:\ffmpeg - เพิ่ม Path เข้า System Environment Variables:
- เปิด "Edit the system environment variables"
- คลิก "Environment Variables"
- เพิ่ม
C:\ffmpeg\binเข้าไปใน "Path"
- ทดสอบด้วยคำสั่ง:
ffmpeg -version
- ไม่ต้องติดตั้ง Python - ดาวน์โหลดไฟล์ .exe จาก Releases
- แตกไฟล์และเปิด
VideoConverter.exe
# 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# เปิด 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- เปิดโปรแกรม
VideoConverter.exe - Browse Input Folder - เลือกโฟลเดอร์ที่มีไฟล์วิดีโอ
- Browse Output Folder - เลือกโฟลเดอร์สำหรับบันทึกไฟล์ (หรือเว้นว่างให้สร้างโฟลเดอร์
Outputอัตโนมัติ) - Bitrate Reduction % - ตั้งค่าเปอร์เซ็นต์การลด Bitrate (แนะนำ 30-50%)
- Max Workers - จำนวนไฟล์ที่ประมวลผลพร้อมกัน (แนะนำ 2-4)
- คลิก เริ่มแปลงไฟล์
# เปิด Virtual Environment
.venv\Scripts\activate
# รันโปรแกรม
python video_converter_gui.pyโปรแกรมใช้ 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%)
แก้ไข: ตรวจสอบว่า ffmpeg.exe และ ffprobe.exe อยู่ในโฟลเดอร์เดียวกับโปรแกรม หรืออยู่ใน PATH
# ตรวจสอบว่า FFmpeg อยู่ใน PATH หรือไม่
where ffmpegแก้ไข: อัปเดตโค้ดให้รองรับ Unicode (โปรแกรมเวอร์ชันใหม่แก้ไขแล้ว)
แก้ไข:
- ตรวจสอบว่า GPU Driver เป็นเวอร์ชันล่าสุด
- ลองเปลี่ยน Encoder ตามการ์ดจอของคุณ (ดู การตั้งค่า GPU Encoder)
- ถ้ายังไม่ได้ ลองใช้
libx264(CPU encoding)
สาเหตุ: โปรแกรมใช้ -c:a copy (คัดลอกเสียงตรงๆ) - ถ้าไฟล์ต้นฉบับมีปัญหา output อาจผิดพลาด
แก้ไข: เปลี่ยนเป็น -c:a aac -b:a 128k ในโค้ด (บรรทัดที่ 182)
โปรแกรมนี้ใช้ 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 แยก)
