`
stta04
  • 浏览: 115229 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

视频上传过程中自动转换为flv格式并截图生成缩略图(Java调用命令实现)

阅读更多

//视频上传过程中自动转换为flv格式并截图生成缩略图(Java调用命令实现)

import java.util.ArrayList;

import java.util.List;

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

public class VideoProcess {

System.out.println(oldfilepath+"->"+newfilename+"->"+newimg);

List<String> commendF = new ArrayList<String>();

List<String> commendI=new java.util.ArrayList<String>();

commendF.add("D:\\tools\\mencoder\\mencoder");

commendF.add(oldfilepath);

commendF.add("-o");

commendF.add(newfilename);

commendF.add("-of");

commendF.add("lavf");

commendF.add("-oac");

commendF.add("mp3lame");

commendF.add("-lameopts");

commendF.add("abr:br=32:vol=1");

commendF.add("-srate");

commendF.add("22050");

commendF.add("-ovc");

commendF.add("lavc");

commendF.add("-lavcopts");

commendF.add("vcodec=flv:vbitrate=480:mbd=2:v4mv:turbo:vb_strategy=1:last_pred=2:trell");

commendF.add("-vf");

commendF.add("scale=400:226");

commendI.add("d:\\tools\\ffmpeg");

commendI.add("-i");

commendI.add(oldfilepath);

commendI.add("-y");

commendI.add("-f");

commendI.add("image2");

commendI.add("-ss");

commendI.add("8");

commendI.add("-t");

commendI.add("0.001");

commendI.add("-s");

commendI.add("100x100");

commendI.add(newimg);

try {

ProcessClass.exec(commendF);

ProcessClass.exec(commendI);

return true;

} catch (Exception e) {

e.printStackTrace();

return false;

}

}

public static void main(String[] args){

String oldfilepath = "D:\\video\\a1.avi";

String newfilename = "D:\\video\\a1.flv";

String newimg = "D:\\video\\a1.jpg";

processTransToImg2(oldfilepath,newfilename,newimg);

System.out.println("over");

}

}

ProcessClass.java

import java.io.IOException;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class ProcessClass{

public List<String> commendList = new ArrayList<String>();

public ProcessClass(List<String> commendList){

this.commendList = commendList;

}

//同步使只能有一个进程执行该方法(实现格式转换进程完成后执行截图进程操作)

public static synchronized Process exec(List<String> commendlist){

StringBuffer strBuf = new StringBuffer();

for(Iterator iter =commendlist.iterator();iter.hasNext(); ){

String Strtemp = (String)iter.next();

strBuf.append(Strtemp);

strBuf.append(" ");

}

try {

return Runtime.getRuntime().exec(strBuf.toString());

} catch (IOException e) {

e.printStackTrace();

return null;

}

}

}

这并不是完善的程序,还存在一些问题:

1、 由于对于ffmpeg中的命令参数我并不是很了解,对于命令中的参数值并不是最优的选择,我在运行过程中出现转换后的文件大小还大于原文件。

2、 如果当你转换后没有看到生成图片,则你可以尝试修改

commendI.add("100x100"); 这个里面的值。

当我在程序中设置为100x75就不会生成图片,而当设置为100x100就可以看到图片生成出来了。

网上看到有一个朋友给的实例中设置为320X240,不过在我的项目感觉图片太大了,影响了整体的美观。你可以自己尝试一下。

分享到:
评论
1 楼 fang428 2010-02-21  
怎么没有生成flv文件呢?而且图片也没有?亟待答复

相关推荐

    用java程序调用ffmpeg执行视频文件格式转换flv

    在本文中,我们将深入探讨如何使用Java程序调用FFmpeg执行视频文件格式转换,特别是将非FFmpeg原生支持的格式转换为FLV格式。FFmpeg是一个强大的多媒体处理工具,支持多种视频、音频格式的编码、解码和转换。在这个...

    java调用ffmpeg转换视频格式为flv

    Java调用FFmpeg转换视频格式为FLV是一个常见的任务,特别是在开发媒体处理应用程序时。FFmpeg是一个强大的跨平台命令行工具,用于处理音频和视频文件,包括转换、编码、解码、分割等操作。在Java中,我们通常通过...

    flv 视频生成缩略图 mpplay

    这通常涉及解码视频帧并将其转换为静态图像格式,如JPEG或PNG。 4. **图像处理**:如果需要,可以对提取的帧进行一些基本的图像处理,比如裁剪、缩放、调整亮度和对比度等,以满足设计需求。 5. **保存和展示**:...

    上传视频自动截图和转换为flv格式

    这一技术允许用户上传视频文件后,系统自动从视频中提取一帧作为预览图片,并将视频转换为FLV(Flash Video)格式,以便在网络中流畅播放。 首先,让我们详细了解一下"自动截图"这一概念。在视频处理中,自动截图...

    java把各种视频格式转化为flv

    在Java中调用FFmpeg进行视频转换,我们可以利用Java的`Runtime.getRuntime().exec()`方法或者第三方库如JAVE(Java Audio Video Encoder)。JAVE是一个Java封装库,它提供了友好的API来调用FFmpeg命令行工具。以下是...

    java调用视频转换工具ffmpeg.zip

    在Java中调用FFmpeg,通常有两种方式:直接执行系统命令和使用Java库。直接执行命令是通过Runtime.exec()方法或ProcessBuilder类来调用FFmpeg的命令行工具,例如: ```java String command = "ffmpeg -i input.mp4 ...

    原生java生成FLV格式视频文件 实现屏幕录制+录音

    刚开始学java就一直在想用java生成视频 以前用java做了个屏幕录制加录音 不过生成的不是标准的视频文件 无法通过播放器播放 下载的人还不少 因此这次参考了FLV文件规范 通过原生java生成FLV视频文件 录屏加录音 ...

    纯java代码实现各种视频转flv格式,支持在线播放。

    本文将深入探讨如何使用纯Java代码实现视频转码至FLV(Flash Video)格式,并支持在线播放,而不依赖任何第三方库,从而确保高效、快速的转码过程。 首先,我们需要了解FLV格式。FLV是一种流行的网络流媒体格式,...

    上传视频到服务器并转换成flv格式实现在线播放功能

    本文将详细介绍如何在服务器端处理用户上传的视频文件,将其转换为FLV格式,并实现在线播放功能。 首先,用户注册后能够上传视频文件,这些文件可能是各种不同的格式,如MP4、AVI、WMV等。由于不同浏览器对视频格式...

    Java视频转换FLV

    Java视频转换FLV技术常应用于在线教育平台、视频分享网站、直播系统等,允许用户上传各种格式的视频并自动转换为适合在网络中播放的FLV格式。 通过理解这些知识点,开发者可以熟练地在Java环境中实现视频格式的...

    java源码转换FLV

    总结来说,这个Java源码转换FLV的项目是利用Java编程语言和相关库实现的视频转换工具,它可以将源视频文件转化为适用于网络播放的FLV格式。理解和使用这个项目,你需要熟悉Java编程、视频处理概念以及可能涉及的第三...

    如何快速不借用转换工具将FLV格式视频转换成MP4

    1. **下载并准备FLV格式的视频文件**:选择一个FLV格式的视频文件作为转换对象,可以是任意来源的文件,只要确保它是FLV格式即可。 2. **文件存放位置**:为了简化后续命令行操作,建议将FLV格式的视频文件放置于...

    最简单的java调用FFmpeg转换视频格式为FLV的方法

    最简单的java调用FFmpeg转换视频格式为FLV的方法,在win下调用命令提示符。

    Easy-FLV: Java 实现的 RTSP/RTMP 到 FLV 转换器

    Easy-FLV 是一个用 Java 实现的库,它能够将 RTSP 或 RTMP 视频流转换为 FLV 格式,以便在浏览器中播放。它为实时视频监控、直播和视频流处理提供了一个高效、稳定且易于集成的解决方案。高效转换:快速将视频流转换...

    C#实现将视频格式转换为FLV,进而实现在线预览

    本项目涉及的关键知识点是使用C#实现视频格式转换为FLV(Flash Video),以便于在线预览。FLV是一种流行的网络流媒体格式,由于其体积小、加载快的特性,常用于网页中的视频播放。 1. **C#基础**: C#是一种面向...

    视频上传并转换编码成flv格式

    本文将详细讲解如何实现“视频上传并转换编码成flv格式”的过程,以及涉及到的相关技术,包括ASP编程语言、编码转换和流媒体服务。 首先,视频上传是指用户通过网络将本地视频文件上传到服务器的过程。这个过程通常...

    上传视频到服务器并转换成flv格式实现在线播放功能1.docx

    在这个文档中,我们关注的是如何将用户上传的视频文件转换为FLV(Flash Video)格式,以便在网页上通过Flash Player进行在线播放。以下是相关知识点的详细说明: 1. **FLV格式**:FLV是Adobe Flash平台广泛使用的...

    基于Java的集视频压缩与格式转换功能的flv转mp4设计源码

    本项目是一款基于Java技术栈的视频处理工具源码,集成了视频压缩与格式转换功能,特别针对FLV到MP4的转换。项目结构包含40个文件,其中Java源文件28个,HTML文件2个,并涉及其他类型的文件如属性文件、Markdown文件...

    网页播放FLV格式视频JAVA源码

    网页播放FLV格式视频是网络视频流媒体技术的一种常见应用,尤其在早期互联网视频发展时期,FLV(Flash Video)由于其轻量级、高效的特点,成为许多网站首选的视频格式。本文将深入探讨如何使用JAVA源码实现FLV视频在...

    java调用ffmpeg转换视频,并读取转换后视频的分辨率、大小以及时长

    java调用ffmpeg转换视频,并读取转换后视频的分辨率、大小以及时长。主要参考http://blog.sina.com.cn/s/blog_a5116c670102wiwj.html 的代码方式。步骤: 1.研究java如何调用外部程序 2.研究ffmpeg转换视频格式的...

Global site tag (gtag.js) - Google Analytics