播放性能最佳的视频文件格式?

播放性能最佳的视频文件格式?

我有许多不同长度、分辨率、音频格式、音频和图像质量的 MP4 MKV MOV 文件。我应该将它们转换为什么格式才能获得最佳播放性能且不损失质量?

我的研究((> 小时的) 浏览器历史记录)

为了避免 HDD 瓶颈,我使用了 RAMDisk,但有些文件太大。

PC Specs
  1. Dell OptiPlex GX280,最新 BIOS
  2. 英特尔奔腾 4 2.8GHz Northwood(32 位)
  3. 2.5 GB 内存
  4. 硬盘驱动器
    • ST3200014A
    • 2×WDC WD400BB-75FRA0
  5. 操作系统
    • Lubuntu 14.10(保持更新,待替换)
    • Windows 7 Ultimate(保持最新)

答案1

如果你不想损失质量,那么你唯一的选择就是保持视频原样,或者用无损视频/音频编解码器(例如 HuffYUV 视频 + PCM 音频,或视频的 ffv1)进行转换。当然,这会增加文件大小,并在正常情况下导致性能下降。

我说“正常”是因为如果你想进行非线性视频编辑,使用无损(或至少只有 I 帧)编解码器效率更高,这样你就可以访问任何帧的视频,而不必解码其他帧。但对于正常的视频播放来说,这不是问题。

您可能从 DVD 或蓝光光盘上截取或从互联网上下载的视频经过了高度压缩,它们只需要存储介质提供大约 500 kBit/s 到 2 MBit/s 的带宽。HDD 可以提供的带宽远不止这些。您真正的瓶颈是使用 12 年的 CPU,它必须及时解码所有视频信息。

如果您希望以较好的质量观看高清视频,请考虑升级到新系统。

您的最后一个选择(如果您可以牺牲质量)是将视频转换为更小的尺寸(例如从 1080p 到 720p)和/或选择对 CPU 要求较低的视频编解码器(例如从 H.264 到 MPEG-4 Part 2)。

答案2

尝试 64 位 Linux。或者可能只需一个 amd64 内核和一个 64 位静态 mplayer 二进制文件即可进行测试,而无需重新安装。

在 x86 / x86-64 上,以 64 位模式运行的代码效率显著提高,因为无需向后兼容古老的 x86 调用约定。对于多媒体而言,更重要的是,普通寄存器和 SSE (xmm) 寄存器的数量是原来的两倍。

如果你在实时播放普通视频时遇到问题,那么可能是你的视频硬件存在瓶颈。请检查 mplayer -vo null ...

如果您默认使用-vo vdpau,那么这可能是您遇到问题的原因。vdpau 很新,但在最近的 Ubuntu/mplayer 中默认启用。 -vo xv通常很好(即高效),-vo gl值得尝试。

如果该 CPU 上有超线程,请使用mplayer -lavdopts threads=2

如果没有,你可以尝试 mplayer -lavdopts fast:skiploopfilter input.mp4

这看起来很糟糕,特别是对于低比特率视频,其中环路滤波器对 H.264 的影响更大。(解码后的图片在用作后续帧的参考之前会进行过滤。跳过这一步会导致错误累积。)

如果您在使用 YouTube 时遇到问题,但在本地播放时没有问题,那只是因为 Adob​​e 的二进制 blob 与 mplayer 相比太糟糕了。使用 google chrome 可以更好地支持 YouTube 上的 html5 视频,因此它将默认使用 chrome 解码的 html5,而不是 Adob​​e 的垃圾 flash 解码。

相关内容