【发布时间】:2015-11-25 11:44:56
【问题描述】:
我在播放视频时看到了一些奇怪的行为,我使用 DirectShow 创建了视频 - 问题仅在 Windows 7 上(W8/W10 工作正常)。
图表是这样构建的:
Source(Webcam) -> H264 Encoder -> MP4 Mux -> File Writer
所以我使用的是 H264 编码器,但是由于某种原因,编码器会在编码器过滤器之后删除所有关键帧(同步)。使用另一个较旧的 H264 编码器,我可以看到它每 20 帧完美地设置一个关键帧(同步),并且该编码器的输出文件在所有操作系统上都能完美运行。
所以我怀疑问题在于编码器没有正确设置关键帧,因此无法正确搜索(但是 Windows 8 和 10 可以弄清楚如何在没有关键帧的情况下正确搜索文件,而不是 Windows 7)
在 Windows 7 上使用 VLC/WMP 搜索文件时文件会表现得很奇怪(很长一段时间没有视频,灰色像素化视频超过 10 秒,视频突然停止......)
所以我的问题是,如何在 DirectShow 中的编码过滤器上设置关键帧的间隔?
【问题讨论】:
-
尼古拉斯,出于好奇,您使用的是什么 H264 编码器?
-
@MikeDinescu 我正在使用 VisioForge H264
-
由于 VisioForge 似乎是一种商业产品,我认为最好的办法是联系开发人员并索取文档 - 如果该功能不可用(或未正确实施),他们添加/修复它。
标签: video encoding directshow h.264 directshow.net