Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android上使用硬件加速的GStreamer视频编码?_Android_Gstreamer_Hardware Acceleration_Encoder - Fatal编程技术网

如何在Android上使用硬件加速的GStreamer视频编码?

如何在Android上使用硬件加速的GStreamer视频编码?,android,gstreamer,hardware-acceleration,encoder,Android,Gstreamer,Hardware Acceleration,Encoder,我正在尝试设计基于Android的硬件加速视频编码器。我做了一段时间的研究,但没有发现太多有用的东西 无论如何,我看到了Gstreamer()。据说这可以提供硬件视频编码器。然而,在我阅读了手册之后,我没有发现任何关于编码器的信息 有人知道这件事吗?谢谢大家! Gstreamer中有各种各样的编码选项来获取原始流并对其进行编码。几乎任何以“enc”结尾的元素都可以用于编码。下面是一些编码管道的一个很好的示例: 话虽如此,我还是要提醒大家,视频编码是极其硬件密集型的。我还将考虑获得一个特殊用途的

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

无论如何,我看到了Gstreamer()。据说这可以提供硬件视频编码器。然而,在我阅读了手册之后,我没有发现任何关于编码器的信息


有人知道这件事吗?谢谢大家!

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


话虽如此,我还是要提醒大家,视频编码是极其硬件密集型的。我还将考虑获得一个特殊用途的硬件编码器,如果您的流是一个健壮的大小,则不要通过GStreamer进行软件编码。

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

如果您的处理器包含一个实现视频编码/解码的IP核,那么制造商需要提供一个驱动程序,以便您可以调用此硬件,或者理想情况下,更进一步,为GStreamer提供一个具体的插件来实现此功能

例如,飞思卡尔i.MX6处理器(用于和)有一个由飞思卡尔维护的驱动程序:

TI OMAP处理器支持:,另请参见TI

Broadcom处理器支持:

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

Rasberry Pi显然受到OpenMax IL插件的支持:


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

谢谢!这是硬件加速吗?不确定我是否理解你的问题。如果“硬件编码”是指有特定的h/w进行编码或在CPU上进行编码,那么GStreamer主要是一个允许通用CPU进行编码的库,但它是在软件中完成的。使用GStreamer进行硬件编码有几个选项,请参阅,但是是否有一个插件允许我们将硬件编码卸载到GPU?