Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用GStreamer&;格诺林不工作_Python_Video Processing_Gstreamer_Gnonlin_Python Gstreamer - Fatal编程技术网

Python 使用GStreamer&;格诺林不工作

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秒 这是基于。我已经在(和)上问了这个问题,我正在这里尝试 问

我一直在尝试将2个视频与gstreamer结合在一起,并使用 在python中使用gstreamer和gnonlin在它们之间进行短转换(如smpte)。但是,我无法让gnloperation/smpte转换正常工作

目标 下面是一个节目。我希望它播放一个文件的前4秒,并在2秒开始执行smpte转换(持续2秒)到另一个文件。(因此,第二个文件将在整个过程中播放2秒,但在2秒的过渡过程中“显示”),在过渡完成后,应显示第二个文件自身的2秒

这是基于。我已经在(和)上问了这个问题,我正在这里尝试

问题 过渡还没有结束。转换运行约0.5秒,然后视频1播放约1.5秒,然后视频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