gpt4 book ai didi

directshow - 如何避免使用 GMFBridge 编写非 I 帧

转载 作者:行者123 更新时间:2023-12-01 01:27:59 25 4
gpt4 key购买 nike

我使用 GMFBridge 将流源视频文件录制成直接文件。就像 DSBoy
GMFBridge with GMF GDCL MPEG 4 Mux Filter

FirstPart ==>  SourceFilter--> BridgeSinkFilter
SecondPart ==> BridgeSourceFilter ---> GDCL MPEG 4 Mux Filter---> FileWriter

我以 10 分钟的间隔记录流并为下一条记录打开新文件。
它可以工作,但是虽然第一条记录正常,但其他记录在开头时以绿色坏帧打开(视频的其余部分正常)。

我想当我停止使用网桥的文件编写器,并用新文件重新创建它时,它会将非 I 帧写入文件。如果是这样,我怎样才能避免在使用此 directshow 过滤器结构的记录开头写入非 I 帧?

最好的祝愿

最佳答案

你的解释听起来是正确的。 GMFBridge 最初是为未压缩的视频设计的,因此您需要添加一些代码才能使其工作。

最简单的解决方案是在 mux 图中添加代码,就在 mux 之前,它会丢弃数据,直到您看到 GOP 开始,但这并不理想,因为您会丢失数据。

要正确执行此操作,您需要在看到 GOP 开始时触发桥接开关。实现此目的的一种方法是编写一个 GOP 检测器过滤器,该过滤器将位于桥接接收器前面的上游图中。

当您准备好切换时(10 分钟后),该应用程序将启用 GOP 检测器。当 GOP 检测器看到 GOP 开始时,它会阻止传递,并向应用程序发出信号。当应用程序看到信号时,它会将桥切换到新的多路复用图,然后在 GOP 检测器上重新启用传输。

G

关于directshow - 如何避免使用 GMFBridge 编写非 I 帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6518678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com