当前位置:网站首页 / Linux / 正文

CentOS7安装ffmpeg一键脚本和ffmpeg常用命令及参数

时间:2018年08月18日 | 作者 : liuhui | 分类 : Linux | 浏览: 10229次 | 评论 0

阿里云限量代金券 | 此广告位出租25元/月

linux下的ffmpeg命令可以用来转换视频格式,裁剪视频,视频流推送等

ffmpeg一键安装脚本的使用:

vi ffmpeg.sh

复制上面命令新建一个空白脚本文件

将下面脚本内容复制进去

#!/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.sh

等脚本执行完成后ffmpeg命令就安装完毕了


FFmpeg常用命令及参数

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。

https://github.com/FFmpeg/FFmpeg

http://ffmpeg.org/


FFmpeg命令大概形式如下

ffmpeg -i input.mp4 output.avi

上面的命令为格式转换(将mp4格式转为avi)

-i filename 输入文件

更多常用参数后面罗列,下面记录一下常用的一些命令:


// 去掉视频中的音频

ffmpeg -i in.mp4 -vcodec copy -an v.mp4

// -an: 去掉音频;-vcodec:视频选项,一般后面加copy表示拷贝


// 提取视频中的音频

ffmpeg -i in.mp4 -acodec copy -vn a.m4a

// -vn: 去掉视频;-acodec: 音频选项, 一般后面加copy表示拷贝

如果是多声道就要提取某个音轨上的声音

ffmpeg -i 原始素材.mp4

找到含有Audio字样的段落,其中#0.2 #0.3 #0.4 …..#0.7是音轨位置信息

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)这个音轨

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 覆盖输出文件


截取音视频

//剪切音频

ffmpeg -i in.mp3 -ss 00:01:00 -to 00:01:10 -vcodec copy -acodec copy out.mp3

//剪切视频

ffmpeg -i in.mp4 -ss 00:01:00 -to 00:01:10 -vcodec copy -acodec copy out.mp4

// -ss 开始时间; -to 结束时间

设置结束时间位移也可以使用下面的方式

ffmpeg -i in.mp3 -ss 00:01:00 -t 10 -vcodec copy -acodec copy out.mp3

//-t 设置截取时长,还有-sseof 选项 是以媒体末尾作为起点,可以配合-t截取末尾多少秒


//视频拼接

先在一个txt文本中把要拼接的文件列出来,里面的视频路径最好是绝对路径

file 'd:\live\1.mp4'
file 'd:\live\2.mp4'

这条命令只要是相同格式的视频均可以拼接

ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4

-safe 命令是让ffmpeg无视安全问题报错


// 视频截图

ffmpeg -i in.mp4 -ss 00:00:08 -vframes 1 img.jpg

// -vframe 指定截取的帧


//视频加水印

ffmpeg -i in.mp4 -i logo.png -filter_complex "overlay=20:20" out.mp4

-filter_complex 添加滤镜 overlay20:20 指的是,离左边20像素,离上边20像素


//将视频转为gif动图

ffmpeg -i in.mp4 -ss 4.5 -to 8.5 -s 640*320 -r 15 out.gif

// 旋转视频

ffmpeg -i input.mp4 -vf rotate=PI/2 output.mp4

-PI/2 顺时针旋转90°

-PI/1 旋转180°

推荐您阅读更多有关于“”的文章

猜你喜欢

网站分类
关注电脑博士
友情链接

分享:

支付宝

微信