打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Java调用ffmpeg进行视频转码
  • import java.io.*;
  • import java.lang.*;
  • import java.util.*;
  • import java.text.*;
  • import java.net.*;



  • public class MediocreExecJavac {

  •     public void runCmd(String command) {
  •         try {
  •             Runtime rt = Runtime.getRuntime();
  •             Process proc = rt.exec(command);
  •             InputStream stderr = proc.getErrorStream();
  •             InputStreamReader isr = new InputStreamReader(stderr);
  •             BufferedReader br = new BufferedReader(isr);
  •             String line = null;
  •  
  •             while ( (line = br.readLine()) != null)
  •                 System.out.println(line);

  •             int exitVal = proc.waitFor();
  •             System.out.println("Process exitValue: " + exitVal);
  •         } catch (Throwable t) {
  •             t.printStackTrace();
  •         }
  •     }

  •     public boolean transfer(String infile,String outfile) {
  •         String avitoflv = "ffmpeg -i "+infile+" -ar 22050 -ab 56 -f flv -y -s 320x240 "+outfile;
  •         String flvto3gp = "ffmpeg -i " + infile + " -ar 8000 -ac 1 -acodec amr_nb -vcodec h263 -s 176x144 -r 12 -b 30 -ab 12 " + outfile;
  •         String avito3gp = "ffmpeg -i " + infile + " -ar 8000 -ac 1 -acodec amr_nb -vcodec h263 -s 176x144 -r 12 -b 30 -ab 12 " + outfile;
  •         String avitojpg = "ffmpeg -i " + infile + " -y -f image2 -ss 00:00:10 -t 00:00:01 -s 350x240 " + outfile;

  •         try {
  •             Runtime rt = Runtime.getRuntime();
  •             Process proc = rt.exec(avitoflv);
  •             InputStream stderr = proc.getErrorStream();
  •             InputStreamReader isr = new InputStreamReader(stderr);
  •             BufferedReader br = new BufferedReader(isr);
  •             String line = null;

  •             while ( (line = br.readLine()) != null)
  •                 System.out.println(line);

  •             int exitVal = proc.waitFor();
  •             System.out.println("Process exitValue: " + exitVal);
  •         } catch (Throwable t) {
  •             t.printStackTrace();
  •             return false;
  •         }
  •         return true;
  •     }

  •     public static String readFile(String fileName,int id) {
  •         String dataStr = "";
  •         FileInputStream fis = null;

  •         try {
  •             FileReader file = new FileReader(fileName);//建立FileReader对象,并实例化为fr
  •             BufferedReader br=new BufferedReader(file);//建立BufferedReader对象,并实例化为br
  •             String Line=br.readLine();//从文件读取一行字符串
  •             dataStr=Line;
  •             br.close();//关闭BufferedReader对象
  •         } catch(Exception e) {

  •         } finally {
  •             try {
  •                 if(fis!=null)
  •                     fis.close();
  •             } catch(Exception e) {}
  •         }
  •         return dataStr;
  •     }

  •     public String readtime(String file) {
  •         String str="/root/Desktop/info.txt";
  •         String timelen = "";
  •         String cmd = "timelen "+file;

  •         runCmd(cmd);
  •         timelen=readFile(str,1);

  •         return timelen;
  •     }

  •     public static void main(String args[]) {
  •         MediocreExecJavac me = new MediocreExecJavac();
  •         String infile = "/root/Desktop/a.mp4";
  •         String outfile = "/root/Desktop/1.flv";

  •         String timelen = me.readtime(infile);
  •         System.out.println("timelen is :" + timelen);

  •         if(me.transfer(infile,outfile)) {
  •             System.out.println("the transfer is ok!");
  •         } else {
  •             System.out.println("the transfer is error!");
  •         }
  •     }
  • }
  • 本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
    打开APP,阅读全文并永久保存 查看更多类似文章
    猜你喜欢
    类似文章
    【热】打开小程序,算一算2024你的财运
    FFmpeg参数解释
    JAVA+ffmpeg+mencoder转换视频
    Java Process中waitFor()的问题
    如何用java启动windows命令行程序
    runtime.exec()执行进程block死锁问题 - fuliang - JavaEye技术网站
    自动修改android模拟设备号imei的小程序
    更多类似文章 >>
    生活服务
    热点新闻
    分享 收藏 导长图 关注 下载文章
    绑定账号成功
    后续可登录账号畅享VIP特权!
    如果VIP功能使用有故障,
    可点击这里联系客服!

    联系客服