【发布时间】:2016-11-21 23:31:19
【问题描述】:
我正在尝试使用 GStreamer 1.8.2 和 Python 3.5 创建动态管道。目标是能够在 EOS 上播放一些视频并对其进行更改,以类似于使用即将完成的 playbin 的方式实现无间隙播放。
我的想法是filesrc -> decodebin -> queue -> videosink,然后在decodebin视频src上放置一个探针,等待EOS事件,取消filesrc和decodebin的链接,创建一个新的filesrc和一个新的decodebin广告链接到视频将它们设置为 PLAYING 状态后下沉。我不知道这是否是最好/正确的方法,但据我所知它应该有效。
我的第一次尝试是this。第一个循环的播放效果很好,然后视频开始播放太快。我认为时间戳和/或流水线时钟存在一些问题,但我无法找到解决方案或更好地诊断问题。
编辑:在 vaapisink 中将 max-lateness 设置为 -1,播放速度仍然更快,但速度要慢得多。所以这是一个时间问题。
【问题讨论】: