记录一个java解析视频遇到的连锁坑

本文记录了一次在Java中解析远程视频时长的需求实现过程,遇到了包括视频格式识别、jar包管理以及IDEA编译问题等挑战。通过引入第三方库com.googlecode.mp4parser,解决远程视频格式不识别问题,并探讨了如何处理项目中系统路径依赖的jar包,以及解决IDEA编译错误的方法。
摘要由CSDN通过智能技术生成

需求是这样的,视频上传到远程服务器后,需要读取视频时长存到数据库中,以便前端展示。

1、需求看起来挺简单的,我在网上找了一下,找到了com.googlecode.mp4parser 工具包,导入之后一切都比较顺利,其工具方法时用的本地File类,因为视频是存在远程服务器上,需要先通过url方式下载到本地,然后生产File对象在来解析,

测试地址:

https://domhttp.kksmg.com/2022/09/22/h264_720p_600k_41426-pudongtv-20220922191600-4800-356788-600k_mp4.mp4

用网上的视频连接测试,很快就就将时长读取出来了,可惜,如果这么顺利就不会有这篇文章了。

2、经过测试,发现远程视频连接上有的没有视频格式,不能识别格式,非mp4的文件解析时程序代码无法识别,于是想到通过转换视频格式的方法,后来看了网上的一些代码发现太麻烦了,都弃用了。又找了一些解析视频的案例,发现jave简单使用,遂采用。

代码比较清爽:


import it.sauronsoftware.jave.Encoder;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class AudioUtil {
    public static File urlToFile(URL url) {
        Input
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值