繁体   English   中英

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

[英]How to use hardware accelerated video encoding of GStreamer on Android?

我正在尝试设计基于Android的硬件加速视频编码器。 我已经进行了一段时间的研究,但发现没有什么用。

无论如何,我看到了Gstreamer( http://gstreamer.freedesktop.org/ )。 据说这可以提供硬件视频编码器。 但是,阅读本手册后,我对编码器一无所知。

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

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

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

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

TI OMAP处理器支持: http : //processors.wiki.ti.com/index.php/GStreamer ,另请参阅TI 分布式编解码器引擎

Broadcom处理器具有以下支持: https : //packages.debian.org/wheezy/gstreamer0.10-crystalhd

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

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

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

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

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

话虽如此,但我要提醒您,视频编码非常耗费硬件。 我还将考虑获得一种专用的硬件编码器,并且如果您的数据流足够强大,则不要通过GStreamer进行软件编码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM