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

android - FFMpeg Android Stagefright SIGSEGV 错误(h264 解码)

我需要在 Android 2.3+ 上将h264文件解码为YUV据我了解,在使用OpenMAX IL实现关闭访问之后,我需要与 Stagefright 进行沟通,因为这是现在唯一的方式。我已经使用 FFmpeg 0.10(并尝试了 0.9/0.9.1..)来解决这个问题,用 NDK7 编译它(并且还尝试了 NDK6b,结果相同):

硬件:Beagleboard-Xm + TI Android 2.3(官方)

因此,输入下一个命令会给我 480p 错误:ffmpeg -i /sdcard/Video/480p.mp4

停止(信号)ffmpeg -i /sdcard/Video/480p.mp4

来自 ADB Logcat 的完整 Android“答案”:http: //pastebin.com/76JLgtXX

Android开发人员,有人知道这个错误是什么意思以及如何处理它吗?我试图让 DSP 窗口更大,但没有运气。“stagefright /sdcard/Video/480p.mp4”之类的命令可以正常工作。

PS 此外,我发现在一些更大的文件(720p)上,Android 的答案如下:

[libstagefright_h264 @ 0xd479b0] 解码失败:80000000

0 投票
0 回答
1388 浏览

android - 使用 FFmpeg-10 在 Android 上进行 H264 硬件解码

我注意到ffmpeg已经包含(libavcodec/libstagefright.cpp)并声称通过StageFright框架支持H264的硬件解码。我已经根据 (tools/build_libstagefright) 构建了共享库。但是在进行真正的 H264 帧解码时,似乎在 Stagefright_init() 处失败。有人成功使用这个新功能吗?先感谢您。

0 投票
1 回答
13515 浏览

android - Android - 在我自己的项目中包含原生 StageFright 功能

我目前正在开发一个应用程序,它需要录制音频、将其编码为 AAC、流式传输并反向执行相同的操作 - 接收流、解码 AAC 和播放音频。

我使用MediaRecorder成功录制了 AAC(包装在 MP4 容器中) ,并使用AudioRecord类成功上传了音频。但是,我需要能够在流式传输音频时对其进行编码,但这些类似乎都没有帮助我做到这一点。

我进行了一些研究,发现大多数有这个问题的人最终都会使用像ffmpeg这样的原生库。

但我想知道,由于 Android 已经包含StageFright,它具有可以进行编码和解码的本机代码(例如,AAC 编码AAC 解码),有没有办法在我的应用程序上使用这个本机代码?我怎样才能做到这一点?

如果我只需要用它们的本机代码实现一些 JNI 类,那就太好了。另外,由于它是一个 Android 库,因此不会有任何许可问题(如果我错了,请纠正我)。

0 投票
2 回答
1800 浏览

android - 如何从 Android Gingerbread 中的 libmedia_jni 访问自己的 libmediaplayerservice 库

默认情况下,android Gigerbread 2.3 使用 PV_Player(opencore 库)。我找到了一种解决方案,它应该是修补系统 build.prop 文件,但我不想修补系统。我想使用将使用 StageFright 播放器的 android 媒体框架创建自己的库。我知道 libmediaplayerservice 决定播放器的选择。看看媒体框架

我想根据android框架创建库-

  • libmedia_jni_own
  • libmedia_own
  • libmediaplayerservice_own

    但问题是 libmedia 不直接与 libmediaplayerservice 库交互,它不直接依赖于 libmediaplayerservice 库。以至于无法创造出怯场的播放器。Libmedia 通过 Binder IPC 机制与 libmediaplayerservice 库进行通信。如何修补 libmedia 源库,以便它可以访问我的 libmediaplayerservice 库并能够创建 StageFright 播放器以及 StageFright 记录器等的所有访问权限,而不是 opencore 库。

  • 0 投票
    1 回答
    1372 浏览

    android - Windows Media Player 无法播放在 Android 中创建的 MPEG-TS 文件。

    我测试了 StageFright 记录示例 (frameworks/base/cmds/stagefright/record) 以创建 mpeg2 TS 文件。虽然它可以在 Android 默认媒体播放器上播放,但不能在 Windows Media Player 或 MPlayer 上播放。有什么建议么?

    请注意,我修改了原始记录示例源以创建 MPEG-TS 文件而不是 MP4 文件。

    0 投票
    3 回答
    4594 浏览

    android - 对于 API > 2.3,Android MediaPlayer.prepare() 需要很长时间(是因为 StageFright 吗?)

    (这个问题部分与为什么Android的MediaPlayer准备一些直播流播放需要这么长时间有关?

    我尝试使用 android MediaPlayer 在不同设备上播放以下音频流:http: //newsstream1.publicradio.org

    我终于注意到设备 <= 2.2(不到 1 秒)和设备 > 2.2(最多可能需要 30 秒...)之间的 prepare() 方法的持续时间存在巨大差异

    它与底层音频框架有关吗?(OpenCore VS StageFright)

    有人已经经历过吗?您知道使用 StageFright 媒体播放器读取 mp3 流的更好解决方案吗?

    0 投票
    3 回答
    66242 浏览

    android - 如何在 Android 上使用硬件加速视频解码?

    我需要一个研究项目的硬件加速 H.264 解码,以测试自定义协议。

    当我在网上搜索时,我发现了几种在 Android 上执行硬件加速视频解码的方法。

    1. 使用ffmpeg libstagefright(libstagefright概述)或直接在操作系统中使用 libstagefright,如此
    2. 在特定硬件平台上使用OpenMax 。喜欢这里关于三星设备这里关于高通骁龙系列
    3. 有人提到PVplayer

    有些人“说” libstagefright 是唯一的方法,而高通公司的人显然已经取得了成功。

    目前我不确定哪种方式可行。我现在有点困惑。如果一切正常,我当然更喜欢独立于硬件的方法。

    由于我已经使用 Galaxy Tab 7.7(3.2 和 Enxyos)测试了一些视频播放器的硬件加速,VLC、Mobo、Rock、vplayer、rock 和 mobo 工作正常,VLC 不起作用,vplayer 似乎有渲染损害其性能的错误。

    无论如何,我对 Rockplayer 进行了“操作”并删除了它在 data\data\com.redirecting\rockplayer 中的所有 .so 库,并且软件解码崩溃,而硬件解码仍然可以正常工作!我想知道他们是怎么做到的。在我看来,硬件加速可以独立于硬件平台。

    有人可以解决这个问题吗?或者提供任何参考以提供更多信息或更好的细节?

    0 投票
    2 回答
    1591 浏览

    android - Android浏览器媒体播放器(stagefright?)显示媒体名称

    当 Android 浏览器打开它可以播放的媒体文件时,内置的(stagefright?)媒体播放器会打开以流式传输它。该媒体的标题会根据 URL 显示在播放器对话框中。

    Android 媒体播放器,标题突出显示

    本例中的 URL 是http://10.0.37.195/waug_mp3_128k. 媒体播放器只是使用路径的最后一部分作为其标题。

    是否可以更改显示的标题?

    我试过一个Content-Disposition标题,但它没有效果:

    0 投票
    1 回答
    1605 浏览

    android - 如何使用 ffmpeg android 对媒体文件进行硬件解码?

    我正在 android 中开发一个媒体播放器应用程序,它使用 ffmpeg 进行解码,我认为这是软件解码。它不能流畅地播放高分辨率视频,所以我想切换到硬件解码。我开始知道 libstagefright 会做这件事。但是如何使用 libstagefright 来实现呢?是否有任何样品或文档。请帮助使用 libstagefright。

    0 投票
    1 回答
    691 浏览

    android - 如何在Android中获取帧数据

    最近想开发一个android应用,开发了一个MediaPlayer来播放视频,视频播放的时候,我想获取每一帧的图像数据,做一些处理,然后渲染到屏幕上。有没有人有什么建议吗?谢谢指教!