华为云上面可以代做网站吗,wordpress课程报名,网站建设策划,wordpress怎么把文章字体变成黑色Linux安装ffmpeg并截取图片和视频的缩略图使用
官方下载地址: http://www.ffmpeg.org/download.html#releases 我这里使用版本: ffmpeg_3.2_repo.tar.gz 可以百度网盘分享给大家 安装的环境为 Centos 64位操作系统 安装时须为 root 用户进行操作
#解压
tar -zxvf ffmpeg_3…Linux安装ffmpeg并截取图片和视频的缩略图使用
官方下载地址: http://www.ffmpeg.org/download.html#releases 我这里使用版本: ffmpeg_3.2_repo.tar.gz 可以百度网盘分享给大家 安装的环境为 Centos 64位操作系统 安装时须为 root 用户进行操作
#解压
tar -zxvf ffmpeg_3.2_repo.tar.gz#进入目录
cd ffmpeg_3.2_repo#安装可能需要一点时间
sh setup.sh截取图片缩略图命令
ffmpeg -i a.png -y -vf scale100:100/a thumb.jpga.png 原图片100:100 缩略图宽:缩略图高thumb.jpg 缩略图片
截取视频第一帧缩略图命令
ffmpeg -i bb.mp4 -y -vframes 1 -vf scale100:100/a thumb.jpgbb.mp4 原视频100:100 缩略图宽:缩略图高thumb.jpg 缩略图片
调用java命令生成缩略图工具类
package com.beyond.utils;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.BufferedReader;
import java.io.Closeable;
import java.io.File;
import java.io.InputStreamReader;/*** 执行shell命令ffmpeg工具类 liang*/
public class ShellCommandUtil {private static final Logger logger LoggerFactory.getLogger(ShellCommandUtil.class);/**** param sourceFile 原文件路径* param thumbFile 目标文件路径* param thumbWidth 宽度* param thumbHigh 高度* return* ffmpeg -i a.png -y -vf scale100:100/a thumb.jpg*/public static boolean ffmpegImg(String sourceFile, String thumbFile, String thumbWidth, String thumbHigh){String cmd ffmpeg -i sourceFile -y -vf scale thumbWidth : thumbHigh /a thumbFile;execCmd(cmd, null);logger.info(ShellCommandUtil---ffmpegImg, cmd);File file new File(thumbFile);if(!file.exists()){return false;}return true;}/**** param sourceFile* param thumbFile* param thumbWidth* param thumbHigh* return* ffmpeg -i bb.mp4 -y -vframes 1 -vf scale100:100/a thumb.jpg*/public static boolean ffmpegVideo(String sourceFile, String thumbFile, String thumbWidth, String thumbHigh){String cmd ffmpeg -i sourceFile -y -vframes 1 -vf scale thumbWidth : thumbHigh /a thumbFile;execCmd(cmd, null);logger.info(ShellCommandUtil---ffmpegVideo, cmd);File file new File(thumbFile);if(!file.exists()){return false;}return true;}/*** 执行系统命令, 返回执行结果* param cmd 需要执行的命令* param dir 执行命令的子进程的工作目录, null 表示和当前主进程工作目录相同*/public static String execCmd(String cmd, File dir) {StringBuilder result new StringBuilder();Process process null;BufferedReader bufrIn null;BufferedReader bufrError null;try {String[] commond {/bin/sh,-c,cmd};// 执行命令, 返回一个子进程对象命令在子进程中执行process Runtime.getRuntime().exec(commond, null, dir);// 方法阻塞, 等待命令执行完成成功会返回0process.waitFor();// 获取命令执行结果, 有两个结果: 正常的输出 和 错误的输出PS: 子进程的输出就是主进程的输入bufrIn new BufferedReader(new InputStreamReader(process.getInputStream(), UTF-8));bufrError new BufferedReader(new InputStreamReader(process.getErrorStream(), UTF-8));// 读取输出String line null;while ((line bufrIn.readLine()) ! null) {result.append(line).append(\n);}while ((line bufrError.readLine()) ! null) {result.append(line).append(\n);}}catch (Exception e){e.printStackTrace();}finally {closeStream(bufrIn);closeStream(bufrError);// 销毁子进程if (process ! null) {process.destroy();}}// 返回执行结果return result.toString();}private static void closeStream(Closeable stream) {if (stream ! null) {try {stream.close();} catch (Exception e) {e.printStackTrace();}}}}