安装命令一(宝塔推荐):
wget http://he4966.cn/ffmpeg.sh && sh ffmpeg.sh
无报错结束后检查是否安装好
ffmpeg -version
安装命令二:
#!/bin/sh
sudo yum -y install epel-release
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum repolist
sudo yum -y install ffmpeg ffmpeg-devel
ffmpeg -version
执行
sh ./自己命名的地址
FFmpeg常用命令及参数
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。
https://github.com/FFmpeg/FFmpeg
http://ffmpeg.org/
FFmpeg命令大概形式如下
ffmpeg -i input.mp4 output.avi
上面的命令为格式转换(将mp4格式转为avi)
-i filename 输入文件
更多常用参数后面罗列,下面记录一下常用的一些命令:
// 去掉视频中的音频
Bash
ffmpeg -i in.mp4 -vcodec copy -an v.mp4
// -an: 去掉音频;-vcodec:视频选项,一般后面加copy表示拷贝
// 提取视频中的音频
Bash
ffmpeg -i in.mp4 -acodec copy -vn a.m4a
// -vn: 去掉视频;-acodec: 音频选项, 一般后面加copy表示拷贝
如果是多声道就要提取某个音轨上的声音
Bash
ffmpeg -i 原始素材.mp4
找到含有Audio字样的段落,其中#0.2 #0.3 #0.4 …..#0.7是音轨位置信息
Bash
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
要提取Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)这个音轨
Bash
ffmpeg -i 原始素材.mp4 -map 0:2 a.2.m4a
PS:0:3表示选择这个音轨提取
// 合并音视频
ffmpeg -y –i input.mp4 –i input.mp3 –vcodec copy –acodec copy output.mp4
// -y 覆盖输出文件
截取音视频
//剪切音频
Bash
ffmpeg -i in.mp3 -ss 00:01:00 -to 00:01:10 -vcodec copy -acodec copy out.mp3
//剪切视频
Bash
ffmpeg -i in.mp4 -ss 00:01:00 -to 00:01:10 -vcodec copy -acodec copy out.mp4
// -ss 开始时间; -to 结束时间
设置结束时间位移也可以使用下面的方式
Bash
ffmpeg -i in.mp3 -ss 00:01:00 -t 10 -vcodec copy -acodec copy out.mp3
//-t 设置截取时长,还有-sseof 选项 是以媒体末尾作为起点,可以配合-t截取末尾多少秒
//视频拼接
先在一个txt文本中把要拼接的文件列出来,里面的视频路径最好是绝对路径
Bash
file 'd:\live\1.mp4'
file 'd:\live\2.mp4'
这条命令只要是相同格式的视频均可以拼接
Bash
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4
-safe 命令是让ffmpeg无视安全问题报错
// 视频截图
Bash
ffmpeg -i in.mp4 -ss 00:00:08 -vframes 1 img.jpg
// -vframe 指定截取的帧
//视频加水印
Bash
ffmpeg -i in.mp4 -i logo.png -filter_complex "overlay=20:20" out.mp4
-filter_complex 添加滤镜 overlay20:20 指的是,离左边20像素,离上边20像素
//将视频转为gif动图
Bash
ffmpeg -i in.mp4 -ss 4.5 -to 8.5 -s 640*320 -r 15 out.gif
// 旋转视频
Bash
ffmpeg -i input.mp4 -vf rotate=PI/2 output.mp4
-PI/2 顺时针旋转90°
-PI/1 旋转180°