jar包突然过大解决方法,解决ffmpeg剪辑视频导致jar过大

jar包突然过大解决方法

缘由:

​ 项目中要需要用到视频文件,为了方便用户使用,那么页面中就需要增加视频剪辑的相关功能,让用户上传视频后能够自定义的进行剪辑,对自己的视频做出相应的更改

结果:

​ 打jar包时发现jar包增加了将近800M! 这是什么鬼,一下子增加800M,简直乱来!

排查问题思路

  1. 确定打包是否真实(测试发现,自己操作打包尝试),真实~

  2. 回忆是否最近版本更改pom文件, 做视频时引入

    <dependency>
        <groupId>org.bytedeco</groupId>
        <artifactId>javacv-platform</artifactId>
        <version>1.5.5</version>
    </dependency>
    
  3. 解压jar包,倒序排列项目中引用的jar

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GeacH6om-1666662537653)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221024154110218.png)]

  4. 使用pom插件Maven Helper在项目中搜索比较大的jar

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Voo6NLts-1666662537661)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20221024154418719.png)]

  5. 仔细发现该插件中引用了各个平台中的jar包, 但实际开发中并用不到这么多的jar包,所以无需引用那么多

去除无用jar

具体为什么这个改?在运行项目发现,视频剪辑报错,也就是上面提到的,多平台匹配的剪辑工具没有引入相关包,网络搜索其他方法发现,引入相关平台的包即可

更改方法:

只引入Windows 和 Linux平台视频剪辑功能,因为项目使用的也就这两个平台

如果嫌弃大的话,可以根据不同平台使用不同的pom文件, 做出单平台适应

<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>javacv</artifactId>
    <version>${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>openblas-platform</artifactId>
    <version>0.3.13-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>opencv-platform</artifactId>
    <version>4.5.1-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>ffmpeg-platform</artifactId>
    <version>4.3.2-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>flycapture-platform</artifactId>
    <version>2.13.3.31-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>libdc1394-platform</artifactId>
    <version>2.2.6-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>libfreenect-platform</artifactId>
    <version>0.5.7-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>libfreenect2-platform</artifactId>
    <version>0.2.0-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>librealsense-platform</artifactId>
    <version>1.12.4-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>librealsense2-platform</artifactId>
    <version>2.40.0-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>videoinput-platform</artifactId>
    <version>0.200-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>artoolkitplus-platform</artifactId>
    <version>2.3.1-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>flandmark-platform</artifactId>
    <version>1.07-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>leptonica-platform</artifactId>
    <version>1.80.0-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>
<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>tesseract-platform</artifactId>
    <version>4.1.1-${javacpp.version}</version>
    <classifier>windows-x86_64</classifier>
</dependency>

猜你喜欢

转载自blog.csdn.net/L_fly_J/article/details/127507513
今日推荐