1

这是一个奇怪的问题,我知道。

我现在正在做一个艺术项目,我们很失望,当我们随意搜索文件时,我们看不到任何压缩伪影。源文件主要是 mp4 和 avi 文件的混合。应用程序将需要在文件之间跳转并随机寻找时间轴中的不同偏移量。

我应该只构建自定义管道并将缓冲区调整到零吗?有没有办法告诉 decodebin2 直接寻找并忽略关键帧?

我对非 gstreamer 选项持开放态度,但我更愿意坚持使用 python。

4

2 回答 2

1

最简单的方法是在流中引入错误。随机位/突发错误会导致不可预知的毛刺!如果您愿意修改诸如身份之类的插件,请将其插入解码器之前并将其更改为以一定概率插入随机错误。根据您的喜好更改概率。如果您可以避免破坏帧的标题,但您可能会遇到更奇特的故障。

更简单的解决方案。把你的文件..随机插入一个程序读取它们并写入新版本的错误。将这些版本提供给您的程序。

第一种方法是动态随机效果和后来的方法静态效果[再次运行时文件将给出相同的工件] :)

于 2012-12-14T21:57:30.417 回答
0

使用较低比特率重新压缩时,您会看到更多伪像。虽然这将是一个普遍的事情,与寻求无关。进行准确的查找只会导致更多的 CPU 负载,因为 gst 仍会查找关键帧并尽可能快地解码,直到它到达准确的位置。在视频会议中,您可能会在切换视图时看到伪影,因为对于其他会议参与者的小预览,通常会有低带宽流,当切换到大时,它看起来很糟糕一段时间,直到发送者切换到更高比特率。

于 2012-12-13T08:36:45.477 回答