2009-02-28 57 views
5

在我的程序中,它获取了MP4视频,并且我希望它输出MP3(没有任何服务器端的东西)。由于Android(以及我的应用)需要在许多不同的硬件配置上运行这意味着我可能不能使用FFMPEG。我知道这可能是电池和处理能力非常强大,特别是对于手机,但我需要这种选择给我的用户。我无法找到任何不使用FFMPEG的Java本地库。从视频中安装脱机音频

回答

2

我看到FFMPEG小问题,因为apparently it runs on 11架构Debian支持。只有不支持的体系结构显然是m68k,其他的是在FreeBSD内核或Hurd内核中的旧版本。从我所了解的Android来看,基于ARM的事实不会很快改变。

当然,本地代码的Java包装可能存在一些问题。这是问题吗?我不是Android和Java程序员,但我确信您可以检测到平台并动态加载适当的本机包装。

1

我还没有使用它,但我下载了并正在查看IBM Toolkit for MPEG-4的API。尽管如此,它对数据访问功能看起来有点轻松。不过,这个实现是纯java的。看起来他们已经混淆了他们的编解码器罐子。

4

MPEG_4 Part 14(.mp4文件扩展名)是一个容器格式。换句话说,这指定了如何将多个媒体流打包在一起。处理容器格式在计算上比在视频压缩或解压缩时要昂贵得多。如果通过.mp4文件读取并在手机ARM处理器上提取音频流的计算量过大,我会感到惊讶。

我还没有看到任何立即适合的Java库。建立自己的图书馆可能不会太难。解析容器格式比解压缩视频简单得多。并且您在ffmpeg中具有libavformat实现作为参考。该MPEG4第14部分标准可以在这里找到:

http://webstore.iec.ch/preview/info_isoiec14496-14%7Bed1.0%7Den.pdf

这里:

http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html