问题标签 [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.
video - Raspberry Pi 的 Gstreamer 视频接收器
我正在使用安装了 gstreamer 1.0 的 Raspberry pi 开发板。我正在板上测试一些管道。但在 Raspberry pi 中,视频接收器无法正常工作。我尝试了不同的视频接收器,例如ximagesink, xvimagesink, autovideosink etc
但是这些视频接收器都不能播放视频。
我得到的错误是
是否有任何其他可以与 Raspberry pi 一起使用的视频接收器,以便我可以使用 gstreamer 查看视频?
是否有专门为 Broadcom 2835 制作的视频接收器或 openmax 是否提供任何视频接收器?
有没有人知道解决这个 XvOutput 问题?
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
缓冲区并释放缓冲区。CustomOmxDecoder
ProcessNextFrame
videoDecoder->read()
任何建议都会很棒。谢谢。
android-ndk - OMXCodec::onEvent -- OMX 错误参数
我一直在尝试使用OMXCodec
through Stagefright
。我已经实现了ICS
Android 版本的代码。我有两个CustomDataSource
派生类,MediaSource
另一个是CustomOmxCodec
调用OMXCodec::Create
方法并执行读取操作以解码 h264 帧。我已经在带有omx.google.video.avc
软件解码器的设备上测试了这个实现,它工作正常。现在,当我尝试在具有硬件 h264 解码的 android 手机上运行相同的实现时,它在读取调用时返回错误。错误如下:
0x80001005
是为OMX_ErrorBadParameter
。-1103
我在读取操作时收到错误代码。我尝试了各种参数,但没有成功。
完整的日志如下:
我很感激这方面的任何指导。
encoding - 树莓派:MJPEG 编码
我想在 Pi 上将视频从 H264 转码为 MJPEG。
从原理上讲,有一个过程在管道中注入 H264 原始流,并从另一个管道中取出(实时)用 MJPEG 编码的相同流。目前,接收H264并输出MJPEG的黑匣子是一个简单的转码程序,由FFMPEG制作。这种方法在现代工作站中运行良好,但它对 Raspberry Pi 的 CPU 负担过重。
我知道 Pi 支持使用 OpenMax 进行硬件 H264 解码,并且不支持开箱即用的 MJPEG 编码。
有没有办法(随意复杂)进行 MJPEG 硬件编码?
是否有关于如何使用 openMax 进行这种转码的示例?
(我知道这个项目的存在,但它不满足问题1)
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 上解码一些样本以查看和使用性能差异。
任何关于如何做到这一点的建议或指示都将受到高度赞赏。
感谢和问候
光伏
android - 使用 GB 中的 OpenMAX 库创建 Android 应用程序,但显示未找到?
我正在尝试使用 OpenMAX-AL 在姜饼中开发 android 应用程序。
基本上openMAX-AL库在GingerBread中不支持。所以我使用ics的openmax-al库(通过构建源代码)。在Ginger bread中安装后,我能够使用该库编译我的示例应用程序而没有错误,其显示错误如下..而且我还尝试将库推送到我的应用程序 lib 文件夹中仍然是同样的错误。
我应该怎么做才能在姜饼中使用 openmax-al 库。有人能建议我的想法吗,我最近一周都在苦苦挣扎?提前致谢。
关于VS
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
谁能解释我做错了什么?
c - 如何在 OMX.broadcom.video_decode 组件中设置视频帧宽和视频帧高?
我正在尝试使用 openmax 的视频播放器管道,它接受原始 h264 流对其进行解码并将其传递给渲染。在配置端口时,我想将框架宽度和框架高度设置为 1280 * 720。但是在设置参数时出现参数错误。如何在 openmax 组件中设置端口的框架宽度和框架高度,作为这些框架的新手,我的知识有限。在设置宽度和高度之前我还应该设置其他字段吗?
这就是我尝试设置参数的方式
我得到的错误是
那就是错误的参数错误。为什么会来?
components - openmax il 源组件有多少个输出端口?
我正在测试libomxil-bellagio-master
哪个是openmax-il
. 在这段代码中,我发现源组件(源代码中的路径是libomxil-bellagio-master/src/base/
)只有一个输出端口。
我有一个文件audio
和video
. 我想写一个文件阅读器来解复用这个文件。这个文件阅读器应该有多少个输出端口?
android - 如何缩短openmax avc解码器的延迟?
我正在尝试使用 openmax 的编解码器编写一个 android 视频会议应用程序。当我使用 OpenMAX IL 进行 avc 解码时,发现从发送空缓冲区命令到填充缓冲区完成回调有很大的延迟。我的案例是处理没有 B 片的 4-cif h.264 基本流。我的 omx 调用顺序是:
- 分配一个avc解码角色的openmax节点;
- 将节点状态转换为空闲;
- 配置端口定义;
- 为输入和输出端口分配缓冲区;
- 将节点状态转换为执行;
- 为空缓冲区启动一个线程,为填充缓冲区启动另一个线程;
日志输出表明存在 8 帧延迟,从空缓冲区 #9 命令发送到消息 FILL_BUFFER_DONE #1 到达。我在 samsung-note2 和 htc-one-x 等一些手机上测试过,都有很大的解码延迟。
对于视频会议应用程序的接受度而言,这种延迟很大。任何人都可以帮助我缩短这种延迟?
日志输出如下: