首页 > 其他分享 >ffmpeg截取视频封面图

ffmpeg截取视频封面图

时间:2023-12-18 11:00:31浏览次数:32  
标签:file 封面 ffmpeg process 截取 File new String

package com.goldman.launcher;


import java.io.*;

public class VideoThumbnail {
public static void main(String[] args) {
File folder = new File("D://");
File[] files = folder.listFiles(); // 获取目录下所有文件和文件夹
for (File file : files) {
if (file.isFile() && file.getName().endsWith(".mp4")) {
String videoPath = file.getAbsoluteFile().getPath();
String thumbnailPath = videoPath.replace(".mp4", ".jpg");
File jpgfile = new File(thumbnailPath);
if (jpgfile.exists()) {
jpgfile.delete();
}
try {
ProcessBuilder processBuilder = new ProcessBuilder("ffmpeg", "-i", videoPath, "-ss", String.valueOf(2), "-vframes", "1", thumbnailPath);
processBuilder.redirectErrorStream(true);
Process process = processBuilder.start();

// 读取子进程的输出流
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}

int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println("视频图片截取成功!");
} else {
System.out.println("视频图片截取失败!");
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
}

}

标签:file,封面,ffmpeg,process,截取,File,new,String
From: https://www.cnblogs.com/cxxjohnson/p/17910569.html

相关文章

  • ffmpeg-6.1编译
    ffmpeg编译**ffmpeg详细说明可以参考:**https://blog.csdn.net/leixiaohua1020/article/details/44220151https://www.cnblogs.com/leisure_chn/category/1351812.htmlhttps://zhuanlan.zhihu.com/p/639748679一.编译ubuntux86_64编译下载最新源码https://ffmpeg.org/......
  • ffmpeg转码视频文件
    转码转码视频文件例子extern"C"{#include<libavcodec/avcodec.h>#include<libavfilter/buffersink.h>#include<libavfilter/buffersrc.h>#include<libavformat/avformat.h>#include<libavutil/channel_layout.h>#include<......
  • ffmpeg 添加自定义编解码插件
    有两种方法:一.ffmpeg添加自定义编解码插件(以修改ffmpeg源码的方式添加)例:添加一个解码器,给这个解码器取个名字叫mydecoder,可以通过下面的步骤添加:1.在libavcodec目录下,新建文件mydecoder.c#include"avcodec.h"#include"codec_internal.h"//自己封装的编解码器的头文件#......
  • 【ffmpeg】FFmpeg命令行
    【参考链接】FFmpeg命令行教程:66个实用案例解析常见FFmpeg命令行全面分析FFmpeg最常用命令参数详解及应用实例......
  • Qt/C++视频监控安卓版/多通道显示视频画面/录像存储/视频播放安卓版/ffmpeg安卓
    一、前言随着监控行业的发展,越来越多的用户场景是需要在手机上查看监控,而之前主要的监控系统都是在PC端,毕竟PC端屏幕大,能够看到的画面多,解码性能也强劲。早期的手机估计性能弱鸡,而现在的手机性能不是一般的牛,甚至超越了PC机的性能,所以手机上查看多路监控也就有了硬件基础前提。对......
  • Arcgis中通过函数实现字符串截取
    效果从字符串中提取最右侧的符号,如“/”后面的字符串步骤1、VBdimbbindex=instrrev([WGCJ],"/")bb=right([WGCJ],len([WGCJ])-index)2、pythondefbb(aa):index=(aa.rfind("/"))bb=aa[index+1:]returnbb......
  • 怎么在Android项目中导入ffmpeg库?
    1.前言在这里我以导入静态库(.a)为例进行分析,动态库(.so)是类似的。在导入前,各位要先编译好ffmpeg库,需要注意的是在编译的时候要开启交叉编译,目标平台为Android,其他平台的库(windows,linux)在Android平台使用不了,我这里编译的是armeabi-v7a架构的库。2.步骤(1)新建一......
  • MySQL中的date_trunc()函数可以根据不同的时间单位对日期/时间进行截断或截取,返回截断
    转自:https://xkzzz.com/post/235698.htmlMySQL中的date_trunc()函数可以根据不同的时间单位对日期/时间进行截断或截取,返回截断后的日期/时间值。SELECTDATE_TRUNC('day','2019-06-0808:30:45');--截断到天,返回2019-06-0800:00:00SELECTDATE_TRUNC('hour','2019-06-0......
  • Django - 在后台上传文章封面图 - 并在前端页面展示
    需要用到 models.ImageField(),它继承自 models.FileField(), 用ImageField的时候需要安装pillowpipinstallpillow-ihttps://pypi.douban.com/simple/ 首先,进行媒体文件配置:settings中配置:#真正存储图片的文件夹MEDIA_ROOT=os.path.join(BASE_DIR,"media")#......
  • ffmpeg
     ffmpeg-itest.m4a-y-acodeclibmp3lame-aq0"test.mp3"这是一个使用ffmpeg命令行工具将test.m4a文件转换为test.mp3文件的命令。具体解释如下:-itest.m4a:指定输入文件为test.m4a。-y:覆盖输出文件,如果已存在同名文件,则自动覆盖。-acodeclibmp3lame:设置音频编码......