问题标签 [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 回答
1049 浏览

gstreamer - 如何将 gst-omx-1.9.2 安装到 Ubuntu14.04(不是 Rasberry Pi !)

我正在尝试使用 GStreamer 进行 GPU 支持的视频编码/解码,因为我的项目需要网络摄像头图像的快速 UDP 流。
现在我想从源代码安装 gst-omx 和 OpenMAX,但我遇到了麻烦……
你能帮帮我吗?

我已经安装了 nvidia 显卡驱动程序(3.52.99)、cuda-7.5、nvenc(ver.5.0)、gstreamer-1.9.2、orc-0.4.26、gst-libav-1.9.2、gst-plugins-基础/好/坏/丑陋-1.9.2。
gst-*** 从源代码安装以指定这些版本。
现在我认为我需要的最后一件事是gst-omx-1.9.2,因为我想使用omxh264(我不确定omxh264是否在内部使用GPU,但我想试试这个)。但我不能。

根据谷歌结果,

一切都会好起来的。但就我而言,make 命令不会生成共享对象。
输入 make 后,只需移入每个目录,然后移出目录,无需执行任何操作。

我的问题在这里。

  • 安装有什么问题?
  • 我需要添加一些环境变量吗?

提前致谢。

这是 autogen.sh 的结果。 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

这是 make -j 8 的结果。抱歉,使用了日语。它只是说移入某个目录并移出该目录等等。

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
416 浏览

ffmpeg - 树莓派 3 OpenMax EmptyThisBuffer 使用 libav 或 ffmpeg 转码时响应缓慢

上下文是使用 libav avconv 或 ffmpeg 在 Raspberry Pi 3 上从 1080i MPEG2 TS 转码为 1080p@30fps H264 MP4。两者都使用几乎相同的 omx.c 源文件并共享相同的结果。

性能不足30fps(约22fps),不适合在不降低帧率的情况下进行实时转码。

通过为关键代码添加时间戳,我注意到以下内容:

  1. OMX_EmptyThisBuffer 可能需要 10-20 毫秒才能返回。规范/文档表明这应该小于 5 毫秒。这几乎可以解释绩效赤字。有人可以解释为什么这个 OMX 调用不符合规范吗?

  2. 在 omx.c 中,使用 zerocopy 选项来优化图像复制性能。但是此代码的先决条件(连续平面和步幅对齐)从未得到满足,因此优化从未生效。有人可以解释如何使用这种零拷贝优化吗?

关于 h264_omx 编码器的附加问题:它似乎接受 MP4 或原始 H264 输出格式。添加其他格式(例如 TS)有多难?

谢谢

0 投票
1 回答
666 浏览

android - 如何或在何处指定 omx 解码器支持隧道

BSP 支持硬件加速编解码器的隧道。Android 用于feature-tunneled-playback检查是否支持隧道。如果是,它将尝试配置隧道。如何实现或指定android扩展OMX.google.android.index.configureVideoTunnelMode

只是说应该支持隧道播放支持扩展。如何公开此扩展,以便 android 假定支持隧道?

0 投票
1 回答
203 浏览

android - Android 是否支持通过 OpenMAX AL API 进行录制?

我一直在尝试在 Android 设备上录制音频/视频并使用 Open MAX AL API 进行播放。

到目前为止,音频播放部分工作顺利。我提到了本机媒体示例,以使用Media Player对象从 SD 卡播放 mp4 文件。在尝试视频播放之前,我开始探索录音。

在尝试录制时,我意识到Engine::CreateMediaRecorder返回SL_RESULT_FEATURE_UNSUPPORTED.

  1. 这是否意味着,Android 不支持通过 OpenMAXAL API 进行录制?
  2. 链接部分讨论了除Media Recorder之外的一些功能。OpenMAXAL 的 Android 支持功能记录在哪里?
0 投票
1 回答
752 浏览

chromecast - 错误:“没有规则可以使目标'ilclient'。停止。”尝试使用 raspbian 进行 chromecast 替代项目时

嗨,我正在使用运行 raspbian wheezy 的橙色 pi lite,我正在尝试使用此方法使其成为 chromecast 替代品

https://thepi.io/how-to-use-your-raspberry-pi-as-a-chromecast-alternative/

我被困在第 5 步,我收到此错误

“没有规则使目标'ilclient'。停止。”

我相信我需要一些名为 open max 的项目才能正常工作?

我是一个完整的 n00b,除了复制和粘贴到终端之外,我不知道我在做什么,任何帮助将不胜感激

0 投票
0 回答
597 浏览

ffmpeg - FFmpeg 是否支持 Openmax IL 硬件解码器?

亲爱的:

FFmpeg 是否支持 Openmax IL 硬件解码器

我发现并可以使用名为 omx.c 的 FFmpeg Openmax IL HW 编码器。

但是,我没有找到 FFmpeg 的 Openmax IL 硬件解码器实现?

有谁知道为什么?

或者有人有为 FFmpeg 实现 Openmax IL 硬件解码器的经验。

提前致谢。

0 投票
1 回答
2645 浏览

gstreamer - Gstreamer videoconvert 颜色转换错了?

我正在启动一个gst-launch-1.0使用nvgstcamera. 图像被编码为 VP9 视频。视频被tee发送到filesink将视频保存在 webm 容器中的 VP9 解码器,将图像通过管道传输到appsink.

稍后,我想从保存的视频中提取帧并再次通过应用程序运行它们。appsink重要的是,这些帧与在视频捕获期间通过管道传输到的帧完全相同。

不幸的是,解码后的帧看起来略有不同,具体取决于您提取它们的方式。

一个最小的工作示例:

记录:

重放nvvidconv元素:

重放videoconvert元素:

测试图像差异:

nvvidconv:nvvidconv

视频转换:视频转换

我的猜测是这与 I420 到 RGB 的转换有关。所以videoconvert似乎使用了不同的颜色转换nvvidconv

启动管道gst-launch -v显示两个重放管道的元素功能基本相同,唯一的区别是 videoconvert 默认使用 RGB,而 nvvidconv 使用 RGBA。"video/x-raw,format=RGBA"但是,在后面添加大写字符串videoconvert不会影响颜色转换。

请注意,这是在 Nvidia Jetson TX2 上,我想在录制期间使用硬件加速的 gstreamer 插件(omxvp9enc, nvvidconv),而不是在另一台机器上重放期间。

如何从视频中提取与录制期间通过管道运行的图像相同的图像,但不使用 Nvidia 的 Jetson 特定插件?

0 投票
1 回答
417 浏览

c - 如何在 Linux 中使用 OpenMax 解码 h264 视频?这段代码正确吗?

我正在尝试使用 OpenMAX 解码器解码 h264 视频流:

https://gist.github.com/NicholasShatokhin/f6a86d03707decf53d684c4c82f909a6

看起来一切正常,但是当我将数据发送到解码器时,它不会填充输出缓冲区。应用程序运行期间不调用 FillBufferDone 回调。只有当 Flush 函数被调用时,我才得到这个带有空缓冲区的回调。

我在这里错过了什么?我的代码或解码器本身有问题吗?如何检查?

0 投票
0 回答
489 浏览

gstreamer - 如何使用 GStreamer 和 Bellagio 加载专有的 OMX 组件

我正在尝试流式传输 IP 摄像机的视频,该视频公开了我认为是 OMX 组件的内容。

为了获取流,我使用 gst-omx 和 Bellagio 安装并配置了 GStreamer,但我无法让 Bellagio 识别和注册组件。

我没有任何具体问题,但非常感谢有关如何连接这个东西的任何指示。

下面是组件。对Cutter的分析表明,这libOMX_BELA.so与 Bellagio 的libomxil-bellagio.so.0.

输出自gst-inspect-1.0

尝试使用 注册组件omxregister-bellagio,但没有注册任何内容:

0 投票
0 回答
147 浏览

c++ - 卡在 ilclient_get_input_buffer

我的程序目前卡在这个调用上:ilclient_get_input_buffer()。不幸的是,由于缺乏关于 openmax IL 的文档,我无法完全弄清楚我做错了什么。

任何帮助将不胜感激!