ffmpeg是一个开源免费跨平台的音视频工具,支持windows、mac、linux平台。提供源码和二进制程序
ffmpeg官网地址:https://www.ffmpeg.org/download.html
一、下载
MAC平台:
winows平台:如若经常使用需配置windows环境变量,懒人可以直接使用
linux:使用NuxDextop源安装
NuxDextop是一个面对CentOS、RHEL、ScientificLinux的含有许多流行的桌面和多媒体相关的包的第三方RPM仓库
#安装epel源
yum -y install epel-release
#安装升级nux源
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
#安装ffmpeg
yum -y install ffmpeg
二,使用
我这里只提供简单参数满足日常使用,有更复杂需求自行百度。
参数 | 说明 |
-y | 输出文件,执行覆盖操作而不再询问 |
-n | 输出文件,若已存在同名文件,则取消操作,立即退出 |
-i | 输入的文件或url |
-c | 选择一个编码器(当在输出文件之前使用)或解码器(当在输入文件之前使用时)用于一个或多个流。codec 是解码器/编码器的名称或 copy(仅输出)以指示该流不被重新编码。如:ffmpeg -i INPUT -map 0 -c:v libx264 -c:a copy OUTPUT |
-ss | 起始时间 |
-to | 截止时间 |
-t | 持续时间 |
1.音频、视频合并(并行)
ffmpeg -i 视频源.mp4 -i 音频源.m4a -acodec copy -vcodec copy 输出视频.mp4
2.多个视频串联拼接
通过文件记录视频路径
#list.txt文件内容如下,file后跟要合并的视频文件路径(若文件路径有空格或特殊符号,需单引号)
file /volume1/f1.mp4
file /volume1/f2.mp4
#读取list.txt文件,串联拼接,输出名为out.mp4
ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp4
3.获取视频信息
#显示视频的详细信息
ffmpeg -i src.mp4
4.获取视频时长
#过滤“Duration”所在行,获取视频时长
ffmpeg -i src.mp4 2>&1|grep Duration|awk -F ' |,' '{print $4}'
5.分割视频
###按时间戳进行分割 -to
#将src.mp4从00:30:00到1:00:00的视频截取出来,输出名为out.mp4
ffmpeg -i src.mp4 -ss 00:30:00 -to 1:00:00 -c copy out.mp4
###按后续时长分割 -t
#将src.mp4从00:30:00往后15秒(00:30:15)的视频截取出来,输出名为out.mp4
ffmpeg -i src.mp4 -ss 00:33:00 -t 15 -c copy out.mp4
发表评论