问题标签 [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 投票
1 回答
6095 浏览

android - 在 Android 上解码和渲染视频

我需要做的是解码视频帧并在梯形表面上渲染帧。我使用 Android 2.2 作为我的开发平台

我没有使用媒体播放器服务,因为我需要访问解码的帧。

这是我到目前为止所拥有的:

  • 我正在使用 stagefright 框架来提取解码的视频帧。
  • 然后将每一帧从 YUV420 转换为 RGB 格式
  • 然后将转换后的帧复制到纹理并渲染到 OpenGL 表面
  • 请注意,我使用的是处理而不是直接使用 OpenGL 调用。

所以现在我的问题是

  • 我只能用 stagefright 解码 mp4 文件
  • 渲染太慢,320x420 帧大约 100ms
  • 还没有音频,我只能渲染视频,但我仍然不知道如何同步音频帧的播放。

所以对于我的问题...

  • 如何支持其他视频格式?我应该使用 stagefright 还是应该切换到 ffmpeg?
  • 我怎样才能提高性能?我应该能够支持至少 720p 吗?
  • 我应该直接使用 OpenGL 调用而不是处理吗?这会提高性能吗?
  • 如何在播放期间同步音频帧?
0 投票
1 回答
773 浏览

android - Android StageFright 音频循环问题

我对最近使用的 android OS(特别是 Xoom 上的 3.2)的更新有一个大问题MediaPlayer.setLooping(true);将不再循环一个wavogg循环之间有间隙的文件。

我有一个需要无缝循环的应用程序,并且使用该OpenCore框架运行良好,但我不知道如何让它在新StageFright框架上运行。谁能给我一个关于如何StageFright在较新版本的 Android 操作系统上播放无缝音频循环的指针?

0 投票
2 回答
3419 浏览

android - 如何从命令行使用 Stagefright?

如何从命令行使用 Stagefright?可能吗?

0 投票
0 回答
1502 浏览

android - 使用 StageFright 进行音频/视频录制和渲染

我正在尝试在 Android 上开发视频电话应用程序。因此,我想捕获和渲染音频和视频。

经过一番调查,我认为使用 StageFright 来完成这项任务比使用 OpenMAX 更好,因为它提供了更多的硬件独立性。

请让我知道如何使用 StageFright 完成以下任务,

  1. 从相机/麦克风录制原始视频/音频
  2. 编码原始视频/音频
  3. 解码压缩的视频/音频
  4. 播放未压缩的视频/音频。

我猜任务 1 和 2 可以使用 StageFright 进行组合。同样,任务 3 和 4 也可以合并。

有什么建议或想法吗?

0 投票
0 回答
804 浏览

android - How to use Stagefright with a predefined buffer for decoded frames?

I would like to create a simple Android application which would play video file, but it would replace one color (of my choice) in the displayed frame with another color (of my choice). I assume there is some interface/API in which application could provide URI and buffer-for-decoded-frames to Stagefright, so the application is allowed to modify the display buffer before it is shown on the screen.

Can anybody point me to the API or to the way how to instruct Stagefright to decode frames into an already predefined buffer?

Thank you.

0 投票
0 回答
410 浏览

android - 从 codeaurora.org 编译 Gingerbread 时出现 OMXCodec.cpp 错误

从 codeaurora.org Git 存储库下载 Gingerbread 的整个 Android 源代码后,我收到编译错误。

它与 /frameworks/base/media/libstagefright 中的 OMXCodec.cpp 文件有关

有没有人有可行的解决方法?我已经用我下载的 tarball 替换了 libstagefright 目录,但无济于事。

0 投票
2 回答
1199 浏览

android - Android Stagefright 无法设置视频帧率

我有一个应用程序将视频从设备流式传输到远程计算机。尝试设置帧速率时,我不断得到:

我使用的代码是:

有想法该怎么解决这个吗?

0 投票
1 回答
3035 浏览

android - 如何更改 Android 中的默认视频缓冲区大小

我发现 Gingerbread 中的默认视频缓冲区大小设置为 8 秒,因此任何比这短的剪辑都无法播放。

有没有办法改变流媒体播放器的默认缓冲区大小?

0 投票
0 回答
258 浏览

shared-memory - postDataTimestamp 中的空指针 - CameraSource.cpp (Stagefright)

目前,我正在尝试访问相机数据并将其从我的应用程序发送到默认编码器。

我需要在camerasource.cpp的postDataTimestamp()中访问camera返回的数据。在检查数据指针时,我发现它为空。但在 postData() 中,它是一个有效的指针。

当我尝试在 postdatatimestamp() 中打印数据指针时,我得到“无法映射 bpMemoryHeap 错误”。我不知道为什么我会得到这个问题。

在讨论中,听说相机和我的应用程序在两个不同的进程中运行,所以我收到这个错误,我无法在 postDataTimestamp() 中访问 c​​ameraData。

有人可以阐明这个问题..吗?

谢谢。

0 投票
2 回答
1989 浏览

android - 支持 Android StageFright 软件编解码器中的 OMX 接口

Android 软件编解码器(例如OMX.PV.mpeg4enc)是否支持 OpenMAX (OMX) 接口?例如,它们是否支持标准的 OMX 功能OMX_FillThisBuffer,例如OMX_EmptyThisBuffer等?还是只有硬件解码器支持OMX接口?