向 Android 添加新的编解码器?
我对 Android 很陌生。现在我需要将我自己的编解码器添加到 Android。我的意思是,我想知道将我自己的编解码器添加到 Android 需要采取哪些步骤。
我对此很陌生,我需要一些基本的东西,所以有人可以解释一下我需要采取的步骤,以便向 Android 添加新的编解码器吗?
I'm very new to Android. Now i need to work on Adding my own codec to Android.I mean, I want to know what all the steps i need to take to add my own codec to android.
I'm very fresh to this i need some basic things, so can someone please explain the steps I need to take in order to add a new codec to Android?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这实际上不可能以可移植的方式完成,因为所有音频和视频编解码器都是在平台级别编译的(因为大多数时候它们需要特定于硬件的加速)
如果您只对此在特定硬件上工作感兴趣平台并拥有未锁定的引导加载程序(因此您可以引导自定义构建的 Android),您可以使用 AOSP 作为基础从头开始编译完整的 Android 平台。
根据您的目标 Android 版本,您要向 Opencore 或 Stagefright(Android 用于 A/V 解码和解析的子系统)添加代码,您可以在此处添加音频解码器、音频编码器、视频编码器、视频解码器和容器解析器。
以下是有关添加到 Stagefright 的一些讨论:
http://freepine。 blogspot.com/2010/01/overview-of-stagefrighter-player.html
http://groups.google.com/group/android-porting/msg/5d88e76845a22bbb
但是,除非您希望支持的编码方案非常简单(您想添加什么?),否则它很可能对于大多数 Android 设备来说,CPU 过于密集,无法将部分工作转移到另一个系统(例如无线电芯片组或 GPU)来运行。
This is virtually impossible to do in a portable way as all audio and video codecs are compiled at the platform level (due to the fact that most of the time they require hardware specific acceleration)
If you are only interested on this working on a specific hardware platform and have an unlocked bootloader (So you can boot a custom build of Android) you can compile the full Android platform from scratch using the AOSP as a base.
Depending on which version of Android you're targeting you're looking at adding code to either Opencore or Stagefright (The subsystems that Android uses for A/V decoding and parsing) here you can add audio decoders, audio encoders, video encoders, video decoders and container parsers.
Here is some discussion of adding to Stagefright:
http://freepine.blogspot.com/2010/01/overview-of-stagefrighter-player.html
http://groups.google.com/group/android-porting/msg/5d88e76845a22bbb
However unless the encoding scheme you wish to support is very simple (What are you wanting to add?) it is likely to be too CPU intensive for most Android devices to run without being able to offload some of the work to another system (like the radio chipset or the GPU).
在 Android Framework 中,mediacodec 被实现为 Stagefright,这是一个本机级别的媒体播放引擎,内置了适用于流行媒体格式的基于软件的编解码器。 Stagefright 还支持与作为 OpenMAX 组件提供的自定义硬件编解码器集成。这是总结步骤的文章。
检查此处
In Android Framework, mediacodec is implemented as Stagefright, a media playback engine at the native level that has built-in software-based codecs for popular media formats. Stagefright also supports integration with custom hardware codecs provided as OpenMAX component. Here is the article which summaries the steps.
CHECK HERE