【问题标题】:How to use hardware accelerated video encoding of GStreamer on Android?如何在 Android 上使用 GStreamer 的硬件加速视频编码?
【发布时间】:2013-11-11 01:46:02
【问题描述】:

我正在尝试设计基于 Android 的硬件加速视频编码器。我做了一段时间的研究,但没有发现太多用处。

无论如何,我看到了 Gstreamer (http://gstreamer.freedesktop.org/)。据说这可以提供硬件视频编码器。但是,在我阅读手册后,我没有发现任何关于编码器的信息。

有人知道这个东西吗?谢谢!

【问题讨论】:

    标签: android gstreamer hardware-acceleration encoder


    【解决方案1】:

    Gstreamer 中有多种编码选项可用于获取原始流并对其进行编码。几乎任何以“enc”结尾的元素都可以用来进行编码。这是几个编码管道的一个很好的例子:

    https://developer.ridgerun.com/wiki/index.php/TVP5146_GStreamer_example_pipelines

    话虽如此,我还是要提醒您,视频编码非常耗费硬件。如果你的流是一个健壮的大小,我也会考虑获得一个特殊用途的硬件编码器,并且不要通过 GStreamer 进行软件编码。

    【讨论】:

    • 谢谢!那么这个是硬件加速的吗?
    • 不确定我是否理解您的问题。如果“硬件编码”是指有特定的硬件或在 CPU 上进行编码,那么 GStreamer 主要是一个允许通用 CPU 进行编码的库,但它是在软件中完成的。使用 GStreamer 进行硬件编码有几种选择,请参阅jumpnowtek.com/…
    • 但是有没有一个插件可以让我们将硬件编码卸载到 GPU 上?
    【解决方案2】:

    这将取决于您的硬件。你在什么设备上运行?

    如果您的处理器包含实现视频编码/解码的 IP 内核,则制造商需要提供驱动程序以便您可以调用此硬件,或者更进一步并为执行此操作的 GStreamer 提供特定插件。

    例如,飞思卡尔 i.MX6 处理器(用于WandboardCuBox)有一个由飞思卡尔维护的驱动程序:https://github.com/Freescale/gstreamer-imx

    TI OMAP 处理器支持:http://processors.wiki.ti.com/index.php/GStreamer,另请参阅 TI Distributed Codec Engine

    博通处理器支持:https://packages.debian.org/wheezy/gstreamer0.10-crystalhd

    视频加速器硬件还有几个标准接口,包括VDPAUVAAPIOpenMax IL。如果您的处理器不是上述之一,则可能有人编写了将这些标准接口之一映射到您的硬件的驱动程序。

    OpenMax IL 插件显然支持 Rasberry Pi:http://gstreamer.freedesktop.org/releases/gst-omx/1.0.0.html

    如果您不知道您的处理器是否受支持,我会搜索“VDPAU”、“VAAPI”等的名称和各种组合。

    【讨论】:

      猜你喜欢
      • 2012-07-04
      • 2013-07-13
      • 1970-01-01
      • 1970-01-01
      • 2015-11-29
      • 2019-03-16
      • 2016-08-21
      • 1970-01-01
      • 2013-07-19
      相关资源
      最近更新 更多