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

3

我正在尝试找到一种使用VP8或VP9压缩视频的方法,这是谷歌WebM项目的一部分,可以通过Gstreamer实现。

是否已经有模块能够处理VP8?如果有,请问有没有简单的示例说明如何在RTP广播/接收中使用它?

到目前为止,在Gstreamer官方文档上还没有相关内容。他们支持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个回答

3

是的,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的pay/depayloader目前还没有准备好(即使在1.6.1中我也检查过了)。

关于示例-发布一些相关内容,我们可以在它不起作用时进行检查 :)

编辑

GStreamer 1.8已经发布,支持VP9-新增元素rtpvp9pay/rtpvp9depay


1
这个正在运行的是: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。它可以正常工作,但是摄像头的延迟令人惊讶地高。 - Einar Sundgren
@EinarSundgren:好的,这是另一个问题...主要问题是它正在工作,延迟是另一个问题。 - nayana
1
VP9通过RTP的支持目前还未实现。请查看此处以了解rtpvp9pay/depay支持的进展情况:https://bugzilla.gnome.org/show_bug.cgi?id=754773 - Burak Arslan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接