这是一个奇怪的问题,我知道。
我正在研究一个艺术项目,我们很失望,当我们随意搜索文件时,我们看不到任何压缩文件。源文件主要是mp4和avi文件的混合。应用程序需要在文件之间跳转并随机寻找时间轴中的不同偏移量。
我应该只构建自定义管道并将缓冲区调整为空吗?有没有办法告诉decodebin2直接寻找并忽略关键帧?
我对非gstreamer选项持开放态度,但我更喜欢坚持使用python。
答案 0 :(得分:1)
最简单的方法是在流中引入错误。随机位/突发错误将导致不可预测的故障!如果您愿意修改类似标识的插件,请将其插入解码器之前并将其更改为以某种可能性插入随机错误。根据自己的喜好改变概率。如果你可以避免破坏帧的标题,那么你可能会得到更奇怪的故障。
更简单的解决方案。把你的文件随机插入一个读取它们的程序并编写新版本。把这些versinos送到你的程序。
第一种方法是动态随机效果和后来的方法静态效果[再次运行时的文件会产生相同的工件]:)
答案 1 :(得分:0)
使用较低的比特率重新压缩时会看到更多的工件。虽然这将是一般性的事情,与寻求无关。 做准确的搜索只会导致更多的CPU负载,因为gst仍然会寻求关键帧并尽快解码,直到达到准确的位置。 在视频会议中,您可能会在切换视图时看到工件,因为通常会为其他会议参与者的小预览设置低带宽流,并且当切换到较大时,它看起来很糟糕,直到发送方切换到更高比特率。