如何解决Anaconda Gstreamer Gst 包缺少“jpegenc”
我最近一直在使用 python 中的 gstreamer。我在 anaconda 虚拟环境下工作。
我遇到了一个问题,jpegenc 似乎是一个无法访问的元素。gst_parse_error: no element "jpegenc" (1)
根据要求,整个错误。
File "---/gstreamer_test.py",line 15,in <module>
pipeline = Gst.parse_launch("v4l2src ! video/x-raw,framerate=30/1,width=640,height=480 ! jpegenc ! appsink name=sink")
gi.repository.GLib.Error: gst_parse_error: no element "jpegenc" (1)
Gst inspect 确认在 anaconda 环境中未列出 jpegenc。这表示如果我停用 anaconda 环境,正常的命令行 gst inspect 可以找到 jepgenc。
有谁知道 anaconda 中 jepgenc 的快速修复方法?宁愿不从源代码构建。
Python 版本
Python 3.8.6 | packaged by conda-forge
蟒蛇版
conda 4.9.2
软件包版本
gst-plugins-base 1.14.5 h0935bb2_2 conda-forge
gst-plugins-good 1.14.5 h08bb679_2 conda-forge
gstreamer 1.18.3 h3560a44_0 conda-forge
解决方法
我暂时找到了一个可行的解决方案。但是,它并没有扩展到我希望涵盖的所有用例。我的网络摄像头可以本地生成已编码为 jpeg 的 mjpeg。因此,您需要做的就是从源中指定要使用的输出类型,如下所示。
pipeline = Gst.parse_launch("v4l2src ! image/jpeg,framerate=30/1,width=640,height=480 ! appsink name=sink")
这仍然不能解决没有原生 jpeg 编码的相机的问题,或者我想对传入的非 jpeg 流进行转码的情况。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。