Centos7 安装ffmpeg转码命令 和常用命令及参数

安装命令一(宝塔推荐):

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°

1679
主攻后端PHP
4660
二次开发Code
1679
长连接Swoole
4640
高并发网站Redis