文档

FFmpeg随笔

微信扫一扫,分享到朋友圈

FFmpeg随笔
收藏 0 0

jar

<dependency>
        <groupId>org.bytedeco</groupId>
        <artifactId>javacv</artifactId>
        <version>0.8</version>
</dependency>

一、截取视频第一针:

ffmpeg -i d:/test.mp4 -ss 1 -f image2 d:/001.png

-ss后跟的时间单位为秒
上述命令行 -ss 1代表截取第一秒该帧作为封面
image2:即转换成图片

/**
     *根据视频截取第一帧图片
     * @param video  视频地址
     * @param outImg  图片地址
     */
    public static void getVedioFirstImg(String video,String outImg){

        String cmdStr2 = "ffmpeg -i   /home/ftpFile/images/"+video+" -ss 1 -f image2 " +"/home/ftpFile/images/"+outImg;
        try {
            String[] cmdA = { BINSH, "-c", cmdStr2};
            Process process = Runtime.getRuntime().exec(cmdA);
            process.waitFor();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
public static void VideoCutFirstPicture(String localPath, String targetFilePath) {
		log.info("截取视频的第一秒图片");
		String command = "ffmpeg -i " + localPath + " -f image2 -ss  1   -frames:v 1 -y "
			+ targetFilePath;
		log.info("the command is : " + command);
		Runtime runtime = Runtime.getRuntime();
		try {
			Process proc = runtime.exec(command);
			InputStream stderr = proc.getErrorStream();
			InputStreamReader isr = new InputStreamReader(stderr);
			BufferedReader br = new BufferedReader(isr);
			String line = null;
			StringBuffer sb = new StringBuffer();
			while ((line = br.readLine()) != null)
				sb.append(line);
			int exitVal = proc.waitFor();
			log.info("the exitVal is : " + exitVal);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			log.error("ffmpeg exec cmd Exception ", e);
		}
		log.info("执行命令结束");
	}
展开阅读全文
干一件事情,用心干就完了
上一篇

js利用Canvas制作图片于文字合成图片

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

分类目录

微信扫一扫

微信扫一扫