问题标签 [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.

0 投票
0 回答
858 浏览

android - QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka 转换器

我需要YUV在 Android 上处理来自 H/W 解码输出的数据。

实际上,我使用的是 Nexus4,解码输出格式是QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8katype。

但我需要YUV420 Planar格式数据,需要转换。

你能分享转换功能或任何方式吗?

0 投票
2 回答
2350 浏览

android - android 在 eglDestroyImageKHR 上使用 GraphicBuffer 崩溃

我正在使用以下代码将数据复制到 GraphicBuffer:

当调用 eglDestroyImageKHR 时,问题就出现了,它在某些设备中崩溃,而在另一些设备中则没有。这是回溯:

以下是几个完整的回溯:

http://pastebin.com/S0Ax6eNp

http://pastebin.com/bGWeWruw

不调用 eglDestroyImageKHR 会导致泄漏,当再次调用上述例程时,gbuffer->lock() 失败并显示内存不足错误消息。

例如在galaxy S4、galaxy s2、xperia z1 上崩溃并且不会在nexus 4、nexus 7、galaxy ace 2 等中崩溃

我将不胜感激任何帮助。

-编辑-

我发现的唯一解决方法是将引用计数器减少到 0,以便调用 GraphicBuffer 析构函数并释放内存。

0 投票
1 回答
4018 浏览

android - Android:为视频解码器创建 OMX 组件

我有一个将解码器(HEVC)集成FFMPEG到 Android 的新任务Stagefright。为此,我首先需要创建一个OMX组件,我接下来要做的是注册我的编解码器media_codecs.xml,然后将OMX组件注册到OMXCore.

是否有任何指南或步骤来OMX为视频解码器创建组件?其次,这个解码器只播放基本流(.bin.h265文件),所以这里没有容器格式。

OMX任何人都可以提供一些在为视频编解码器创建组件时要遵循的步骤或指南。任何类型的指针都会对我很有帮助。

提前致谢。

0 投票
1 回答
2285 浏览

android-ndk - 在 Android 中使用 stagefright 库的 H264 硬件加速解码

我正在尝试使用带有 Stagefright 库的硬件来解码 h264 视频。

我在这里使用了一个例子。我正在获取解码数据MedaBuffer。对于渲染,MediaBuffer->data()AwesomeLocalRenderer在 AwesomePlayer.cpp 中尝试过。

但屏幕画面失真

这是原始和崩溃图片的 链接

并在示例中尝试过这个

但是我的本机代码崩溃了。我无法获得真实图片,它或损坏或黑屏。

提前致谢。

0 投票
1 回答
2134 浏览

android - 在我的 Android NDK 应用程序中添加 libstagefright

我对代码进行了一些更改AOSP并编译了它。现在我想添加libstagefright.so在我的应用程序中创建的。

Android.mk我添加为带有路径的LOCAL_SRC_FILES编译libstagefright.so库。

这里是`

当我正在构建和运行程序时,我没有看到库中有任何变化。我没有看到任何变化是什么问题?

提前致谢。

0 投票
1 回答
252 浏览

android - Android libstagefright_h264 ff_get_buffer is not declared in this scope 错误

我正在尝试使用解码器构建 ffmpeg libstagefright_h264,稍微修改了 ffmpeg 中的给定脚本以指向本地文件系统中的 android 源。制作时,我得到

错误。这是什么原因造成的?如何绕过它?

0 投票
1 回答
826 浏览

android - 集成自定义解码器,在安卓上播放,同时显示fps

作为我最终项目的一部分,我开发了一个自定义解码器。我的解码器现在接受.steve文件我想将我的解码器与 android 框架集成。

我在这件事上进行了很多研究,我发现的有用链接之一是here。 Android:如何将解码器集成到多媒体框架

我面临的问题是我不想编译整个 android 源代码来集成我的解码器。我想创建一个带有.apk可以识别.steve文件并播放视频的文件的应用程序。这样任何想要测试我的应用程序的人都可以直接apk在手机中安装我的应用程序,而不是编译源代码,然后apk可以很容易地分发到我的研究生院来测试我的解码器。

0 投票
1 回答
1911 浏览

android - 为什么 AVCodecContext extradata 为 NULL?

我正在尝试使用和库解码h264视频。我正在使用这个例子。ffmpegstagefright

该示例显示了如何解码mp4文件,但我只想解码h264视频。

这是我的一段代码..

mVideoTrack->extradata一片空白。我做错了什么??mVideoTrack->extradata我的问题是,kKeyAVCC应该包含什么?

请帮助我,我需要你的帮助。提前致谢。

0 投票
1 回答
4121 浏览

android - 使用 MediaCodec API 在基于 Android 的媒体播放器应用程序中实现音频视频同步的最佳方法是什么?

我正在尝试使用MediaCodecAPI 在 android 中实现媒体播放器。

我创建了三个线程 Thread 1 :将输入缓冲区出列以获取空闲索引,然后在各自编解码器的输入缓冲区中对帧audio和帧进行排队video

线程 2:将编解码器的输出缓冲区出列并使用类的 write 方法audio渲染它AudioTrack

线程 3:将编解码器的输出缓冲区出列并使用方法video渲染它releaseBuffer

我在实现audiovideo帧之间的同步方面面临很多问题。我从不audio丢帧,在渲染video帧之前,我检查解码帧是否延迟超过 3 毫秒,如果是我丢帧,如果它们提前超过 10 毫秒我不渲染帧。

为了找到和之间的区别audiovideo我使用以下逻辑

timeUs是以微秒为单位的视频帧的呈现时间。nowUs应该包含播放的持续时间(以微秒为单位)audio。是必须始终保持的帧之间startTimeUs的初始差异。audiovideo

第一个 if 块检查是否确实存在audio轨道并且它已被初始化并nowUs通过计算它的值来设置值audiotrack If there is no audio (first else) nowUsis set to SystemTimeand the initial gap is set to zero. startTimeUs在 main 函数中初始化为零。

同步块中的 if 块用于以防万一,要渲染的第一帧是audio,然后audio帧连接。first_audio_sampleflag 最初设置为 true。

如果有任何不清楚的地方,请告诉我。

此外,如果您知道任何开源链接,其中 av 文件的媒体播放器已使用视频编解码器实现,那就太好了。

0 投票
1 回答
2193 浏览

android - 如何在 Android.mk 文件中构建 .s (asm) 文件

我正在将自定义编解码器集成到libstagefrightandroid 源代码中。我成功完成了 自定义包装器编解码器集成到 Android中解释的任何内容, 但我发现问题就像我.s的自定义编解码器中有文件一样。

我正在关注LOCAL_CFLAGS := -DOSCL_EXPORT_REF= -DOSCL_IMPORT_REF=它,它没有.s构建文件。

我找到了几个解决方案,但这些不是我的答案链接

请帮我解决这个问题

提前致谢。