zoukankan      html  css  js  c++  java
  • java ffmpeg视频转码(自测通过)

     
    
    import java.io.*;
    
    
    public class VideoTransfer {
    
         //ffmepg文件 安装目录
         private static String ffmpeg = "D:\开发常用工具\ffmpeg-20181018-f72b990-win64-static\bin\ffmpeg";
         
         public static void main(String args[]) {
            String infile = "d://2//64891541678_181026061053_97_02.264";
            String outfile = "d://2//64891541678_181026061053_97_02.mp4";
    
            if(transfer(infile, outfile)) {
                System.out.println("the transfer is ok!");
            } else {
                System.out.println("the transfer is error!");
            }
        }
         
        public static 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;
    //        String h264tomp4 = ffmpeg + " -i "+infile+" -vcodec copy -f mp4 -y "+outfile;
            String h264tomp4 = ffmpeg + " -r 5 -i "+infile+" -vcodec copy -f mp4 -y "+outfile;
            try {
                Runtime rt = Runtime.getRuntime();
                Process proc = rt.exec(h264tomp4);
                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 (Exception e) {
                e.printStackTrace();
                return false;
            }
            return true;
        }
    
    }
  • 相关阅读:
    Hz赫兹的定义
    NetCore 迅速接入微信支付+支付宝支付 payLink C# 交差并集
    C# 生产随机数 --几乎可以做到不重复
    Spark MLib完整基础入门教程
    (转)Scrapy 教程
    (转)python自顶向下设计步骤_python实现自顶向下,自底向上
    (转)scrapy架构图与执行流程
    (转)Python:字典(zip, dict)
    (转)APUE第13章 守护进程Deameon
    (转)Python开发指南
  • 原文地址:https://www.cnblogs.com/shihaiming/p/9830923.html
Copyright © 2011-2022 走看看