Java实现对视频进行截图的方法【附ffmpeg下载】

本文实例讲述了Java实现对视频进行截图的方法。分享给大家供大家参考,具体如下:

之前介绍过Java使用ffmpeg进行视频转换,这里演示一下ffmpeg进行视频截图的方法。

具体代码如下:

import java.io.File;
import java.util.List;
//生成视频文件的首帧为图片
//windows下的版本
public class CreatePh {
  // public static final String FFMPEG_PATH = "E:/ffmpeg/ffmpeg.exe";
  public static boolean processImg(String veido_path, String ffmpeg_path) {
    File file = new File(veido_path);
    if (!file.exists()) {
      System.err.println("路径[" + veido_path + "]对应的视频文件不存在!");
      return false;
    }
    List<String> commands = new java.util.ArrayList<String>();
    commands.add(ffmpeg_path);
    commands.add("-i");
    commands.add(veido_path);
    commands.add("-y");
    commands.add("-f");
    commands.add("image2");
    commands.add("-ss");
    commands.add("8");// 这个参数是设置截取视频多少秒时的画面
    // commands.add("-t");
    // commands.add("0.001");
    commands.add("-s");
    commands.add("700x525");
    commands.add(veido_path.substring(0, veido_path.lastIndexOf("."))
        .replaceFirst("vedio", "file") + ".jpg");
    try {
      ProcessBuilder builder = new ProcessBuilder();
      builder.command(commands);
      builder.start();
      System.out.println("截取成功");
      return true;
    } catch (Exception e) {
      e.printStackTrace();
      return false;
    }
  }
  public static void main(String[] args) {
    processImg("C:/video1.avi", "C:/ffmpeg.exe");
  }
}

运行后的截图如下:

附:

ffmpeg.exe点击此处本站下载

测试用avi格式视频点击此处本站下载

更多java相关内容感兴趣的读者可查看本站专题:《Java图片操作技巧汇总》、《java日期与时间操作技巧汇总》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》及《Java数据结构与算法教程》。

希望本文所述对大家java程序设计有所帮助。

您可能感兴趣的文章:

  • java web将数据导出为pdf格式文件代码片段
  • java中输出pdf文件代码分享
  • java使用pdfbox操作pdf文件示例
  • Java生成PDF文件的实例代码
  • spring(java,js,html) 截图上传图片实例详解
  • java编程实现屏幕截图(截屏)代码总结
  • Java模拟QQ桌面截图功能实现方法
  • Java实现屏幕截图及剪裁
  • java实现区域内屏幕截图示例
  • java代码实现截图功能(屏幕截图)
  • 使用Java实现系统托盘功能的介绍(附源码以及截图)
  • java实现pdf文件截图的方法【附PDFRenderer.jar下载】
时间: 2018-01-10

Java实现屏幕截图及剪裁

Java标准API中有个Robot类,该类可以实现屏幕截图,模拟鼠标键盘操作这些功能.这里只展示其屏幕截图. 截图的关键方法createScreenCapture(Rectangle rect) ,该方法需要一个Rectangle对象,Rectangle就是定义屏幕的一块矩形区域,构造Rectangle也相当容易: new Rectangle(int x, int y, int width, int height),四个参数分别是矩形左上角x坐标,矩形左上角y坐标,矩形宽度,矩形高度.截图方法返

java代码实现截图功能(屏幕截图)

复制代码 代码如下: import java.awt.Dimension;import java.awt.Rectangle;import java.awt.Robot;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.File; import javax.imageio.ImageIO; /*****************************************************

java中输出pdf文件代码分享

package snake; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowag

spring(java,js,html) 截图上传图片实例详解

html <#-- 上传头像 测试页 使用imgareaselect 插件 --> 最后 上传了这个插件 共学习参考 <link rel="stylesheet" type="text/css" href="${frontRes}/imgareaselect/css/imgareaselect-animated.css" /> <link rel="stylesheet" type="t

Java生成PDF文件的实例代码

复制代码 代码如下: package com.qhdstar.java.pdf; import java.awt.Color;import java.io.FileOutputStream; import com.lowagie.text.Chapter;import com.lowagie.text.Document;import com.lowagie.text.Font;import com.lowagie.text.FontFactory;import com.lowagie.text.

java实现pdf文件截图的方法【附PDFRenderer.jar下载】

本文实例讲述了java实现pdf文件截图的方法.分享给大家供大家参考,具体如下: 最近做的一个网站中,有个需求是上传pdf文件,显示pdf的封页,点击封页之后进行在线阅读,这里使用的是PDFRender对pdf进行截图. public static boolean createScreenShoot(String source, String target) { File file = new File(source); if (!file.exists()) { System.err.prin

java编程实现屏幕截图(截屏)代码总结

本文实例总结了常见的java编程实现屏幕截图方法.分享给大家供大家参考,具体如下: 方法一: import java.awt.Desktop; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.File; import javax.image

使用Java实现系统托盘功能的介绍(附源码以及截图)

Java中如何,实现系统托盘功能. 示例图 项目包结构图   系统运行截图 应用核心逻辑说明,隐藏到托盘实质就是讲窗体隐藏.即setVisible(false),显示窗体即就是讲setVisible(true). 项目代码如下: 复制代码 代码如下: package org.pdp.frame; import java.awt.AWTException; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.Sy

java实现区域内屏幕截图示例

这是一个java版的截图程序 复制代码 代码如下: package com.hongyuan.test; import java.awt.AWTException;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.EventQueue;import java.awt.FlowLayout;import java.awt.Graphics;import java.

java使用pdfbox操作pdf文件示例

还有一个用于创建PDF文件的项目----iText. PDFBox下面有两个子项目:FontBox是一个处理PDF字体的java类库:JempBox是一个处理XMP元数据的java类库. 一个简单示例: 要引入pdfbox-app-1.6.0.jar这个包. 复制代码 代码如下: package pdf; import java.io.File;import java.net.MalformedURLException; import org.apache.pdfbox.pdmodel.PDDo

java web将数据导出为pdf格式文件代码片段

此片段达到的效果是:访问此请求,浏览器将打开新的界面并显示pdf文件预览,在文件预览界面可以下载该pdf文件. 1.jsp界面代码 <input type="button" class="btn btn-info" onclick="getVerPdf();" target="_blank" value="导出为pdf文件" /> 2.js代码 function getVerPdf() { wi

Java模拟QQ桌面截图功能实现方法

本文实例讲述了Java模拟QQ桌面截图功能实现方法.分享给大家供大家参考.具体如下: QQ的桌面截图功能非常方便,去年曾用Java模拟过一个,现整理出来. 本方法首先需要抓到屏幕的整个图象,将图象显示在一个JFrame中,再将JFrame全屏显示,这样就模拟出了一个桌面,Java也就可以获得鼠标的作用区域从而实现桌面中的小范围截屏. import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import

Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)

本文全部操作均在windows环境下 安装 Python Python是一种跨平台的计算机程序设计语言,它可以运行在Windows.Mac和各种Linux/Unix系统上.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的开发 去Python的官网  www.python.org  下载安装 安装时勾选pip (python包管理工具),同时安装pip python安装好之后,打开命令行工具cmd,输入

Java编程调用微信支付功能的方法详解

本文实例讲述了Java编程调用微信支付功能的方法.分享给大家供大家参考,具体如下: 微信开发文档地址:https://mp.weixin.qq.com/wiki/home/ 从调用处开始 我的流程: 1.点击"支付"按钮,去后台 --> 2.后台生成支付所需数据返回页面 --> 3.页面点击"确认支付"调用微信支付js.完成支付功能. 支付按钮 <div class="button" id="pay" onc

JS模拟按钮点击功能的方法

本文实例讲述了JS模拟按钮点击功能的方法.分享给大家供大家参考,具体如下: <html> <head> <title>usually function</title> </head> <script> function load(){ //下面两种方法效果是一样的 document.getElementById("target").onclick(); document.getElementById("t

JAVA实现双向链表的增删功能的方法

JAVA实现双向链表的增删功能,完整代码 package linked; class LinkedTable{ } public class LinkedTableTest { //构造单链表 static Node node1 = new Node("name1"); static Node node2 = new Node("name2"); static Node node3 = new Node("name3"); static Node

C# 实现QQ式截图功能实例代码

这个功能一共有两部分组成,第一部分是窗体代码,另外的一部分是一个辅助方法.直接贴出代码,以供大家参考: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.D

Java Socket实现多线程通信功能示例

本文实例讲述了Java Socket实现多线程通信功能的方法.分享给大家供大家参考,具体如下: 前面的文章<Java Socket实现单线程通信的方法示例>说到怎样写一个最简单的Java Socket通信,但是文章中的例子有一个问题就是Server只能接受一个Client请求,当第一个Client连接后就占据了这个位置,后续Client不能再继续连接,所以需要做些改动,当Server没接受到一个Client连接请求之后,都把处理流程放到一个独立的线程里去运行,然后等待下一个Client连接请求

Android实现拍照截图功能

本文将向大家展示如何拍照截图. 先看看效果图: 拍照截图有点儿特殊,要知道,现在的Android智能手机的摄像头都是几百万的像素,拍出来的图片都是非常大的.因此,我们不能像对待相册截图一样使用Bitmap小图,无论大图小图都统一使用Uri进行操作. 一.首先准备好需要使用到的Uri: private static final String IMAGE_FILE_LOCATION = "file:///sdcard/temp.jpg";//temp file Uri imageUri =

php模拟用户自动在qq空间发表文章的方法

本文实例讲述了php模拟用户自动在qq空间发表文章的方法.分享给大家供大家参考.具体分析如下: 我们这里是一个简单的利用php来模拟登录后再到QQ空间发送文章的一个简单的程序,有需要的朋友可以参考,或改进可以给我意见,代码如下: 复制代码 代码如下: <?php //模拟get post请求函数 /* 函数说明: 功能:请求方式可以get,post,可以发送的cookie,保存的cookiefile文件 参数:$url-----请求url    $referer---来源url    $post

unity实现QQ截图功能

本文实例为大家分享了unity实现QQ截图功能的具体代码,供大家参考,具体内容如下 效果: 代码如下: using System.Collections; using System.Collections.Generic; using System.Text.RegularExpressions; using UnityEngine; using NPinyin; using System.IO; public class NewBehaviourScript : MonoBehaviour {