Python 使用GStreamer&;格诺林不工作
我一直在尝试将2个视频与gstreamer结合在一起,并使用 在python中使用gstreamer和gnonlin在它们之间进行短转换(如smpte)。但是,我无法让gnloperation/smpte转换正常工作 目标 下面是一个节目。我希望它播放一个文件的前4秒,并在2秒开始执行smpte转换(持续2秒)到另一个文件。(因此,第二个文件将在整个过程中播放2秒,但在2秒的过渡过程中“显示”),在过渡完成后,应显示第二个文件自身的2秒 这是基于。我已经在(和)上问了这个问题,我正在这里尝试 问题 过渡还没有结束。转换运行约0.5秒,然后视频1播放约1.5秒,然后视频2切入。我已尝试更改控制器的结束位置(例如,更改为Python 使用GStreamer&;格诺林不工作,python,video-processing,gstreamer,gnonlin,python-gstreamer,Python,Video Processing,Gstreamer,Gnonlin,Python Gstreamer,我一直在尝试将2个视频与gstreamer结合在一起,并使用 在python中使用gstreamer和gnonlin在它们之间进行短转换(如smpte)。但是,我无法让gnloperation/smpte转换正常工作 目标 下面是一个节目。我希望它播放一个文件的前4秒,并在2秒开始执行smpte转换(持续2秒)到另一个文件。(因此,第二个文件将在整个过程中播放2秒,但在2秒的过渡过程中“显示”),在过渡完成后,应显示第二个文件自身的2秒 这是基于。我已经在(和)上问了这个问题,我正在这里尝试 问
controller.set(“位置”,0.5*gst.SECOND,0.0)
),以及
转换在0.5秒内完成,但一旦转换完成,视频1将重新开始播放一段时间,然后视频2开始播放
考虑到视频转换可能限制为0.5秒,我将gnloperation更改为0.5秒,但同样的非完成问题仍然存在,只是转换仅播放约0.3秒,视频1的一部分开始播放一点,然后视频2播放
剧本
问题似乎出在第二个源文件的属性中 代替:
gsrc2.props.start = 2 * gst.SECOND
gsrc2.props.duration = 6 * gst.SECOND
gsrc2.props.media_start = 0
gsrc2.props.media_duration = 2 * gst.SECOND
gsrc2.props.priority = 2
尝试:
这似乎和我预期的一样有效。如果您将过渡时间延长而不是缩短,是否会获得相同的效果?
gsrc2.props.start = 2 * gst.SECOND
gsrc2.props.duration = 6 * gst.SECOND
gsrc2.props.media_start = 0
gsrc2.props.media_duration = 2 * gst.SECOND
gsrc2.props.priority = 2
gsrc2.props.start = 2 * gst.SECOND
gsrc2.props.duration = 4 * gst.SECOND
gsrc2.props.media_start = 0
gsrc2.props.media_duration = 4 * gst.SECOND
gsrc2.props.priority = 2