java 调用 ffmpeg 进行视频转换以及截图

author:fanfq(xiaoban)
Email:fangqing.fan#gmail.com
link:http://fanfq.iteye.com/admin/blogs/655569

changelog:

有很多朋友发邮件问我关于ffmpeg视频转码的相关问题,我也尝试了帮助他们去解决这些问题,由于个人精力有限就blog上总结一下大家所遇到的一些问题。

以下代码只要是使用的我的包是肯定没有问题的,但是至限于*-》flv,因为不同格式的视频转码所对应的参数也是不一样的,想要达到效果教好的视频的话就得修改这些参数,但是我们有一个通用的方式,只要是ffmpeg支持的视频的话。使用 ffmpeg -i form.** to.** 就可以了,但是这只局限与测试。

windows环境测试
一.磨刀不误砍柴工
1.首先在c:\ffmpeg放入红色方框内中的必要文件(下载)。
ffmpeg.exe能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
对ffmpeg.exe无法解析的文件格式(wmv9,rm,rmvb等),
可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式;
mencoder.exe;drv43260.dll;pncrt.dll这3个文件是为文件格式(wmv9,rm,rmvb等)
转换为avi(ffmpeg能解析的)格式准备的;再把转换好的avi文件再用ffmpeg.exe转换成flv格式的视频文件。。。



2.C:\ffmpeg\input目录中存放事先下载好的不同格式的视频文件。



3. C:\ffmpeg\output目录是将来存放转换后的文件。




二.废话不说直接上代码
Java代码   收藏代码
  1. import java.io.File;  
  2. import java.util.ArrayList;  
  3. import java.util.Calendar;  
  4. import java.util.List;  
  5.   
  6. public class ConvertVideo {  
  7.   
  8.     private final static String PATH = "c:\\ffmpeg\\input\\c.mp4";  
  9.   
  10.     public static void main(String[] args) {  
  11.         if (!checkfile(PATH)) {  
  12.             System.out.println(PATH + " is not file");  
  13.             return;  
  14.         }  
  15.         if (process()) {  
  16.             System.out.println("ok");  
  17.         }  
  18.     }  
  19.   
  20.     private static boolean process() {  
  21.         int type = checkContentType();  
  22.         boolean status = false;  
  23.         if (type == 0) {  
  24.             System.out.println("直接将文件转为flv文件");  
  25.             status = processFLV(PATH);
  • 5
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值