使用Gstreamer对VP8或VP9进行编码/解码?

时间:2015-10-23 15:33:31

标签: gstreamer

我正试图找到一种方法来使用VP8或VP9压缩视频,这是Googles WebM project与Gstreamer的一部分。

是否已有可以处理VP8的模块?如果是这样,我可以得到一些关于如何在RTP广播/接收中使用它的简单示例吗?

到目前为止,Gstreamer official documentation上没有任何内容。他们有Matroska的支持,但这似乎只是为了拆分容器。

修改 显然有方法

服务器:

gst-launch-0.10 -v v4l2src ! video/x-raw-yuv,width=640,height=480 ! vp8enc ! rtpvp8pay ! udpsink host=127.0.0.1 port=9001

客户端:

gst-launch-0.10 udpsrc port=9001 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)VP8-DRAFT-IETF-01, payload=(int)96, ssrc=(uint)2990747501, clock-base=(uint)275641083, seqnum-base=(uint)34810" ! rtpvp8depay ! vp8dec ! ffmpegcolorspace ! Autovideosink

但是延迟比我预期的要高。

1 个答案:

答案 0 :(得分:2)

是支持VP8 .. VP9缺少de / payloader以下更多(不是真的 - gst 1.8增加了支持 - 底部的详细信息)

它们包含在vpx模块中。 http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-plugin-vpx.html

VP8: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-vp8enc.html

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-vp8dec.html

检查gst-inspect-1.0 vp8enc是否有

对于RTP,您可以使用webmmux,rtpvp8depay,rtpvp8pay,vp8enc / dec等。

然而,正如Burak Arslan所说,现在还没有准备好RTP的付费/延期付款(即使是在我检查过的1.6.1中)

对于示例 - 使用它发布一些管道,我们可以在它不工作时检查它:)

修改

GStreamer 1.8发布,支持VP9 - 添加新元素rtpvp9pay / rtpvp9depay