向Android添加视频编解码器

18

请问有人能解释一下我需要采取哪些步骤才能将一个新编解码器添加到Android系统中吗?

此外,我希望该编解码器可以作为应用程序安装(或首次启动)的一部分进行安装,而不是作为完整的Android操作系统构建的一部分。

我这样做的原因是,我有一个应用程序需要显示一个不受支持的编解码器(HLS或TS)的视频,但我不想构建一个完整的视频播放器-只需与现有的内置播放器集成即可。

谢谢, 阿里克。

2个回答

12
请解释我需要采取的步骤,以便将新编解码器添加到Android中。 构建自己的固件或构建自己的媒体播放器(如Android用的VLC)。
此外,我希望将编解码器安装为应用程序安装(或首次启动)的一部分,而不是完整的Android OS构建的一部分。 除非您构建自己的媒体播放器,否则这是不可能的。
我想这样做的原因是,我有一个需要显示不支持的编解码器(HLS或TS)视频的应用程序,但我不想构建完整的视频播放器 - 只是与现有的内置播放器集成。 VLC for Android很快就会推出(至少对于某些手机),因此它可以播放您的格式。

为什么这不可能呢?我读了一些关于OMX的东西,想着我只需要实现正确的编解码器类,并将它们放在正确的位置,连接到stagefright,然后我就可以使用默认播放器实现新的编解码器了。问题是我没有看到每个步骤的文档说明。 - AlikElzin-kilaka
3
除了一个小问题之外,即除非您正在构建自己的固件,否则您无法“将它们放在正确的位置”,因为您没有写入访问权限到那里。 - CommonsWare

1
我认为可以通过参考Android开发者页面添加自定义编解码器到Android来添加自定义编解码器(虽然我没有尝试过)。
您可以通过OpenMAX IL层尝试添加编解码器,然后调用Android媒体播放器进行播放(我相信VLC就是这样做的,但使用了自己的播放器)。Awesome Player和Android默认播放器只需通过OpenMAX API获取可用的编解码器列表,如果有编解码器,则播放。因此,在应用程序初始化期间尝试添加编解码器,并调用媒体播放器是值得一试的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接