问题标签 [stagefright]
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.
android - Android:如何将解码器集成到多媒体框架
最近我成功地将视频解码器移植到了安卓。还将输出转储到表面视图并使用本机 API 检查输出。现在下一个任务是实现播放、暂停、流媒体等,即媒体播放器的其他功能。这样做将是一个返工,因为所有这些功能都已经在 android 多媒体框架中定义了。听说我们可以把我们的解码器做成一个插件,集成到Android的多媒体框架中。尽管我在谷歌上搜索过相同的内容,但我几乎找不到任何有关相同的信息。所以我恳请任何读者为上述问题提出一些相关的链接或解决方案。提前致谢,等待您的回复。
c++ - .data.rel.ro+0x8 错误:未定义对 'typeinfo for android::MediaSource' 的引用
在使用 ndk-build 在 android 中编译我的 JNI 源时,我无法解决问题。导致错误的类如下:
在这里,所有的虚方法都是在MediaSource
类中定义的。现在,当我编译它时,出现以下错误:
我已经通过类似问题的stackoverflow链接但无法解决。任何方向将不胜感激。
谢谢。
android - 如何创建一个舞台惊险插件
我的任务涉及将视频解码器集成到Stagefright
(Android 的多媒体框架)中。我搜索并发现以下有关为以下内容创建新插件的信息Stagefright
:
要添加对新格式的支持,您需要:
如果容器还不支持,开发一个新的 Extractor 类。
开发一个新的解码器类,实现
StageFright
核心读取数据所需的接口。将要读取的文件的 mime 类型与数组中
OMXCodec.cpp
文件中的新解码器相关联。kDecoderInfo
以上数据都是我在网上能查到的。现在我有一个简单的应用程序,它将一个文件作为输入,并使用 android 中的本机 API 将其呈现在屏幕上。谁能告诉我如何进一步进行。所有这些和其他内容从哪里OMXCodec.cpp
出现,我应该将它们放在我的项目的哪个目录中。请提供有关相同的解决方案。提前致谢。
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
我在读取操作时收到错误代码。我尝试了各种参数,但没有成功。
完整的日志如下:
我很感激这方面的任何指导。
gstreamer - Stagefright vs Gstreamer
与 stagefright 相比,使用 gstreamer 有哪些优势?谁能指出其中的区别。
android - 自定义包装编解码器集成到 Android
我需要开发一个自定义的“包装器”视频编解码器并将其集成到 android(现在是 JB,稍后是 ICS)中。我们想使用来自 SIM 卡的一些自定义解密密钥(不要问!)。最好的方法(允许它与其他非加密媒体一起工作并使用标准媒体播放器或其他)似乎是定义我们自己的 mime 类型,并将其链接到可以执行自定义的自定义包装编解码器解密,然后将数据传递给真正的编解码器。(假设文件类型是.mp4
现在。)
(另一种方法可能是编写我们自己的媒体播放器,但我们宁愿不走那条路,因为我们真的希望媒体与其他媒体一起无缝出现)
我一直在尝试遵循本指南: 如何将解码器集成到多媒体框架中
我在注册 OMX Core 时遇到问题 - 我可以
libstagefright.so
通过键入从 android 源代码构建,make stagefright
但在指南中他说使用libstagefrighthw.so
似乎适合 JB 的,但我不确定如何构建它,它不似乎是从使用中构建的,make stagefright
除非我做错了什么?另一个问题是,即使我注册了自定义包装编解码器,我也不确定如何将数据传递给真正的编解码器。
如果有人有任何建议(或者可以给一些婴儿一步一步的指导!),我真的很感激 - 概念证明的截止日期非常紧迫,我对编解码器或媒体框架知之甚少......
非常感谢。(ps 我不想卷入一场关于 drm 和模拟孔等的泥战,谢谢)
android - Android 4.0 及更高版本 OMX-IL 硬件解码来自 Native 端
是否可以在 Android 4.1 及更高版本中使用 Android 本机代码和 OMX-IL(甚至可能使用 stagefright)进行硬件解码(也许您会建议创建 OMXCodec 的实例)。但我想从客户端应用程序完成我自己的表面分配和处理。OMXCodec::Create 需要一个 ANativeWindow 但我想绕过它并只使用一个解码函数,在那里我将传递一个缓冲区/eglSurface 并获取解码的帧输出。任何帮助将不胜感激!
h.264 - 直接访问 StageFright.so 以在 Android 中从 JNIlayer 解码 H.264 流
有没有办法libstagefright.so
直接从Android 2.3 或更高版本H.264
的层访问解码流?JNI
stream - 有人可以在怯场之上提供一些样本或资源吗?
我最近在学习android,我想用stagefright解码TS流,想知道stagefright如何处理视频文件或流,但我对stagefright知之甚少。有人可以在stagefright之上提供一些示例、项目或资源吗?谢谢