RSS订阅专注X86/ARM架构技术
博客交流QQ群693563350 赞助本站
你现在的位置:网站首页 / Linux / 正文内容

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

9300 Linux | 2018年08月18日

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 input.mp4 -vcodec copy -an output.mp4

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


// 提取视频中的音频

ffmpeg -i input.mp4 -acodec copy -vn output.mp3

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


// 音视频合成

ffmpeg -y –i input.mp4 –i input.mp3 –vcodec copy –acodec copy output.mp4

// -y 覆盖输出文件


//剪切视频

ffmpeg -ss 0:1:30 -t 0:0:20 -i input.mp4 -vcodec copy -acodec copy output.mp4

// -ss 开始时间; -t 持续时间


// 视频截图

ffmpeg –i test.mp4 –f image2 -t 0.001 -s 320x240 image-%3d.jpg

// -s 设置分辨率; -f 强迫采用格式fmt;


// 视频分解为图片

ffmpeg –i test.mp4 –r 1 –f image2 image-%3d.jpg

// -r 指定截屏频率


// 将图片合成视频

ffmpeg -f image2 -i image%d.jpg output.mp4


//视频拼接

ffmpeg -f concat -i filelist.txt -c copy output.mp4


// 将视频转为gif

ffmpeg -i input.mp4 -ss 0:0:30 -t 10 -s 320x240 -pix_fmt rgb24 output.gif

// -pix_fmt 指定编码


// 将视频前30帧转为gif

ffmpeg -i input.mp4 -vframes 30 -f gif output.gif


// 旋转视频

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


// 缩放视频

ffmpeg -i input.mp4 -vf scale=iw/2:-1 output.mp4

// iw 是输入的宽度, iw/2就是一半;-1 为保持宽高比


//视频变速

ffmpeg -i input.mp4 -filter:v setpts=0.5*PTS output.mp4


//音频变速

ffmpeg -i input.mp3 -filter:a atempo=2.0 output.mp3


//音视频同时变速,但是音视频为互倒关系

ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4


// 视频添加水印

ffmpeg -i input.mp4 -i logo.jpg -filter_complex [0:v][1:v]overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] -map [out] -map 0:a -codec:a copy output.mp4

// main_w-overlay_w-10 视频的宽度-水印的宽度-水印边距;


// 截取视频局部

ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4

// 截取部分视频,从[80,60]的位置开始,截取宽200,高100的视频

ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4

// 截取右下角的四分之一

ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4

// 截去底部40像素高度

ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4




参数说明:


-vcodec xvid 使用xvid压缩


-s 320x240 指定分辨率


-r fps 设置帧频 缺省25


-b <比特率> 指定压缩比特




-acodec aac 设定声音编码


-ac <数值> 设定声道数,1就是单声道,2就是立体声


-ar <采样率> 设定声音采样率,PSP只认24000


-ab <比特率> 设定声音比特率


-vol <百分比> 设定音量




-y(覆盖输出文件




-t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持


-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持


-title string 设置标题

-author string 设置作者


-copyright string 设置版权


-hq 激活高质量设置




-aspect aspect 设置横纵比 4:3 16:9 或 1.3333 1.7777


-croptop size 设置顶部切除带大小 像素单位


-cropbottom size -cropleft size 

-cropright size

-padtop size 设置顶部补齐的大小 像素单位


-padbottom size -padleft size -padright size -padcolor color 设置补齐条颜色(hex,6个16进制的数,红:绿:兰排列,比如 000000代表黑色)


-bt tolerance 设置视频码率容忍度kbit/s


-maxrate bitrate设置最大视频码率容忍度


-minrate bitreate 设置最小视频码率容忍度


-bufsize size 设置码率控制缓冲区大小


-vcodec codec 强制使用codec编解码方式。 如果用copy表示原始编解码数据必须被拷贝。


-sameq 使用同样视频质量作为源(VBR)


-pass n 选择处理遍数(1或者2)。两遍编码非常有用。第一遍生成统计信息,第二遍生成精确的请求的码率


-passlogfile file 选择两遍的纪录文件名为file



-map file:stream 设置输入流映射


-debug 打印特定调试信息

上一篇:录制GIF动画小工具

下一篇:php获取bing每日图片代码

猜你喜欢