https://trac.ffmpeg.org/wiki/HWAccelIntro
FFmpeg จัดเตรียมระบบย่อยสำหรับการเร่งด้วยฮาร์ดแวร์
การเร่งด้วยฮาร์ดแวร์ช่วยให้สามารถใช้อุปกรณ์เฉพาะ (โดยปกติคือการ์ดกราฟิก> หรืออุปกรณ์เฉพาะอื่น ๆ ) เพื่อดำเนินการประมวลผลมัลติมีเดีย สิ่งนี้อนุญาตให้ใช้ฮาร์ดแวร์เฉพาะเพื่อทำการคำนวณที่เรียกร้องในขณะที่ปลดปล่อย CPU จากการคำนวณดังกล่าว โดยทั่วไปการเร่งด้วยฮาร์ดแวร์ช่วยให้อุปกรณ์ฮาร์ดแวร์เฉพาะ (โดยทั่วไปคือ GPU) เพื่อดำเนินการที่เกี่ยวข้องกับการถอดรหัสและเข้ารหัสสตรีมวิดีโอหรือการกรองวิดีโอ
เมื่อใช้ FFmpeg เครื่องมือการถอดรหัสแบบช่วย HW จะถูกเปิดใช้งานโดยใช้-hwaccel
ตัวเลือกซึ่งเปิดใช้งานตัวถอดรหัสเฉพาะ ตัวถอดรหัสแต่ละตัวอาจมีข้อ จำกัด เฉพาะ (ตัวอย่างเช่นตัวถอดรหัส H.264 อาจรองรับโปรไฟล์พื้นฐานเท่านั้น) การเข้ารหัส HW-assisted ถูกเปิดใช้งานผ่านการใช้ตัวเข้ารหัสเฉพาะ (ตัวอย่างเช่น nvenc_h264) การกรองการประมวลผลที่ได้รับการสนับสนุนจาก HW ได้รับการสนับสนุนในตัวกรองเพียงไม่กี่ตัวเท่านั้นและในกรณีนี้คุณเปิดใช้งานรหัส OpenCL ผ่านตัวเลือกตัวกรอง
มี API มาตรฐานการเร่งความเร็วฮาร์ดแวร์หลายตัวซึ่งบางตัวรองรับ FFmpeg ในระดับหนึ่ง
ตัวเลือก "-hwaccel auto" ช่วยให้คุณเลือกการถอดรหัสแบบเร่งด้วยฮาร์ดแวร์เพื่อใช้สำหรับเซสชันการเข้ารหัส คุณสามารถเพิ่มพารามิเตอร์นี้ด้วย "อัตโนมัติ" ก่อนที่จะป้อนข้อมูล (หาก x264 ของคุณรวบรวมด้วยการสนับสนุน OpenCL คุณสามารถลองเพิ่ม -x264opts พารามิเตอร์) ตัวอย่างเช่น:
ffmpeg -hwaccel auto -i input -vcodec libx264 -x264opts opencl output
ขออภัยฉันจำวิธีแสดงรายการตัวเลือกที่ใช้ได้ทั้งหมดสำหรับ "-hwaccel" ไม่ได้
นอกจากนี้คุณสามารถลองสิ่งนี้:
https://wiki.archlinux.org/index.php/Hardware_video_acceleration