问题标签 [openmax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3726 浏览

video - Raspberry Pi 的 Gstreamer 视频接收器

我正在使用安装了 gstreamer 1.0 的 Raspberry pi 开发板。我正在板上测试一些管道。但在 Raspberry pi 中,视频接收器无法正常工作。我尝试了不同的视频接收器,例如ximagesink, xvimagesink, autovideosink etc

但是这些视频接收器都不能播放视频。

我得到的错误是

是否有任何其他可以与 Raspberry pi 一起使用的视频接收器,以便我可以使用 gstreamer 查看视频?

是否有专门为 Broadcom 2835 制作的视频接收器或 openmax 是否提供任何视频接收器?

有没有人知道解决这个 XvOutput 问题?

0 投票
1 回答
1214 浏览

android - 是否可以使用 stagefright 创建多个 OMXCodec 实例

我想libstagefright.so在安卓手机中使用媒体操作。我已经探索了 页面中给出的示例。我一直在尝试实施相同的方法。在为多个实例测试此实现时 OMXCodec,它的输出缓冲区相互冲突。

我在eclipse中开发了一个android项目并libstagefright在JNI下链接。我添加了两个类CustomDataSource(派生MediaSource)和CustomOmxDecoder. CustomDataSource类实现了所有的虚方法MediaSource。在CustomOmxDecoder课堂上,我调用OMXCodec::Create方法。然后我创建了两个具有单独实例的线程CustomOmxDecoder。使用这个实例,我调用了一个方法ProcessNextFrame,在该方法中我调用了 mainvideoDecoder->read()方法。这就是我的设置。

现在,当我使用上述设置运行应用程序时。OMXCodec解码两个源的帧,但是当我在表面上渲染它时,会显示冲突的输出。似乎两个源的解码缓冲区都以某种方式在内部进行了网格化。我正在同时创建两个 h264 解码器。这里有什么问题?会不会有关系MediaBufferGroup?调用 call 后,我在's中获取CustomDataSource缓冲区并释放缓冲区。CustomOmxDecoderProcessNextFramevideoDecoder->read()

任何建议都会很棒。谢谢。

0 投票
3 回答
7091 浏览

android-ndk - OMXCodec::onEvent -- OMX 错误参数

我一直在尝试使用OMXCodecthrough Stagefright。我已经实现了ICSAndroid 版本的代码。我有两个CustomDataSource派生类,MediaSource另一个是CustomOmxCodec调用OMXCodec::Create方法并执行读取操作以解码 h264 帧。我已经在带有omx.google.video.avc软件解码器的设备上测试了这个实现,它工作正常。现在,当我尝试在具有硬件 h264 解码的 android 手机上运行相同的实现时,它在读取调用时返回错误。错误如下:

0x80001005是为OMX_ErrorBadParameter-1103我在读取操作时收到错误代码。我尝试了各种参数,但没有成功。

完整的日志如下:

我很感激这方面的任何指导。

0 投票
0 回答
1546 浏览

encoding - 树莓派:MJPEG 编码

我想在 Pi 上将视频从 H264 转码为 MJPEG。

从原理上讲,有一个过程在管道中注入 H264 原始流,并从另一个管道中取出(实时)用 MJPEG 编码的相同流。目前,接收H264并输出MJPEG的黑匣子是一个简单的转码程序,由FFMPEG制作。这种方法在现代工作站中运行良好,但它对 Raspberry Pi 的 CPU 负担过重。

我知道 Pi 支持使用 OpenMax 进行硬件 H264 解码,并且不支持开箱即用的 MJPEG 编码。

有没有办法(随意复杂)进行 MJPEG 硬件编码?

是否有关于如何使用 openMax 进行这种转码的示例?

(我知道这个项目的存在,但它不满足问题1)

0 投票
1 回答
1781 浏览

gcc - 如何使用 ARM 的 OpenMAX 开发层 (DL) 构建和解码

我已经尝试了很长时间学习一些简单的方法来构建和利用 ARM 优化的 OpenMax DL 库,但没有成功,可在此处https://silver.arm.com/browse/OX002获得,但需要登录才能下载。

找不到易于使用的 api 来解码或易于编译可以利用 OpenMAX DL 的高级库 (FFMpeg) 的指令。

由于这里有一些类似的讨论,我有一些希望在 stackoverflow 上获得答案 Bench marking ARM NEON OpenMAx Numbers

我想要实现的是使用 Gnu Compiler 构建 OpenMax DL,并可以在 Cortex A8 上解码一些样本以查看和使用性能差异。

任何关于如何做到这一点的建议或指示都将受到高度赞赏。

感谢和问候

光伏

0 投票
1 回答
347 浏览

android - 使用 GB 中的 OpenMAX 库创建 Android 应用程序,但显示未找到?

我正在尝试使用 OpenMAX-AL 在姜饼中开发 android 应用程序。

基本上openMAX-AL库在GingerBread中不支持。所以我使用ics的openmax-al库(通过构建源代码)。在Ginger bread中安装后,我能够使用该库编译我的示例应用程序而没有错误,其显示错误如下..而且我还尝试将库推送到我的应用程序 lib 文件夹中仍然是同样的错误。

我应该怎么做才能在姜饼中使用 openmax-al 库。有人能建议我的想法吗,我最近一周都在苦苦挣扎?提前致谢。

关于VS

0 投票
1 回答
5443 浏览

gstreamer - 在 Raspberry Pi 上使用 gstreamer 从 h264 流中捕获 jpeg

我有一个用于 Raspberry Pi 的新相机插件。它还没有 video4linux 支持,但带有一个小程序,可以输出 1080p h264 流。我已经验证了这项工作,并通过以下方式将视频推送到标准输出:

我想处理这个流,最终得到每秒拍摄一次的视频快照。

由于它是 1080p,我需要使用 rpi 对 H264 编码的硬件支持。我相信 gstreamer 是唯一支持此功能的应用程序,因此使用 ffmpeg 或 avconv 的解决方案将不起作用。我已经使用http://www.trans-omni.co.uk/pi/GStreamer-1.0/build_gstreamer上的构建脚本来制作 gstreamer 和用于硬件 H264 编码的插件,它似乎可以工作:

所以我需要构建一个 gst-launch 管道,在标准输入上获取视频并每秒吐出一个新的 jpeg。我知道我可以使用 gstreamer 的“multifilesink”接收器来执行此操作,因此提出了以下简短脚本来启动它:

麻烦的是它不起作用:gstreamer 只是永远处于预滚动状态,从不吐出我宝贵的 jpeg。

如果使用 gstreamer 的 -v 标志集的有用输出位于http://pastebin.com/q4WySu4L

谁能解释我做错了什么?

0 投票
1 回答
702 浏览

c - 如何在 OMX.broadcom.video_decode 组件中设置视频帧宽和视频帧高?

我正在尝试使用 openmax 的视频播放器管道,它接受原始 h264 流对其进行解码并将其传递给渲染。在配置端口时,我想将框架宽度和框架高度设置为 1280 * 720。但是在设置参数时出现参数错误。如何在 openmax 组件中设置端口的框架宽度和框架高度,作为这些框架的新手,我的知识有限。在设置宽度和高度之前我还应该设置其他字段吗?

这就是我尝试设置参数的方式

我得到的错误是

那就是错误的参数错误。为什么会来?

0 投票
1 回答
166 浏览

components - openmax il 源组件有多少个输出端口?

我正在测试libomxil-bellagio-master哪个是openmax-il. 在这段代码中,我发现源组件(源代码中的路径是libomxil-bellagio-master/src/base/)只有一个输出端口。

我有一个文件audiovideo. 我想写一个文件阅读器来解复用这个文件。这个文件阅读器应该有多少个输出端口?

0 投票
1 回答
1344 浏览

android - 如何缩短openmax avc解码器的延迟?

我正在尝试使用 openmax 的编解码器编写一个 android 视频会议应用程序。当我使用 OpenMAX IL 进行 avc 解码时,发现从发送空缓冲区命令到填充缓冲区完成回调有很大的延迟。我的案例是处理没有 B 片的 4-cif h.264 基本流。我的 omx 调用顺序是:

  1. 分配一个avc解码角色的openmax节点;
  2. 将节点状态转换为空闲;
  3. 配置端口定义;
  4. 为输入和输出端口分配缓冲区;
  5. 将节点状态转换为执行;
  6. 为空缓冲区启动一个线程,为填充缓冲区启动另一个线程;

日志输出表明存在 8 帧延迟,从空缓冲区 #9 命令发送到消息 FILL_BUFFER_DONE #1 到达。我在 samsung-note2 和 htc-one-x 等一些手机上测试过,都有很大的解码延迟。

对于视频会议应用程序的接受度而言,这种延迟很大。任何人都可以帮助我缩短这种延迟?

日志输出如下: