很长一段时间以来,我一直在使用 ffmpeg 将 iPhone 上拍摄的 mov 文件转换为 mp4,使用以下命令:
ffmpeg -i "in.MOV" -q:v 1 "out.MP4"
结果是文件质量好且体积(大小)相对较小。
最近发现ffmpeg已经支持硬件加速了。我决定尝试,但在文档中感到困惑。有许多复杂且难以理解的参数。谷歌帮我写了这行:
ffmpeg -vaapi_device /dev/dri/renderD129 -i "in.MOV" -c:v h264_vaapi -vf 'format=nv12,hwupload' -c:a aac "out.MP4"
它有效。通过硬件加速,文件的转换速度要快得多,但 out.mp4 文件的大小比原始文件的大小要大得多。
请告诉我如何获得与第一个命令(质量/大小)后相同的结果,但使用硬件加速。
设备/操作系统:
OS: Linuxmint 20.2 uma
Kernel: x86_64 Linux 5.4.0-91-generic
DE: Xfce
WM: Xfwm4
CPU: Intel Core i3-2310M @ 4x 2.1GHz
GPU: Mesa DRI Intel(R) HD Graphics 3000 (SNB GT2)
ffmpeg: 4.2.4
$ lspci -k | grep -i -A 2 -E "(vga|3d|display)"
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
DeviceName: 32
Subsystem: Hewlett-Packard Company 2nd Generation Core Processor Family Integrated Graphics Controller
--
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Seymour [Radeon HD 6400M/7400M Series]
Subsystem: Hewlett-Packard Company Radeon HD 6490M
Kernel driver in use: radeon