问题标签 [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.
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 后,只需移入每个目录,然后移出目录,无需执行任何操作。
我的问题在这里。
- 安装有什么问题?
- 我需要添加一些环境变量吗?
提前致谢。
这是 make -j 8 的结果。抱歉,使用了日语。它只是说移入某个目录并移出该目录等等。
ffmpeg - 树莓派 3 OpenMax EmptyThisBuffer 使用 libav 或 ffmpeg 转码时响应缓慢
上下文是使用 libav avconv 或 ffmpeg 在 Raspberry Pi 3 上从 1080i MPEG2 TS 转码为 1080p@30fps H264 MP4。两者都使用几乎相同的 omx.c 源文件并共享相同的结果。
性能不足30fps(约22fps),不适合在不降低帧率的情况下进行实时转码。
通过为关键代码添加时间戳,我注意到以下内容:
OMX_EmptyThisBuffer 可能需要 10-20 毫秒才能返回。规范/文档表明这应该小于 5 毫秒。这几乎可以解释绩效赤字。有人可以解释为什么这个 OMX 调用不符合规范吗?
在 omx.c 中,使用 zerocopy 选项来优化图像复制性能。但是此代码的先决条件(连续平面和步幅对齐)从未得到满足,因此优化从未生效。有人可以解释如何使用这种零拷贝优化吗?
关于 h264_omx 编码器的附加问题:它似乎接受 MP4 或原始 H264 输出格式。添加其他格式(例如 TS)有多难?
谢谢
android - 如何或在何处指定 omx 解码器支持隧道
BSP 支持硬件加速编解码器的隧道。Android 用于feature-tunneled-playback
检查是否支持隧道。如果是,它将尝试配置隧道。如何实现或指定android扩展OMX.google.android.index.configureVideoTunnelMode
它只是说应该支持隧道播放支持扩展。如何公开此扩展,以便 android 假定支持隧道?
android - Android 是否支持通过 OpenMAX AL API 进行录制?
我一直在尝试在 Android 设备上录制音频/视频并使用 Open MAX AL API 进行播放。
到目前为止,音频播放部分工作顺利。我提到了本机媒体示例,以使用Media Player对象从 SD 卡播放 mp4 文件。在尝试视频播放之前,我开始探索录音。
在尝试录制时,我意识到Engine::CreateMediaRecorder
返回SL_RESULT_FEATURE_UNSUPPORTED
.
- 这是否意味着,Android 不支持通过 OpenMAXAL API 进行录制?
- 此链接部分讨论了除Media Recorder之外的一些功能。OpenMAXAL 的 Android 支持功能记录在哪里?
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,除了复制和粘贴到终端之外,我不知道我在做什么,任何帮助将不胜感激
ffmpeg - FFmpeg 是否支持 Openmax IL 硬件解码器?
亲爱的:
FFmpeg 是否支持 Openmax IL 硬件解码器?
我发现并可以使用名为 omx.c 的 FFmpeg Openmax IL HW 编码器。
但是,我没有找到 FFmpeg 的 Openmax IL 硬件解码器实现?
有谁知道为什么?
或者有人有为 FFmpeg 实现 Openmax IL 硬件解码器的经验。
提前致谢。
gstreamer - Gstreamer videoconvert 颜色转换错了?
我正在启动一个gst-launch-1.0
使用nvgstcamera
. 图像被编码为 VP9 视频。视频被tee
发送到filesink
将视频保存在 webm 容器中的 VP9 解码器,将图像通过管道传输到appsink
.
稍后,我想从保存的视频中提取帧并再次通过应用程序运行它们。appsink
重要的是,这些帧与在视频捕获期间通过管道传输到的帧完全相同。
不幸的是,解码后的帧看起来略有不同,具体取决于您提取它们的方式。
一个最小的工作示例:
记录:
重放nvvidconv
元素:
重放videoconvert
元素:
测试图像差异:
我的猜测是这与 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 特定插件?
c - 如何在 Linux 中使用 OpenMax 解码 h264 视频?这段代码正确吗?
我正在尝试使用 OpenMAX 解码器解码 h264 视频流:
https://gist.github.com/NicholasShatokhin/f6a86d03707decf53d684c4c82f909a6
看起来一切正常,但是当我将数据发送到解码器时,它不会填充输出缓冲区。应用程序运行期间不调用 FillBufferDone 回调。只有当 Flush 函数被调用时,我才得到这个带有空缓冲区的回调。
我在这里错过了什么?我的代码或解码器本身有问题吗?如何检查?
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
,但没有注册任何内容:
c++ - 卡在 ilclient_get_input_buffer
我的程序目前卡在这个调用上:ilclient_get_input_buffer()。不幸的是,由于缺乏关于 openmax IL 的文档,我无法完全弄清楚我做错了什么。
任何帮助将不胜感激!