FFmpeg是视频处理利器 我目前所在公司是搞视频面试的 难免经常和视频打交道 趁着放假 简单学习下这个工具
Mac下安装FFmpeg
下载地址:
https://ffmpeg.org/download.html#build-mac
下载完成 直接在目录下执行
./ffmpeg
加上全局变量
vi ~/.bash_profile
export PATH=$PATH:/安装路径
source ~/.bash_profile
之后执行 ffmpeg -version 看下是否成功
/**
* 提取视频里的音频
* <p>
* -vn 不处理视频
* -y 表示如果输出文件已存在则覆盖
* -vcodec copy表示使用跟原视频一样的视频编解码器。
* -acodec copy表示使用跟原视频一样的音频编解码器。
* -i 表示源视频文件
* -ss设置从视频的哪个时间点开始截取
* -t表示截取多长的时间
* -to 截到视频的哪个时间点结束。
* -r 表示每一秒几帧
* -q:v表示存储jpeg的图像质量,一般2是高质量。
* -s 设定画面的宽与高
* -aspect 设定画面的比例
* -f:指定文件格式(format),这里指定为image2的格式
*
* @throws Exception
*/
@Test
public void t() throws Exception {
String fileName = "/Users/chenqi/Downloads/mytest.mp4";
String newFileName = "/Users/chenqi/Downloads/mymymy.aac";
StringBuilder sb = new StringBuilder();
sb.append("/Users/chenqi/tools/ffmp/ffmpeg").append(" -i ").append(fileName).append(" -vn -y -acodec copy ")
.append(newFileName);
Runtime.getRuntime().exec(sb.toString()).waitFor();
}
/**
* 从一个视频文件中抽取一帧图像
*
* @throws Exception
*/
@Test
public void t3() throws Exception {
String fileName = "/Users/chenqi/Downloads/mytest.mp4";
String newFileName = "/Users/chenqi/Downloads/testjpgmy.jpg";
String sb = "/Users/chenqi/tools/ffmp/ffmpeg" +
" -y " +
" -i " +
fileName +
" -ss 00:00:08.000 -vframes 1 -an " +
newFileName;
Runtime.getRuntime().exec(sb).waitFor();
}
/**
* 剪切视频
* ffmpeg -ss 0:05:00 -t 0:1:30 -i input_file -vcodec copy -acodec copy output_file
* ffmpeg -ss 300 -t 90 -i input_file -vcodec copy -acodec copy output_file
* 上面的两种方式等价,时间格式支持 HH:MM:SS或者秒数。 -ss 开始时间, -t 持续时间, -vcodec copy 保持原视频编码, -acodec copy 保持原音频编码。
*
* @throws Exception
*/
@Test
public void t4() throws Exception {
String fileName = "/Users/chenqi/Downloads/mytest.mp4";
String newFileName = "/Users/chenqi/Downloads/mycut.mp4";
String sb = "/Users/chenqi/tools/ffmp/ffmpeg" +
" -ss 0:01:00 " +
" -t 0:03:00 " +
" -i " +
fileName +
" -vcodec copy -acodec copy " +
newFileName;
Runtime.getRuntime().exec(sb).waitFor();
}
2 条评论
新年快乐~
新年快乐