【问题标题】:Gstreamer Error: pipeline could not be constructed: no element "v4l2src"Gstreamer 错误:无法构造管道:没有元素“v4l2src”
【发布时间】:2015-02-25 05:49:03
【问题描述】:

我正在使用 Ubuntu(14.04),但在尝试使用 gstreamer 时出现此错误。

gst-launch-1.0 v4l2src !  video/x-raw,width=640,height=480 !  x264enc ! h264parse ! rtph264pay !  udpsink host=127.0.0.1 port=5000

我已经检查了 gst-inspect-1.0 v4l2src

它说找不到元素“没有这样的元素或插件'v4l2src'”

我该怎么办?从哪里可以得到这个元素或插件。我尝试重新安装整个 gstreamer。但我无法这样做。

【问题讨论】:

    标签: gstreamer v4l2


    【解决方案1】:

    v4l2src 插件属于gstreamer-plugins-good 包;所以

    sudo apt-get install gstreamer1.0-plugins-good
    

    应该能帮到你

    Gstreamer 将其大部分插件打包在单独的包中;你有

    • gst-plugins-base
    • gst-plugins-good
    • gst-plugins-ugly

    等等。它们是可插拔的;因此,仅更新 gstreamer 不会自动选择 gst-plugins-good for you...

    【讨论】:

    • 删除缓存 (rm .cache/gstreamer-1.0),然后运行 ​​gst-inspect-1.0 v4l2src...?
    • 很难从远处调试。 gst-inspect-1.0 v4l2src 告诉你什么?我也有 ubuntu 14.04,包 gstreamer1.0-plugins-good 提供 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideo4linux2.so 提供 v4l2src 插件
    • 我编辑了我的 aswer 以便给你确切的命令(我错过了包名称中的 1.0...)希望这对你有所帮助
    【解决方案2】:

    前段时间我也遇到过同样的问题,造成它的原因是 Anaconda 已安装并且其基础环境处于活动状态。解决方案是运行命令:

    conda deactivate
    

    然后再试一次。

    注意:在我的特殊情况下,它更难被发现,因为我还安装了 Oh-My-Bash,它在终端中删除了 Anaconda 的环境指示器。

    【讨论】:

    • 感谢您的评论!这可能需要几个小时的挠头。
    【解决方案3】:

    gst-inspect-1.0 -b
    

    列出任何列入黑名单的插件?如果不检查插件是否存在:

    locate libgstvideo4linux2.so
    

    e.g.下面应该有一个

    /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideo4linux2.so
    

    /usr/lib/gstreamer-1.0/libgstvideo4linux2.so
    

    然后再次删除注册表缓存并运行

    GST_DEBUG="*:5" gst-inspect-1.0 2>debug.log
    

    在日志中搜索 v4l2 并检查 gstreamer 是否报告了它无法加载插件的原因。

    【讨论】:

      【解决方案4】:

      我在 Raspberry 上使用 gstreamer-1.0,我遇到了同样的问题。由于我的选项用完了,我也尝试安装 0.10 插件,但出乎意料的是它可以工作。

      sudo apt-get install gstreamer0.10-plugins-good
      

      我的 2 美分 ^_^

      编辑: 好吧,实际上它还没有工作,但至少它给了我一个不同的错误:)

      编辑 2: 这是一个语法错误,它实际上对我有用:)

      【讨论】:

        【解决方案5】:

        就我而言,简短的回答是:

        运行export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

        长答案:

        按照@ensonic 的步骤,我发现我的大部分库都被列入了黑名单。

        1. rm -rf ~/.cache/gstreamer-1.0/ 清理缓存了吗

        2. gst-launch-1.0 v4l2src 遇到了很多这样的错误:

          (gst-plugin-scanner:5082): GStreamer-WARNING **: 19:41:22.907: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstttmlsubs.so': librga.so: cannot open shared object file: No such file or directory

        这表明我没有librga.so 文件

        1. 我可以通过运行locate librga.so 在我的系统上找到librga.so,但它似乎不在我的动态共享库路径上。为此,我只需要运行export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib:/usr/local/lib

        【讨论】:

          【解决方案6】:

          我的错误是由于 Anaconda 虚拟环境和其他缺少插件。我通过 [this][1] 解决了:
          conda deactivate

          sudo apt-get install gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly libxml2 libpcap0.8 libaudit1 libnotify4

          【讨论】:

            【解决方案7】:

            在 Ubuntu 上,您可以安装:

            sudo apt-get install v4l-utils
            

            【讨论】:

              猜你喜欢
              • 2021-01-05
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-07-06
              • 2018-05-08
              • 1970-01-01
              相关资源
              最近更新 更多