gstreamer:没有元素“vp8enc”

时间:2014-06-16 10:14:01

标签: archlinux gstreamer vp8

我正在尝试按照此simple example通过RTP流式传输WebM VP8视频。

我运行Arch linux 64位,我编译并安装了他们谈论的gstreamer版本(即git版本),然后我跟着these instructions

根据我的理解,从git repo bilds gstreamer-1.0构建,所以这就是我所拥有的。

我有GST_PLUGIN_PATHGST_PLUGIN_SYSTEM_PATH指向/home/nschoe/usr/lib/gstreamer-1.0(我已在我的主目录中完全安装了此gstreamer-1.0)。

当我尝试命令gst-launch-1.0 -v videotestsrc ! vp8enc ! rtpvp8pay ! udpsink host=127.0.0.1 port=9001时,我收到错误:

GST_PIPELINE ./grammar.y:687:priv_gst_parse_yyparse: no element "vp8enc"

some researches之后,我发现vp8enc应该是gst-plugins-good,我已经安装了。

但是当我跑gst-inspect-1.0 -a | grep -i gst-plugins-good | grep -i vp8时,我得到了:

rtpvp8depay: Source module gst-plugins-good rtpvp8pay: Source module gst-plugins-good

所以我不明白为什么我没有vp8enc和vp8dec。此外,当我运行locate vpx.so时,我得到以下结果(截断到相关结果):

/home/nschoe/usr/lib/gstreamer-1.0/libgstvpx.so /usr/lib/libvpx.so

前者大多数来自gst-plugins-good,我从git克隆并安装在我的主目录中,后者我从Arch linux pacman安装,因为我认为它可以解决我的问题。

你能告诉我为什么我不能使用那个vp8enc插件吗?

提前感谢您的时间。

2 个答案:

答案 0 :(得分:2)

gstreamer 1.0也可以正确处理webm,这可能与您的设置存在一些问题。实际上建议停止使用0.10,因为它已经过时且不受社区维护。

gst-inspect-1.0 /path/to/your/gst/libgstvpx.so

实际上列出了vpx的元素?

答案 1 :(得分:0)

好吧,我仍然不知道发生了什么,但事实证明vp8似乎是由gstreamer-0.10处理的:我删除了所有内容并从archlinux的包管理器安装了gstreamer-0.10以及好的,坏的和基本的插件我可以播放.webm文件。

有人可能想知道gstreamer-0.10可以正确处理webm。