在旧机器上流畅播放 1920x1080 的最佳视频编解码器(质量不重要)
我是视频技术的新手,因此任何反馈(例如我是否未明确说明问题)将不胜感激。
我需要在 Windows 上显示动画(目前由大约一千个 PNG 组成),并尝试确定该工作的最佳视频编解码器或参数。
- 视频播放必须以 30 fps 流畅
- 在辅助显示器上输出显示为 1920x1080
- 质量不重要(在限制范围内)
- 将在顶部显示 Alpha 混合动画,因此没有 DXVA
- 必须在较旧的硬件上运行(Core Duo 4400 + nVidia 9800)
- 目前使用 DirectShow 来显示视频。
问题:
- CPU 将源缩小到 1/2 大小(甚至 1/4)并让 CPU 在运行时拉伸它是否更容易?
- 有没有一种视频编解码器比其他编解码器更容易占用 CPU 资源?
- 视频编解码器是否有参数意味着需要较少的解压缩? (视频将存储在高清硬盘上,因此大小并不重要,除非它会影响程序性能)。
迄今为止: - ffmpeg 默认的 H.264 会产生严重的撕裂和一些卡顿。 - 来自 VirtualDub 的未压缩视频会产生严重的卡顿现象。
这个问题有很多不同的自由度,我很困惑。读者的任何建议将不胜感激。谢谢。
I'm new to Video technology, so any feedback (such as if I've underspecified the problem) would be greatly appreciated.
I need to display an animation (currently composed of about a thousand PNGs) on Windows and am trying to determine the best video codec or parameters for the job.
- Video playback must be smooth at 30 fps
- Output display is 1920x1080 on a secondary monitor
- Quality does not matter (within limits)
- Will be displaying alpha blended animation on top, so no DXVA
- Must run on older hardware (Core Duo 4400 + nVidia 9800)
- Currently using DirectShow to display the video.
Question:
- Is it easier on the CPU to shrink the source to 1/2 size (or even 1/4) and have the CPU stretch it at run time?
- Is there a video codec that is easier on the CPU than others?
- Are there parameters for video codecs that mean less decompression is required? (The video will be stored on the HD, so size doesn't matter except as it impacts program performance).
So far:
- H.264 from ffmpeg defaults produces terrible tearing and some stuttering.
- Uncompressed video from VirtualDub produces massive stuttering.
There are so many different degrees of freedom to this problem, I'm flailing. Any suggestions by readers would be much appreciated. Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
MJPEG 应该可以工作。大约 3 年前,我用它来运行 1080i60,播放从来都不是问题。即使编码也可以在性能与您所描述的非常相似的机器上进行。
对于高质量视频,文件大小约为 10MB/s。
缩小视频会有所帮助,因为如果您使用 DirectX 将视频绘制到屏幕上,则可以使用 GPU 来拉伸它。
MJPEG should work. I used it for 1080i60 some 3 years back, and the playback was never an issue. Even encoding worked on-the-fly with a machine of quite similar performance to what you describe.
File size will be about 10MB/s for good quality video.
Shrinking the video will help, because if you are drawing the video to screen using e.g. DirectX, you can use the GPU to stretch it.