将 gst-launch 命令转换为 Python 程序
如何使用 PyGST 模块将以下 gst-launch
命令实施到 Python 程序中?
gst-launch-0.10 v4l2src ! \
'video/x-raw-yuv,width=640,height=480,framerate=30/1' ! \
tee name=t_vid ! \
queue ! \
videoflip method=horizontal-flip ! \
xvimagesink sync=false \
t_vid. ! \
queue ! \
videorate ! \
'video/x-raw-yuv,framerate=30/1' \
! queue ! \
mux. \
alsasrc ! \
audio/x-raw-int,rate=48000,channels=2,depth=16 ! \
queue ! \
audioconvert ! \
queue ! \
mux. avimux name=mux ! \
filesink location=me_dancing_funny.avi
How do I implement the following gst-launch
command into a Python program using the PyGST module?
gst-launch-0.10 v4l2src ! \
'video/x-raw-yuv,width=640,height=480,framerate=30/1' ! \
tee name=t_vid ! \
queue ! \
videoflip method=horizontal-flip ! \
xvimagesink sync=false \
t_vid. ! \
queue ! \
videorate ! \
'video/x-raw-yuv,framerate=30/1' \
! queue ! \
mux. \
alsasrc ! \
audio/x-raw-int,rate=48000,channels=2,depth=16 ! \
queue ! \
audioconvert ! \
queue ! \
mux. avimux name=mux ! \
filesink location=me_dancing_funny.avi
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您无法真正将“gst-launch 语法”转换为“python 语法”。
您可以使用 gst.element_factory_make() 和朋友“手动”(以编程方式)创建相同的管道,然后自己链接所有内容。
或者您只需使用类似以下内容的内容:
pipeline = gst.parse_launch ("v4l2src ! ..... ")
您可以使用例如 v4l2src name=mysrc 来给管道字符串名称中的元素命名! 从管道中检索元素
...然后使用src = pipeline.get_by_name ('mysrc')
,然后在其上设置属性,例如:
src.set_property("location", filepath)
You can't really convert "gst-launch syntax" to "python syntax".
Either you create the same pipeline 'manually' (programmatically) using gst.element_factory_make() and friends, and link everything yourself.
Or you just use something like:
pipeline = gst.parse_launch ("v4l2src ! ..... ")
You can give elements in your pipeline string names with e.g. v4l2src name=mysrc ! ... and then retrieve the element from the pipeline with
src = pipeline.get_by_name ('mysrc')
and then set properties on it like:
src.set_property("location", filepath)
看看我的
gst
模块的包装:https://github.com/vmlaker /gstwrap请注意,分支和混合是通过仔细链接元素来定义的。那么您的特定管道是:
Take a look at my wrapper of the
gst
module: https://github.com/vmlaker/gstwrapNote the branching and muxing is defined by careful linking of the elements. Your particular pipeline is then: