最近我们需要使用FFmpeg来合成视频功能,这就需要用到服务器必须安装FFmpeg了。
FFmpeg 是一款功能强大的跨平台命令行工具,可以处理各种音频和视频文件,包括转换视频和音频格式、剪辑、合并视频和音频、提取音频、添加字幕、添加水印、调整视频大小、旋转视频、添加音频效果、录制、转换、播放网络流媒体、生成视频截图、创建 GIF 动画以及分析视频和音频属性等。 它的优势在于跨平台、功能强大、开源免费以及命令行工具,使其成为处理音频和视频文件的强大工具。
1. 安装 EPEL
sudo yum install epel-release -y
2. 安装Nux Dextop 库
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -vhU http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
3.安装 FFmpeg
sudo yum install ffmpeg ffmpeg-devel -y
4.安装验证
ffmpeg -version
出现以上内容说明已经安装成功啦~
5.常用命令
# 基本命令
# ffmpeg -i input.mp4 output.avi # 将 input.mp4 视频文件转换为 output.avi 格式
# ffmpeg -i input.mp3 output.wav # 将 input.mp3 音频文件转换为 output.wav 格式
# ffmpeg -i input.mp4 -vn output.mp3 # 从 input.mp4 视频文件中提取音频,保存为 output.mp3 文件
# ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:20 output.mp4 # 从 input.mp4 视频文件中截取从 10 秒开始的 20 秒片段,保存为 output.mp4 文件
# ffmpeg -i input.mp4 -vf scale=320x240 output.mp4 # 将 input.mp4 视频文件缩放到 320x240 分辨率,保存为 output.mp4 文件
# ffmpeg -i input.mp4 -r 24 output.mp4 # 将 input.mp4 视频文件的帧率更改为 24 帧/秒,保存为 output.mp4 文件
# ffmpeg -i input.mp4 -c:v libx264 -preset slow output.mp4 # 使用 libx264 编解码器以慢速预设编码 input.mp4 视频文件,保存为 output.mp4 文件
# 音频处理命令
# ffmpeg -i input.mp3 -af "volume=0.5" output.mp3 # 将 input.mp3 音频文件音量降低一半,保存为 output.mp3 文件
# ffmpeg -i input.mp3 -af "equalizer=f=100:width_type=h:width=5:gain=10" output.mp3 # 对 input.mp3 音频文件进行均衡器处理,提升 100Hz 附近的频率,保存为 output.mp3 文件
# ffmpeg -i input.mp3 -af "aresample=44100" output.mp3 # 将 input.mp3 音频文件的采样率更改为 44100Hz,保存为 output.mp3 文件
# 视频处理命令
# ffmpeg -i input.mp4 -vf "crop=320:240:10:10" output.mp4 # 从 input.mp4 视频文件中裁剪出 320x240 的区域,从左上角 10 像素开始,保存为 output.mp4 文件
# ffmpeg -i input.mp4 -vf "rotate=90" output.mp4 # 将 input.mp4 视频文件旋转 90 度,保存为 output.mp4 文件
# ffmpeg -i input.mp4 -vf "drawtext=text='Hello World':fontfile=/path/to/font.ttf:fontsize=30:x=(w-text_w)/2:y=(h-text_h)/2" output.mp4 # 在 input.mp4 视频文件中添加文字水印,保存为 output.mp4 文件
# 其他常用命令
# ffmpeg -i input.mp4 -f image2 -r 1 output_%03d.jpg # 从 input.mp4 视频文件中提取每一秒的图片,保存为 output_001.jpg、output_002.jpg 等格式
# ffmpeg -i input.mp4 -filter_complex "[0:v]split[a][b];[a]palettegen[p];[b][p]paletteuse" output.gif # 将 input.mp4 视频文件转换为 GIF 动画,保存为 output.gif 文件
# ffmpeg -i input.mp4 -map 0:v -c:v copy -map 0:a -c:a copy output.mkv # 将 input.mp4 视频文件转换为 MKV 格式,并保留原始视频和音频编码