欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

修改MP4 Parser 生成Jar包

程序员文章站 2022-07-13 12:08:09
...

转载请注明出处:
http://www.jianshu.com/p/78f005e80d3b

你还在为开发中频繁切换环境打包而烦恼吗?快来试试 Environment Switcher 吧!使用它可以在app运行时一键切换环境,而且还支持其他贴心小功能,有了它妈妈再也不用担心频繁环境切换了。https://github.com/CodeXiaoMai/EnvironmentSwitcher

这篇文章不是对 MP4 Parser 怎样使用的介绍,而是记录下修改它的源码并生成 jar 包的过程。

MP4 Parser 是什么

A Java API to read, write and create MP4 container. Manipulating containers is different from encoding and decoding videos and audio.

这是 GitHub 上对它的介绍。

为什么要改 MP4 Parser 的源码

当然是为了加密~~~MP4 Parser可以对标准的视频和音频进行编码和解码,那么如果我们把 MP4 Parser 对音视频的编码过程修改为一个只有自己知道的过程,别人就没办法用正常的解码器来播放了。这样就达到了加密的目的。

下载 MP4 Parser源码

先将源码从 git 库中 clone 到本地(直接下载.zip再解压也可以)

git clone https://github.com/sannies/mp4parser.git

IDE选择

因为 MP4 Parser 是依赖 Maven 库的,所以我用的是 Eclipse Neon,下载地址:

http://211.136.65.138/cache/eclipse.stu.edu.tw/oomph/epp/neon/R3/eclipse-inst-win64.exe?ich_args2=126-12135812039982_db26c3caa4e68f64e5ea4d487c12b4b2_10001002_9c886d28d2c5f9d79f3a518939a83798_64ae6539c9e8fe39110c0c0f9173eeaa

安装好后,自带 Maven 插件。

安装并配置 Maven

下载 Maven 并解压到本地(我的是在D:\maven),下载地址:

http://apache.fayea.com/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.zip

配置环境变量

打开解压到本地的 maven 目录,复制当前路径,在系统变量中添加变量名:“MAVEN_HOME”,变量值:“D:\maven”(注意你的变量值)。在Path中添加:“%MAVEN_HOME%\bin;”。

打开 CMD,输入 mvn -version,不提示“‘mvn’ 不是内部或外部命令,也不是可运行的程序或批处理文件。”就说明配置成功。

导入工程

打开 Eclipse,按如下操作:File->New->Project->General->Project,输入Project name,点击 finish 结束。

打开 clone 或解压到本地的 mp4parser 文件夹,将所有文件复制到刚才新建的工程目录下,目录结构如下图:

修改MP4 Parser 生成Jar包

Build 工程

我们需要的修改的源码主要在 isoparser 和 muxer 这两个目录下。

右击 isoparser 目录下的 pom.xml,Debug As->Maven Install,开始构建。构建过程中如果遇到下面的问题:

修改MP4 Parser 生成Jar包

就打开 pom.xml 文件,在<build><plugins>标签中添加如下代码:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12</version>
            <dependencies>
                <dependency>
                    <groupId>org.apache.maven.surefire</groupId>
                    <artifactId>surefire-junit47</artifactId>
                    <version>2.12</version>
                </dependency>
            </dependencies>
</plugin>

保存文件后,再次右击 isoparser 目录下的 pom.xml,Debug As->Maven Install,开始构建。

如果看到 BUILD SUCCESS 则说明构建成功,如果在 isoparser 目录下看不到 target 目录就刷新一下,打开 target 目录isoparser-1.9.27.jar 就是我们要的 jar 包。

muxer 目录和 streaming 目录生成 jar 包的过程和 isoparser 是一样的。

这样,我们生成的 jar 包和官方提供的 jar 包就是一样的了。拉下来修源改代码,并打包。

修改源代码再次打包

~~~~改啊改,改完了!

重复上面的打包步骤,如果失败,那么很可能是你改对了地方,但是mp4parser 的测试没有通过,因为这个测试是针对标准的视频文件的,这里我们修改后已经不符合标准了,那么测试当然无法通过。

怎么办呢?很简单,把src目录下的 test 文件夹删除再打包就Ok了。