https://trac.ffmpeg.org/wiki/HWAccelIntro
FFmpeg cung cấp một hệ thống con để tăng tốc phần cứng.
Tăng tốc phần cứng cho phép sử dụng các thiết bị cụ thể (thường là card đồ họa> hoặc các thiết bị cụ thể khác) để thực hiện xử lý đa phương tiện. Điều này cho phép sử dụng phần cứng chuyên dụng để thực hiện tính toán đòi hỏi trong khi giải phóng CPU khỏi các tính toán như vậy. Thông thường khả năng tăng tốc phần cứng cho phép các thiết bị phần cứng cụ thể (thường là GPU) thực hiện các hoạt động liên quan đến giải mã và mã hóa luồng video hoặc lọc video.
Khi sử dụng FFmpeg công cụ, giải mã được hỗ trợ CTNH được bật bằng cách sử dụng thông qua -hwaccel
tùy chọn, cho phép giải mã cụ thể. Mỗi bộ giải mã có thể có các giới hạn cụ thể (ví dụ: bộ giải mã H.264 chỉ có thể hỗ trợ cấu hình cơ sở). Mã hóa hỗ trợ CTNH được kích hoạt thông qua việc sử dụng một bộ mã hóa cụ thể (ví dụ: nvenc_h264). Lọc xử lý có hỗ trợ CTNH chỉ được hỗ trợ trong một vài bộ lọc và trong trường hợp đó, bạn kích hoạt mã OpenCL thông qua tùy chọn bộ lọc.
Có một số API tiêu chuẩn tăng tốc phần cứng, một số trong số đó được FFmpeg hỗ trợ ở một mức độ nào đó.
Tùy chọn "-hwaccel auto" cho phép bạn chọn giải mã tăng tốc dựa trên phần cứng để sử dụng cho phiên mã hóa. Bạn có thể thêm thông số này bằng "tự động" trước khi nhập (nếu x264 của bạn được biên dịch với hỗ trợ OpenCL, bạn có thể thử thêm param -x264opts param), ví dụ:
ffmpeg -hwaccel auto -i input -vcodec libx264 -x264opts opencl output
Xin lỗi, nhưng tôi không thể nhớ cách liệt kê tất cả các tùy chọn có sẵn cho "-hwaccel".
Ngoài ra, bạn có thể thử điều này:
https://wiki.archlinux.org/index.php/Hardware_video_accelutions