问题标签 [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 - 可以在 App 中覆盖系统 .so 库
我必须修改 Android Media Player 的 Http Live Streaming 实现。实现在 stagefright 库下 http://androidxref.com/4.0.4/xref/frameworks/base/media/libstagefright/httplive/LiveDataSource.cpp
我认为这些库将编译为 libstagefright.so,它应该是 Android 系统的一部分。
我的问题是我是否对这个库进行一些更改并编译一个新的 libstagefright.so。如果我在我的新应用程序中加载这个新的 libstagefright.so 并调用媒体播放器,它会使用我的新 libstagefright.so 中的代码吗?
android - 在 Android 2.3.3 上解码 h264 原始流
我正在尝试在“旧”Android 版本上解码原始 h264 流。我试过 MediaPlayer 类,似乎不支持流格式。
我可以在市场上的其他 Cam Viewer 应用程序上看到流,所以我认为必须有办法做到这一点,可能使用 NDK。
我已经阅读了有关 OpenMAX 和 Stagefright 的信息,但找不到有关流式传输的有效示例。
有人可以指出我正确的方向吗?
此外,我在几个地方阅读了有关“frameworks/av/include/media/stagefright/MediaSource.h”和其他来源的信息,但它们似乎既不在常规 SDK 中,也不在 NDK 中。这个来源在哪里?还有另一个sdk吗?
提前致谢。
更新:我收到一个 rtsp 连接。
android - 使用 ffmpeg libx264 for android 编码 RGB565 原始数据
我有以下关于android实现的问题
各种视频编解码器有何不同,尤其是“基于流和基于帧”
在许多论坛和问题上,每个人都在谈论 SPS、PPS 等,所以我在哪里可以找到有关编解码器的足够详细信息(请提及 RFC 文档以外的内容!!)以理解它并相关地使用 ffmpeg?
从这里是否可以使用内置的硬件解码器 od android 设备?如果是这样,如何?我是否需要使用 OpenMax-IL(或 AL 或 DL,我的意思是哪个是为了什么?)
ffmpeg 是否支持通过 libx264 对 RGB(或 RGBA)或 RGB565(或 RGB555)输入数据进行 H264 编码?
如果我的要求只是 h264 编码和解码,我可以在没有 ffmpeg 的情况下使用 libx264 吗?如果有任何示例/指南?
android - 以下函数中的索引是什么?
为什么在MP3Extractor
?
android - 不同智能手机上的视频浏览行为(具有不同的怯场)
我在使用 videoview(或 MediaPlayer)在同一活动中的多个 videoview 中播放 rtsp 流时遇到兼容性问题。
我在这里就这个问题提出了另一个问题,但现在我知道这不是我的代码负责,因为我在不同的手机上测试了相同的软件并且它可以工作。
查看 RTSP 设置的 logcat 信息消息我看到每部手机都有不同的 stagefright 实现(android 多媒体框架):
你可以看到这里有不同的android版本和不同的stagefright,但是多个rtsp只在Lg上失败(见error here)。另一个有趣的是只有Lg使用RtspEngine,其他使用ARTSPConnection
有一种方法可以强制应用程序使用本机 stagefright(如果它存在于设备上)?
应用程序如何管理此兼容性问题?开发不兼容某些品牌手机的应用程序是不合理的
android - 如何在我的 android 上安装 stagefright?
我听说这个声音程序据说是 Android 附带的,叫做“stagefright”,它是从终端模拟器的命令行播放音频文件所必需的。我听说过它的一个来源是:如何从命令行使用 Stagefright?
问题是 --- 我在我的 Android 设备(Aesus Nexus 7)上检查得很好,但它不存在。(要么没有“stagefright”,要么缺少它的命令行界面程序。)我怎样才能安装它——如果我不能,还有什么我可以安装的东西可以让我播放音频文件从终端模拟器命令行?
我问这个是因为我无法从命令行播放音频文件是一个严重的限制。
android - 如何正确使用 libstagefright 的 MediaBuffer?
我:
- 创建
android::MediaBufferGroup
; buf_group.add_buffer(new android::MediaBuffer(bufsize));
在初始化时用多个填充它;buf_group->acquire_buffer(&buffer)
当我需要一个缓冲区发送到某个地方时做;- 用于
buffer->data()
获取实际内存位置以存储数据,使用set_range
和设置元数据,然后将缓冲区馈送到其他组件; - 另一个组件
release
是缓冲区,将它们重新调整回 MediaBufferGroup。
它有效,但不可靠。有时获取的缓冲区data()
返回 NULL,有时程序在release()
...
如何正确使用 MediaBufferGroup?我应该使用一些同步吗?
android - Android Kitkat 4.4.2:自适应播放对 SurfaceFlinger 的影响
我在SO中遇到了关于Adaptive Playback的这个通用问题。Android
Kitkat
但是,我有一些具体的查询如下:
我能够理解对codec
相关框架的影响。但是,有一点我无法完全理解。
在自适应播放的情况下,编解码器metadata
在其输出端口上使用一个基本上抽象和打包底层缓冲区句柄(很可能是gralloc
句柄)的输出端口。如果分辨率发生变化,我假设直接codec
更新gralloc
句柄属性并将缓冲区发送回OMX
客户端而不更改端口设置。
我的第一个问题是:我的理解和假设是否正确?
如果是这样,Surfaceflinger
/如何SurfaceTexture
知道传入的有效负载是metadata
格式的,它如何从底层实现中检索width
和?height
gralloc
您能否指出相关来源,这将有助于我更好地理解这个问题?
提前谢谢了。
android - Android MusicPlayer 使用 Stagefright 或 opencore
我读到如果media.stagefright.enable-player
已设置true
,则设备使用Stagefright
. 在我的设备中,build.prop
我看到了
当我在下面疲倦时
我托管了一个媒体播放器连接到的服务器套接字
我得到的日志是
现在我的疑问是,它是如何向我展示User-Agent: stagefright/1.1
的?media.stagefright.enable-player = false
build.prop
如果这不是确定使用哪个的方法,我如何检测是否opencore or stagefright ?
android - 如何从 OMXCodec 解码输出中转储 YUV
我想从解码输出中转储YUV
数据。OMXCodec
是MediaBuffer
类型。无法访问 data() 指针。
如果我尝试访问数据,由于下面的检查代码会发生崩溃。
请让我知道从中提取YUV
数据的解决方案MediaBuffer
。