java 绑定 ffmpeg 开源项目:jjmpeg

jopen 11年前

        简介
        jjmpeg 是一个 java 绑定到 ffmpeg 的非常便利的解码和编码库。jjmpeg 具有很高的执行效率,可以运行在不同的平台,而且控制起来也很简单。除了具有 FFmpeg 接口的面向对象的特征之外,jjmpeg 还具有一些较高层次的对象,这些对象使 jjmpeg 对于编码的视频和音频文件的读写几乎和 ImageIO 对静态影像的读写一样简便。
        jdvb 是次级项目,它提供 Java 访问 linux dvb 驱动(digital tv)的功能。它在进程和片方面做了很多工作,尽管它自己能够和接收者通信而且能够提取原始流(这样反过来可以使用 jjmpeg 处理)。
        构建
        用于构建版本和基于 makefile 文件的自定义生成系统本机代码。大多数配置项保存在 native/config.make,但也有一些放在 native//Makefile,取决于 target。
        也有一些 netbeans/ant 脚本并用于开发(jjmpeg),但 ant (在 jjmpeg 中)并没有用来构建发布。
        关于绑定的扩展阅读请参考 native/README。目前需要将生成的 Java 文件 AVAbstract.java 手工拷贝到 src 目录,覆盖已经存在该目录下的同名文件。
        使用
        必须将 native/<platform>/[lib]jjmpeg.[so|dll] 库放在 LD_LIBRARY_PATH 或者 java.library.path 来使用 jjmpeg。
        同样处理 native/<platform>/libjjdvb.so 库,以使 Java 使用 jjdvb 里的类。
        这些类大部分是未公开的,但都严格遵循相关 API。
        这些类在运行时要使用 libavformat、libavcodec 和libswscale,所以这些系统应该具有这些库 - 这些库常常放在一个叫做 ffmpeg-libs 包里。
        测试使用,可以运行:
        java  -Djava.library.path=path-to-lib-dir -classpath jjmpeg-0.7.0.jar au.notzed.jjmpeg.util.JJFileChooser
        path-to-lib-dir 就是你的系统的 .so/.dll 文件目录。
        这条命令会创建一个预览视频的文件请求。
        发布
        jjmpeg 库遵守 LGPL3 规范,相关具体要求在 license 里有列出。
        遵守这些的最方便的方法就是在你自己发布时提供相应版本的完整的源代码归档。注意 jjmpeg.jar 文件(不包含本地库)必须是可以置换的。
        链接
       
jjmpeg 托管在 google code 的 url:
        http://code.google.com/p/jjmpeg
        一个关于开发活动以及想法的日志:
        http://a-hackers-craic.blogspot.com/search/label/jjmpeg
       
为 windows 构建的交叉编译器:
        http://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-snapshot/
        * windows 构建 FFMPEG:
        http://ffmpeg.zeranoe.com/builds/
        你需要 dev 包来编译/重新编译本地库,除非你仅仅需要共享版。
        许可
        jjmpeg 是一个开源软件:你可以在遵循由自由软件基金会发布的 GNU 通用许可证下的相关条款前提下重新发布或者修改它。
        jjmpeg 发布的目的是希望它可以是(对大家)有用的,但它没有任何担保,甚至没有隐含的担保特定用途的适用性。更多细节请参考 GNU 通用许可证。
        关于使用条款请参阅 COPYING.LESSER 和 COPYING 文件。
原文链接:https://code.google.com/p/jjmpeg/source/browse/trunk/jjmpeg/README