JavaCV 实现视频链接截取封面工具

引入必要依赖

xml 复制代码
 <!--JavaCV-->
<dependency>
   <groupId>org.bytedeco</groupId>
   <artifactId>javacv-platform</artifactId>
   <version>1.5.7</version>
</dependency>
<dependency>
   <groupId>cn.hutool</groupId>
   <artifactId>hutool-all</artifactId>
   <version>5.8.26</version>
</dependency>

工具类

java 复制代码
public class UploadResult implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 文件访问路径
	 */
	private String url;
	/**
	 * md5码
	 */
	private String md5;
	/**
	 * 文件存储路径
	 */
	private String path;
	/**
	 * 域名:http://192.168.0.198:8080
	 */
	private String domain;
	/**
	 * 场景
	 */
	private String scene;
	private String scenes;
	/**
	 * 文件大小
	 */
	private BigInteger size;
	private BigInteger mtime;
	/**
	 * 返回结果消息
	 */
	private String retmsg;
	/**
	 * 返回结果状态编码
	 */
	private int retcode;
	/**
	 * 文件存储路径
	 */
	private String src;

	/**
	 * 文件名
	 */
	private String filename;

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getMd5() {
		return md5;
	}

	public void setMd5(String md5) {
		this.md5 = md5;
	}

	public String getPath() {
		return path;
	}

	public void setPath(String path) {
		this.path = path;
	}

	public String getDomain() {
		return domain;
	}

	public void setDomain(String domain) {
		this.domain = domain;
	}

	public String getScene() {
		return scene;
	}

	public void setScene(String scene) {
		this.scene = scene;
	}

	public BigInteger getSize() {
		return size;
	}

	public void setSize(BigInteger size) {
		this.size = size;
	}

	public BigInteger getMtime() {
		return mtime;
	}

	public void setMtime(BigInteger mtime) {
		this.mtime = mtime;
	}

	public String getScenes() {
		return scenes;
	}

	public void setScenes(String scenes) {
		this.scenes = scenes;
	}

	public String getRetmsg() {
		return retmsg;
	}

	public void setRetmsg(String retmsg) {
		this.retmsg = retmsg;
	}

	public int getRetcode() {
		return retcode;
	}

	public void setRetcode(int retcode) {
		this.retcode = retcode;
	}

	public String getSrc() {
		return src;
	}

	public void setSrc(String src) {
		this.src = src;
	}

	public String getFilename() {
		return filename;
	}

	public void setFilename(String filename) {
		this.filename = filename;
	}

	/**
	 * 是否上传成功
	 *
	 * @return
	 */
	public boolean isSuccess() {
		return retcode == 0;
	}

	@Override
	public String toString() {
		final StringBuffer sb = new StringBuffer("UploadResult{");
		sb.append("url='").append(url).append('\'');
		sb.append(", md5='").append(md5).append('\'');
		sb.append(", path='").append(path).append('\'');
		sb.append(", domain='").append(domain).append('\'');
		sb.append(", scene='").append(scene).append('\'');
		sb.append(", scenes='").append(scenes).append('\'');
		sb.append(", size=").append(size);
		sb.append(", mtime=").append(mtime);
		sb.append(", retmsg='").append(retmsg).append('\'');
		sb.append(", retcode=").append(retcode);
		sb.append(", src='").append(src).append('\'');
		sb.append('}');
		return sb.toString();
	}
}
相关推荐
人活一口气17 小时前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
像我这样帅的人丶你还19 小时前
Java 后端详解(三):全局异常处理与 JPA 数据库映射
java·后端
NE_STOP19 小时前
vibe Coding -- 小项目实战
java
未秃头的程序猿1 天前
Java 26正式发布!这3个新特性,让代码量直接减半
java·后端·面试
用户298698530141 天前
Word 文档文本查找与替换的 Java 实现方案
java·后端
阿哉1 天前
Nacos 服务发现源码:藏在背后的两套事件机制,90%的人只讲了一半
java
咖啡八杯1 天前
GoF设计模式——命令模式
java·设计模式·架构
AI人工智能_电脑小能手1 天前
【大白话说Java面试题 第125题】【并发篇】第25题:说说 Java 线程的中断机制
java·后端·面试
Java内核笔记1 天前
Spring Security 源码解析(六)无状态 JWT 实践:Session 共享与自定义过滤器
java·后端
荣码1 天前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python