ความเร็วในการแปลงวิดีโอด้วย 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 ที่ใช้

คำสั่ง

อธิบาย

ผลต่อความเร็ว

-preset ultrafast

encode เร็วสุด

✅ เร็วมาก

-crf 51

คุณภาพต่ำ → encode ไว

✅ เร็ว

-c:v copy

copy video ไม่แปลง

✅ เร็วที่สุด

-vf scale=1280:-1

ลดขนาดภาพ

❌ ช้าลง

-movflags faststart

เปิดเร็วบนเว็บ

➖ ไม่มีผลกับ encode

-map_metadata -1

ลบ 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'
]