ความเร็วในการแปลงวิดีโอด้วย FFmpeg ขึ้นอยู่กับหลายปัจจัย เช่น codec ต้นฉบับ, ความละเอียด, ความยาว, คำสั่งที่ใช้, และประสิทธิภาพของเครื่อง
ปัจจัยหลักที่ส่งผลต่อความเร็ว
1. Codec ของไฟล์ต้นฉบับ
Codec | ความเร็ว |
---|---|
H.264 (AVC) | ✅ เร็ว |
MPEG4 / MJPEG | ✅ เร็ว |
HEVC (H.265) | ❌ ช้า |
AV1 | ❌ ช้ามาก |
❗ ไฟล์ .hevc
= ใช้ HEVC codec → ถอดรหัสช้า
2. ความละเอียด (Resolution)
Resolution | ความเร็ว |
---|---|
3840x2160 (4K) | ❌ ช้า |
1920x1080 (Full HD) | ⚠ กลาง |
1280x720 (HD) | ✅ เร็ว |
✅ ลด resolution จะช่วยลดเวลา encode ได้มาก
3. ความยาวของวิดีโอ
Duration | ความเร็ว |
---|---|
สั้น (< 1 นาที) | ✅ เร็ว |
กลาง (1–5 นาที) | ⚠ ปานกลาง |
ยาว (> 5 นาที) | ❌ ช้า |
4. คำสั่ง FFmpeg ที่ใช้
คำสั่ง | อธิบาย | ผลต่อความเร็ว |
---|---|---|
| encode เร็วสุด | ✅ เร็วมาก |
| คุณภาพต่ำ → encode ไว | ✅ เร็ว |
| copy video ไม่แปลง | ✅ เร็วที่สุด |
| ลดขนาดภาพ | ❌ ช้าลง |
| เปิดเร็วบนเว็บ | ➖ ไม่มีผลกับ encode |
| ลบ metadata | ➖ เล็กน้อย |
5. ประสิทธิภาพของเครื่อง
ปัจจัย | ผลต่อความเร็ว |
---|---|
CPU (core/thread เยอะ) | ✅ encode เร็วขึ้น |
RAM พอเพียง | ✅ ไม่ค้าง |
SSD vs HDD | ✅ เขียนไฟล์เร็วขึ้น |
GPU (เช่น NVIDIA NVENC) | ✅✅ แปลงเร็วขึ้นหลายเท่า |
ตัวอย่าง Preset สำหรับใช้งาน
🟢 คุณภาพต่ำ (เร็วสุด – ไฟล์เล็ก)
[
'-vf', 'scale=1280:-1',
'-c:v', 'libx264',
'-preset', 'ultrafast',
'-crf', '51',
'-tune', 'fastdecode',
'-movflags', 'faststart',
'-map_metadata', '-1',
'-c:a', 'aac',
'-b:a', '96k'
]
🟡 คุณภาพกลาง (สมดุล)
[
'-vf', 'scale=1920:-1',
'-c:v', 'libx264',
'-preset', 'veryfast',
'-crf', '28',
'-c:a', 'aac',
'-b:a', '128k'
]
🔵 คุณภาพสูง (ชัดแต่ช้า)
[
'-vf', 'scale=1920:-1',
'-c:v', 'libx264',
'-preset', 'slow',
'-crf', '20',
'-c:a', 'aac',
'-b:a', '192k'
]