4

我即将获取我的树莓派的视频输出,将其传递给有点像 adalight 的环境闪电系统。XBMC 的播放器为 PI、omxplayer,用户使用 OpenMAX API 进行解码等功能。

查看代码给出以下信息:
m_omx_tunnel_sched.Initialize(&m_omx_sched, m_omx_sched.GetOutputPort(), &m_omx_render, m_omx_render.GetInputPort());

据我了解,这在视频调度程序和渲染器 [S]-->[R] 之间设置了一个管道。

现在我的想法是编写一个抓取器组件并将其插入管道[S]-->[G]->[R]。抓取器将从帧缓冲区中提取像素并将其传递给驱动 LED 的守护程序。

现在我要深入研究 OpenMAX API,这似乎很奇怪。我应该从哪里开始?这是一种可行的方法吗?

此致

4

2 回答 2

3

如果您想要解码数据,则不要发送到渲染器。代替渲染,获取数据并做任何你想做的事情。解码数据应取自video_decode OpenMAX IL 组件的输出端口。我想您还需要设置正确的输出像素格式,因此将组件输出端口设置为您需要的正确格式,以便由 GPU 完成转换(可以使用 YUV 或 RGB565)。

于 2012-12-20T19:16:04.710 回答
0

起初我认为您应该将缓冲区附加到相机组件的输出,在 CPU 中使用该帧执行您想要的所有操作,并通过连接到渲染器输入端口的缓冲区发送帧,这不会是一件小事任务,因为在树莓上几乎没有关于 OpenMax 的文档。

最佳起点: https ://jan.newmarch.name/RPi/

手头最好的地方: http ://home.nouwen.name/RaspberryPi/documentation/ilcomponents/index.html

下一个最佳位置:分布在互联网上的源代码。

祝你好运。

于 2016-05-30T16:32:28.790 回答