我在我的安卓手机上录了几个视频,它们占用了超过 128GiB 的空间,所以我决定使用 ffmpeg 减少视频的文件大小。
我打算在保持合理的视觉质量的同时最小化文件大小。
视频有四个重要特征:比特率、帧率、分辨率和持续时间。
帧率表示每秒显示多少帧,比特率表示存储一秒钟的视频需要多少位,分辨率是帧的宽度和高度,以像素为单位。
我对视频了解不多,但如果我的数学很好,文件大小应该等于比特率乘以长度。
图像质量很难衡量,但在固定分辨率下,根据经验,单个像素占用的字节数越多,图像质量就越好,因此这意味着更大的文件大小等于固定分辨率下的更好质量。
现在假设分辨率是固定的,每帧的大小可以通过比特率除以帧率来计算,所以帧的文件大小与比特率成正比,与帧率成反比,假设文件大小与视觉质量成正比,这意味着帧率成反比与视觉质量成正比。
那么,在固定比特率和固定分辨率下,增加帧率实际上会降低图像质量吗?我的推理对吗?我曾尝试用谷歌搜索该主题,但很少有结果与往常一样相关,而相关的结果却给出了相互矛盾的答案。
这是正确的。
对于静止图像,是的,假设相同的压缩算法。对于一部电影,您仍然有额外的帧率变量,这会影响感知质量。
这是假设所有帧都相等,而视频压缩中并非如此。完整存储的关键帧相对较少。大多数帧都表示为相对于前一帧的变化,因为它更节省空间(因为帧之间的变化通常并不剧烈)。
这是大致正确的,除了关系不是线性的,因为你不能把关键帧放得太稀疏(上面的链接解释了原因)。但对于大多数视频来说,这应该是一个相当不错的近似值。对于超慢动作视频或视频幻灯片等极端情况,我预计会有一些不同的特征。
如果您在谈论静止图像的质量,那么是的。但这不是人类感知质量的方式。对于大多数内容,30 fps 的 720p 比 3 fps 的 4K 更容易容忍,尽管每秒的像素数大致相同。那是因为在 30 fps 时,您会获得预期的运动错觉。另一方面,如果你是例如。录制幻灯片时,降低帧率是个好主意,因为没有运动,并且将更多字节预算用于每帧中的细节是有意义的。