Search code examples
archlinuxgstreamervp8

gstreamer: no element "vp8enc"


I am trying to follow this simple example to stream WebM VP8 video over RTP.

I am runinng Arch linux 64 bits, and I have compiled and installed the gstreamer version they talk about (i.e. the git version) and I followed these instructions.

From what I understand, building from the git repo bilds gstreamer-1.0 so this is what I have.

I have GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH point to /home/nschoe/usr/lib/gstreamer-1.0 (I have installed this gstreamer-1.0 completely in my home directory).

When I tried the command gst-launch-1.0 -v videotestsrc ! vp8enc ! rtpvp8pay ! udpsink host=127.0.0.1 port=9001 I get the error :

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

After some researches, I found that vp8enc should be in gst-plugins-good, which I have installed.

But when I run gst-inspect-1.0 -a | grep -i gst-plugins-good | grep -i vp8 I got :

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

So I don't understand why I don't have vp8enc and vp8dec. Besides, when I run locate vpx.so I have the following results (truncated to relevant results) :

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

The former most lijkely comes from the gst-plugins-good that I have cloned from git and installed in my home directory, the latter I have installed from the Arch linux pacman, because I thought it would solve my problem.

Can you tell me why I can't use that vp8enc plugin ?

Thank you in advance for your time.


Solution

  • Well, I still don't know what happened, but actually it turned out vp8 seems to be handled by gstreamer-0.10 : I removed everything and installed gstreamer-0.10 from archlinux's package manager as well as good, bad and base plugins and I could play .webm file.

    Somebody might want to know that gstreamer-0.10 can handle webm correctly.