我的问题是 FFmpeg 的吞吐量严重受限于 SMB 性能的速度。使用 Wireshark 我发现,在 Windows 7 上,FFmpeg 写入以 500 字节数据包的形式发送到我的 Synology SMB 共享。在 Linux 上运行相同版本的 FFmpeg,在同一台 PC 上,对同一文件进行转码,写入相同的 Synology SMB 共享,65536 字节数据包被发送到 SMB 服务器,导致吞吐量几乎翻倍。如何让 Windows 使用更大的数据包大小?
问题在于,这种吞吐量瓶颈意味着在 Windows 上运行 FFmpeg 会比在 Linux 上运行慢 50%,而且在 Linux 服务器上运行它是不可能的。
写入 Windows 服务器 SMB 共享时可实现相同的速度,因此它并不特定于 Linux Samba 软件。