我正在尝试按照此simple example通过RTP流式传输WebM VP8视频。
我运行Arch linux 64位,我编译并安装了他们谈论的gstreamer版本(即git版本),然后我跟着these instructions。
根据我的理解,从git repo bilds gstreamer-1.0构建,所以这就是我所拥有的。
我有GST_PLUGIN_PATH
和GST_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插件吗?
提前感谢您的时间。
答案 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。