我正要抓取我的覆盆子pi的视频输出,把它传给近处的环境闪电系统。该XBMC的播放器实现了PI、omxplayer、用户OpenMAX接口的解码等功能。
查看代码会得到以下结果:
m_omx_tunnel_sched.Initialize(&m_omx_sched, m_omx_sched.GetOutputPort(), &m_omx_render, m_omx_render.GetInputPort());
据我所知,这在视频调度器和渲染器S-->R之间设置了一个管道。
现在我的想法是编写一个抓取器组件,并将其插入到流水线S-->G->R中。抓取器将从帧缓冲区中提取像素,并将其传递给驱动leds的守护程序。
现在我将深入研究OpenMAX应用编程接口,这似乎很奇怪。我应该从哪里开始呢?这是一个可行的方法吗?
诚挚的问候
发布于 2012-12-21 03:16:05
如果你想要解码的数据,那么就不要发送给渲染器。不是渲染,而是获取数据,然后做任何你想做的事情。解码后的数据应该取自video_decode OpenMAX IL组件的输出端口。我想您还需要设置正确的输出像素格式,因此将组件输出端口设置为您需要的正确格式,这样转换就由GPU完成(YUV或RGB565可用)。
发布于 2016-05-31 00:32:29
首先,我认为你应该在摄像头组件的输出上附加一个缓冲区,在CPU中对该帧做任何你想做的事情,然后通过连接到渲染输入端口的缓冲区发送一个帧,这不会是一项微不足道的任务,因为在树莓上几乎没有关于OpenMax的文档。
最好的起点:https://jan.newmarch.name/RPi/
手头最好的地方:http://home.nouwen.name/RaspberryPi/documentation/ilcomponents/index.html
下一个最好的地方:互联网上发布的源代码。
祝好运。
https://stackoverflow.com/questions/13948124
复制相似问题