问题标签 [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 - stagefright CameraSource::read 在三星 Galaxy S2 上返回小帧(20 字节)
我正在尝试抓取相机捕获的帧,对它们进行编码,最后使用 RTP/RTSP 发送它们。
为了进行捕捉,我使用了 Stagefright 的 CameraSource 类。屏幕上的预览(从 Java 传递的 Surface)很棒。但是当我尝试提取帧时,我得到了 20 个字节的帧。
我究竟做错了什么 ?
android - 检测 Android 上支持的音频编码器以防止崩溃“未找到给定的音频编码器 2”
当 Android 设备不支持强制音频编码器时,您会得到:(X=编码器的数字索引)
E/MediaProfiles(4048):找不到给定的音频编码器 X A/AudioSource(4048):frameworks/base/media/libstagefright/AudioSource.cpp:58 CHECK(channels == 1 || channels == 2) 失败。A/libc(4048): 0xdeadbaad (code=1) 处的致命信号 11 (SIGSEGV) 在本机代码中。没有例外的反应。应用程序只是强制关闭。
如果实际支持 AAC AMR-NB 和 AMR-WB,有什么方法可以查询 Android >3.x 设备?文档(http://developer.android.com/guide/appendix/media-formats.html)说这些是核心媒体格式,因此始终受支持。一些实际和普通的手机(主要品牌)没有。
MediaCodec.createByCodecName(String name)
和
Get supported Codec for Android device
仅适用于 API16=Android 4.1 但有问题的设备是 4.0.x 。它也没有列出 AMR-NB 和 AAC。
android - 我可以使用 OpenCORE 或 StageFright 在 Android 中编码或解码视频吗?
这个 Android 框架是否提供了为一个 Android 应用程序开发编码和解码功能的能力?
我知道有一个名为 MediaCodec 的 4.1 高级 API 提供了编码和解码视频的功能,但我不知道它是否真的使用其中一个媒体框架作为 Stagefright 来访问编解码器。
与使用 MediaCodec API 相比,直接使用其中一个框架进行编码或解码有哪些好处?
也许我很困惑,但我必须制作一个关于使用 Android 视频编码的项目,如果有人可以帮助我,我必须为此选择更好的选择......
android - ICS 上的 HLS 支持
我们在某些硬件上安装了 ICS 操作系统,我们需要在其中播放安全的 m3u8(使用密钥文件,就像 IOS 处理方式一样)。
我们需要以多种方式控制播放,例如快进、快退、动态操作流以及在其间显示广告等。
我们认为如果我们能够使用android播放器播放.ts文件,这一切都可以解决,这样我们可以一次访问许多m3u8并编写我们自己的(可以充当代理)并将ts流提供给播放器。这里我们甚至可以操纵许多 m3u8 ts 流并即时组合。
需要了解是否可能?Stagefright 框架在内部如何处理?有人了解 Stagefright 框架吗?
我们只希望它在我们的硬件上播放,我们不需要其他操作系统支持。让我知道任何相同的指针。
android - 如何在 Android 中使用 Stagefright?
我想.ts
在我的应用程序中播放视频文件。我没有办法做到这一点。我怀疑在Android中是否可以做到这一点。
我听说过Stagefright
框架。所以请告诉我如何Stagefright
在我的应用程序中使用它以及它是否能够播放.ts
文件。
或者还有其他播放.ts
文件的方法吗?
谢谢
android - Android - 跨设备/制造商的 Stagefright 框架一致性
Stagefright
跨制造商和/或设备 的使用是否有任何保证的一致性?
尽管 AndroidStagefright
是在 2.x 中引入的,但有什么东西阻止了制造商对其进行更改?从 ICS 开始,Android 已经正式添加了对(至少是其中的一个子集)的原生 API 支持OpenMAX AL 1.0.1
,但我希望能够支持旧设备。
我正在尝试从 H.264 视频中获取SEI
( NAL
) 用户数据,并且我正在尝试找出获取它的最佳方法。是Stagefright
一种体面的方法,还是不能保证跨设备?
android - 要通过 libstagefright 在 android 中使用硬件解码器,在元数据中为 kKeyAVCC 设置什么以进行帧基解码而不是 MP4 播放?
我一直在尝试使用 libstagefright 来解码 h264 压缩帧。我没有 MP4 文件,而是想逐帧解码。我一直在从链接中探索样本. 此示例使用 ffmpeg 解析 mp4 文件。并使用 ffmpeg 的 avcodeccontext 设置并找到所需的元数据。现在我想设置 kKeyAVCC、kKeyWidth、kKeyHeight、kKeyIsSyncFrame 和 kKeyTime。我不清楚这些参数中的每一个。那么,我只想知道是否需要设置所有这些参数?这些参数的目的是什么,以及为逐帧解码的元数据设置什么。当我没有设置 kKeyTime 时,omxcodec 在读取媒体缓冲区时崩溃。如果我在读取操作上获得成功,我不会得到我在 MediaBuffer 的派生读取方法中设置的元数据值。我得到帧的视频尺寸和 INFO_FORMAT_CHANGED 的错误代码。
android - how to access StageFright API's to decode h264 video and render from application layer on Android (Gb and ICS)
Is there any sample code which gives me an idea about how to access StageFright API's to decode h264 video as well as Rendering the Decoded data (which will be in YUV420 ) using Surfaceflinger APIs from application layer on Android (GB,ICS).
android - Android:尝试使用本机表面时,mSurface 出现 java.lang.NoSuchField 异常
我想从本机代码提供表面缓冲区。所以我从 SurfaceView 的 SurfaceHolder 的 getSurface 方法中得到了表面。现在我想要的是从本机使用它来提供缓冲区来渲染图像。我已经包含了 SurfaceClinger/Surface.h。但是当我尝试获取 mSurface 属性时,它会抛出错误,说 java.lang.NoSuchFieldException for mSurface。在这方面的任何建议都会有所帮助。
代码片段:
谢谢。
android - 使用 IOMX 列出组件名称和型号时未找到编码器,但 android 仍然可以使用 H264 编码帧录制 .mp4 文件
我一直在尝试通过与媒体播放器服务绑定来列出使用IOMX的 android 设备中所有支持的编解码器,如此处所示。我让我的代码正常工作并获得了组件列表。但我观察到没有编码器组件。仅列出了所有解码器组件。然后我转到android提供的内置相机应用程序并开始录制以mp4文件格式存储的视频。当我从 VLC 播放器检查 mp4 文件的编解码器信息时,它显示“H264 mpeg4 part10 avc”。所以我的疑问来了。如果没有列出 h264/avc 编码的组件,那么 android 如何编码 h264 格式的帧?
有什么建议吗?谢谢。