问题标签 [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-source - Bravia Engine 如何在 AOSP 上被调用?
我从 Google 找到了 AOSP 源代码,还从 https://github.com/sonyxperiadev/device-sony-sgp321检索了供应商的信息
索尼将其 Bravia 引擎库添加到 AOSP 以提高图像和视频质量。它可以在 libstagefright 的 awesomelocalrenderer 中调用,也可以在解码阶段调用 OMX addPlugin 时调用。
我搜索了这两个地方,那里的代码与其他原生 AOSP 源代码相比是相同的。我想知道索尼如何使用它的 BE 库?
linux - 将视频编解码器集成到 gstreamer 或 vlc
我有一个视频编解码C-Code
器。它以压缩格式作为输入并给出数据缓冲区。作为一个独立的应用程序,我可以使用.YUV
YUV
OpenGL
我现在的任务是使用此代码创建一个播放器(即具有播放、暂停、步进等功能)。与其重新发明整个轮子,我认为如果我能够将我的编解码器集成到gstreamer
播放器代码(for Linux
)中会更好。
是否有可能实现上述目标?是否有一些我可以继续使用的教程?我在网上搜索了很多,但找不到任何符合我要求的东西。任何特定于上述问题的信息或链接将对我有很大帮助。提前致谢。
-问候
android - 在 Android 中使用 Stagefright 流式传输小型音频文件
我有很多小的 .ogg 声音文件(平均大小约为 35-50KB)需要从我的 AWS S3 播放,然后播放后,它们需要缓存在设备上。大约有 200 种声音,这是完成的应用程序将使用的声音的 1/10。
我不确定 Stagefright 库是我最好的选择,或者是否需要完全不同的方法。我应该使用 Stagefright,还是选择其他选项???
android - android硬件解码后的原始数据颜色格式是什么?
是否有用于硬件解码的恒定颜色格式,或者每个不同的 android 设备都有自己的颜色格式?
我想获取硬件解码产生的原始数据并自己渲染。
谢谢。
android - 如何在没有 MediaExtractor 的情况下为 H264 使用 MediaCodec
我需要在没有 MediaExtractor 的情况下使用 MediaCodec,并且我正在使用 FileInputStream 读取文件。目前它不工作,它在屏幕上显示一个绿色的乱码图像。
这是整个源代码:
如果我使用 MediaExtractor,一切正常。我在使用 MediaExtractor 时通过查看 MediaFormat 获得了 SPS/PPS 值。如果我删除下面的部分,屏幕上不会显示任何内容。
我错过了什么?如何在没有 MediaExtractor 的情况下以编程方式获取 SPS/PPS 值?
android - 在 android 中为 MPEG 2 TS 创建解复用器
我有一个要求,我需要从 MPEG2 TS(HLS STREAM) 中提取 ID3 标签。MPEG2 在播放文件方面对 android 的支持有限。但我关心的是提取 ID3 标签(不需要播放文件)。因此我不关心编解码器(编码和解码)。
我探索了以下选项:
libstagefright 和 OpenMax:由 Google 从 Android 2.0 实现的播放引擎。它有一个MediaExtractor负责从底层文件系统或 http 流中检索轨道数据和相应的元数据。但是根据这篇向Android添加视频编解码器的帖子,我需要构建自己的固件或自己的媒体播放器。我希望我不必走那条路。更多关于 stagefright 和 openMax 的信息可以在这里找到:
编译和使用 FFMPEG:一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。我们可以使用这里提到的这个库解复用 ts 文件:
FFmpeg - 从传输流文件 (.ts) 中提取视频和音频。
但我不确定是否能够从 HLS 流中提取 ID3 标签。libavformat可能能够做到这一点,但我仍然需要想出一种机制来将读取的元数据发送给我的应用程序。
为 android 编译 vlc:我已经 为 android 编译了 vlc,并在 demux 组件的传输模块中进行了一些修改以提取标签,但它无法播放我提供给它的所有流。
在浏览了这些选项之后,我仍然在解决如何实现这一点。我不想创建媒体播放器,因为我不会播放文件,也不想构建自己的固件。使用 ffmpeg 似乎是最可行的选择,但我想在不使用任何第三方或开源库的情况下尝试这个。我的问题是:
是否有可能从头开始创建一个可以在 android 上运行的解复用器?
如果可能的话,该怎么做呢?
我错过了什么选项?
我是新来的。任何帮助将不胜感激..谢谢
android - 在 HW 模式下创建 OMXCodec 编码器
我正在尝试在 Android ICS 4.0.4 上实现硬件加速的 H264 视频编码。由于 MediaCodec 类不可用,我必须使用 stagefright API。但是当我设置HardwareCodecsOnly标志时,OMXCodec::Create 总是返回 NULL。如果我用标志 kHardwareCodecsOnly 调用 OMXCodec::findMatchingCodecs(),我得到以下列表:
- OMX.TI.DUCATI1.VIDEO.H264E
- OMX.qcom.7x30.video.encoder.avc
- OMX.qcom.video.encoder.avc
- OMX.TI.Video.encoder
- OMX.Nvidia.h264.encoder
- OMX.SEC.AVC.Encoder
所以我想这意味着硬件支持硬件编码。
当我在OMXCodec::Create中没有设置任何标志时- 编解码器创建得很好,但我猜它处于软件模式(顺便说一句,我如何检查 - 究竟创建了哪个编解码器?)
浏览 OMXCodec 源代码我发现了有趣的行:
看起来对于编码器,它总是首先尝试实例化软件编解码器。我究竟做错了什么?任何帮助将不胜感激。谢谢
这是创建 OMXCodec 的代码:
android - android MediaSource 在 jni 代码中未被识别为类
我正在尝试使用 android
ndk
开发简单decoder
/player
应用程序。我使用创建了一个项目android
sdk
,然后在我的项目目录中创建了一个名为 jni 的文件夹。在 jni 目录中,我创建了一个omx.cpp
文件,我想在其中编写我自己的类,该类继承自 Android MediaSource
。stagefright
我还在stagefright
我的项目中包含了头文件。我正在libstagefright.so
通过dlopen
在我的omx.cpp
文件中使用来加载。
我使用的代码如下:
我有以下疑问:
1.在jni
函数中,如果我们创建一些类对象并使用它们来调用sayMediaSource
类的函数是否可以,或者我们必须创建单独的.cpp和.h文件。如果我们使用单独的文件,我们如何从jni函数调用/引用它.
2.这是制作我们自己的从MediaSource
类继承的包装类的正确方法还是有其他方法。
基本上我想制作一个应用程序,它需要.mp4
/.avi
文件,它分离音频/视频,解码和demux
渲染/播放它只使用android 。stagefright
OpenMAX
如果ffmpeg
建议使用源代码,demux
那么如何将其与android
st
agefright
框架集成。
问候
android - 如何在 Ubuntu 中为 Android 构建 stagefright-plugins
我尝试在 Ubuntu ( https://github.com/omxcodec/stagefright-plugins )中为 Android 编译 stagefright-plugins但我的步骤有问题:
我在“android/frameworks/native”和“android/frameworks/av”目录中找不到“USES_NAM”标志。我也看不到“android/frameworks/native”和“android/frameworks/av”目录。你能帮我解决这个问题吗?提前致谢
android - 使用 openmax 和 android stagefright 解复用 .mp4 文件
我如何 demux .mp4 文件并分离音频/视频,然后使用 openmax 和 android stagefright 单独渲染。
1.如果我必须在 jni 文件中实现所有功能。
2.如果我使用ffmpeg进行解复用,它如何与android stagefright集成(如果我必须将ffmpeg demuxer构建为组件并使用openmax il将其与android链接或在android jni中编写整个代码(在这种情况下我有将ffmpeg与android stagefright链接))。
3.由于android ndk不支持stagefright,如何整合两者。
问候马扬克