我目前正在使用我用 Python 制作的一个小软件程序,该程序在我的个人笔记本电脑上使用 ffmpeg,该笔记本电脑具有运行它的资格(核心 i7、16gb ram 等),但我想将它移到完全重置的旧电脑上操作系统除外。
以下是旧笔记本电脑的规格:
250GB 硬盘
Windows Vista 家庭高级版
2GB 内存
英特尔迅驰 2 处理器
我想我的主要问题是,ffmpeg 是否支持较旧的操作系统(例如 Windows Vista)和(按照今天的标准)相对低端的硬件?我在 ffmpeg.org 或其他任何地方都找不到任何系统要求页面。
程序处理的视频分辨率相对较低,码率较低,不超过 2 分 30 秒。
实际上,运行 FFMPEG 没有任何要求。它几乎可以在任何操作系统和硬件上运行。
真正的问题是:它能否很好地执行您尝试执行的功能?虽然您指定的计算机很旧,但 FFMPEG 很可能适用于低质量视频。
FFmpeg(和 x264 之类的编解码器)几乎可以在任何东西上编译和运行(它是用相当可移植的 C 语言编写的),只是速度有多快的问题。
如果您只是在解码和运行过滤器或其他东西,那么您可能会很好,尤其是在不需要实时播放高分辨率视频的情况下。
如果您只需要音频,那么与视频相比,它的计算量不是很大,并且对于大多数事情来说应该没问题。
旧 CPU 上的视频编码/解码性能:
视频质量(比特率)不是关键点,它是分辨率(未压缩帧占用多少 RAM )。此外,处理 2 倍的像素只需要更多的 CPU 时间来解码更多的宏块。您可能会发现 720p比 1080p 快得多。
如果您确实没有足够的 RAM 来在内存中保留几十或几百帧,那么当您到达交换空间时,解码/编码速度将一落千丈。特别是在编码时,您希望编码器能够提前做出关于在哪里花费比特的正确决策。
另一个较软的阈值是 L3 缓存大小,特别是考虑到旧 CPU 的内存带宽相对较低。
迅驰就像奔腾-M时代。早于 SSSE3,因此您没有 SIMD 字节洗牌 (
pshufb
),并且 SIMD 执行单元只有 64 位宽。psadbw xmm0, xmm1
(类似计算 2 组 8 字节并行的绝对差之和的指令将解码为 2 个单独的微指令。)因此,与几年后的 Nehalem 或 Sandybridge CPU 相比,h.264 解码/编码速度将显着降低。 与具有 AVX2 和非常高效的未对齐矢量负载或 Zen / Zen 2 的现代内核(如 Haswell 或 Skylake)相比,时钟频率要差得多。
您的迅驰 2 可能也只有单核,编码速度几乎与核心数量呈线性关系,至少对于前几个核心。如果您习惯于四核系统,那么除了非常大的每核性能下降之外,这将是另一个慢 4 倍的因素。
而 h.265 编码将几乎是一个失败的原因。例如,在获得四核 Skylake(i7-6700k 和 DDR4-2666)之前,我在旧的 Core 2(E6600 2.4GHz 双核 Conroe 和 DDR2-566)系统上玩了一些 x265。对于像 crf 25 这样的 1920x1080 编码,在 Skylake、IIRC 上,x265 -preset 速度慢了大约 40 倍。
但是 x265 对旧 CPU 的支持几乎没有那么好。与 x264 不同,它在 Core 2 过时后开始开发。对于 x264,Core 2 曾经是顶级产品,因此 x264 对旧 CPU 有很好的优化。它应该有针对 Centrino 2 老式 CPU 调整的手写 asm,只是 CPU 可以做的不多。所以“它所能做的最好”仍然不是很好。
是的,正如@Keltari 所说
ffmpeg
,没有任何最低要求。它将在支持的操作系统上的任何硬件上运行。但是由于视频编辑是一项繁重的任务,因此您的笔记本电脑的规格将远远落后于高质量的视频。您需要更多 CPU 才能获得更快的速度。默认情况下,它使用最佳线程数。如果你有更多的核心,速度和编码会更快。RAM 通常会影响过滤器、比特率和其他编码选项。GPU 也会影响,如果您使用的是 NVidia,那么它最多支持 2 个并行编码。最好买个英特尔 GPU。
而对于 Windows 操作系统,Windows XP 的支持已经结束。仍然支持 Vista。
的确,任何东西都可以正常运行 FFMPEG。
但我认为大多数人在这里缺少的是旧硬件的电效率更差:执行相同的计算需要更多的功率。
鉴于您将在相同的工作中消耗更少的功率,因此仍然使用更新的计算机进行简单的视频渲染符合您的最大利益。
这可能是一个老问题,但我在云提供商上运行了一些基准测试,这可能表明如何
FFmpeg
在不同硬件上运行。使用 FFmpeg 对云提供商进行基准测试
该基准测试是在多个云提供商上使用相同的文件和相同的命令完成的,以测试它们的性能。
输入文件
大小:719.966.208 字节
格式:AVI
持续时间:104 分钟
质量:480p
您可以从此处下载输入文件,以重现测试。 https://mega.nz/file/Epd0yJyK#LDg8qLTebY0x2PEAUdfzigYm3NSviWi3asQ849q5Uv0
FFmpeg 命令
慢速预设用于尽可能地保持质量。
结果
1. AMD EPYC 7281
2. AMD EPYC 7401P
3. 1 个 vCPU 不会转换为 1 个核心,但会转换为 CPU 核心的 0.25%。这就解释了它的性能。2 个 vCPU 转换为 50%。这仅适用于 e2-micro 和 e2-small 实例
4. 高核时钟 3.4 GHz
5. 低核时钟 2.4 GHz