记录一次FFmpeg的安装过程

系统版本:CentOS 7

事情起因:

生产环境因为外网开放,密码强度为初始密码,造成挖矿病毒攻击,删除过程中发现,删除文件的同时,病毒会同时从外网下载,怎么也删除不干净,故决定重装系统。

同事是在2024年6月19日部署的生产环境,不巧的是CentOS 7在2024年6月30日停止维护了,造成无法通过yum命令直接从http://mirrorlist.centos.org下载相应的插件,换成阿里云、网易云、腾讯云之后相应的nasm、yasm、libx264都无法下载下来,所以只能通过下载安装包的形式操作,除此之外,还需要考虑安装版本的问题,最初始的时候没考虑到,造成安装成功,执行的过程中有错误出现。

一、查看nasm、yasm、libx264是否已经安装

bash 复制代码
-bash-4.2# nasm -version
NASM version 2.13.03 compiled on Jan  7 2025
-bash-4.2# yasm --version
yasm 1.3.0
Compiled on Jan  7 2025.
Copyright (c) 2001-2014 Peter Johnson and other Yasm developers.
Run yasm --license for licensing overview and summary.
-bash-4.2# x264 --version
x264 0.164.3204 373697b
built on Jan  7 2025, gcc: 4.8.5 20150623 (Red Hat 4.8.5-44)
x264 configuration: --chroma-format=all
libx264 configuration: --chroma-format=all
x264 license: GPL version 2 or later

已安装的情况下,可自动忽略下方的安装过程

二、安装nasm

wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz

tar -xvf nasm-2.13.03.tar.gz

cd nasm-2.13.03/

./configure

make && sudo make install

验证是否安装成功

nasm -version

三、安装yasm

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

tar zxvf yasm-1.3.0.tar.gz

cd yasm-1.3.0/

./configure

make && sudo make install

验证是否安装成功

yasm --version

四、安装x264

git clone https://code.videolan.org/videolan/x264.git

cd x264/

./configure --enable-shared --enable-static

make && sudo make install

验证是否安装成功

x264 --version

x264配置过程

bash 复制代码
# 先找到缺失文件的位置,例如执行
find / -name 'libx264.so.164'
# 得到
/home/soft/x264/libx264.so.164
/usr/local/lib/libx264.so.164
如果查询的时候没有找到的话,直接去/usr/local/lib 查看是否有libx264.so.164

# 修改ld.so.conf
vim /etc/ld.so.conf
最后一行添加:/usr/local/lib/



#执行 cat /etc/ld.so.conf 命令 展示下方说明修改成功

include ld.so.conf.d/*.conf
/usr/local/lib/


# 加载改动
ldconfig

五、安装FFmpeg

wget http://ffmpeg.org/releases/ffmpeg-5.0.1.tar.xz

tar -xvJf ffmpeg-5.0.1.tar.xz

mv ffmpeg-5.0.1/ /usr/local/ffmpeg/

cd /usr/local/ffmpeg

./configure --prefix=/home/newdisk/project/video-flv/ffmpeg-5.0 --enable-gpl --enable-libx264 --enable-static --disable-shared --enable-encoder=libx264 --extra-libs=-ldl

【我这里指定了安装位置,你也可以不指定{/home/newdisk/project/video-flv/ffmpeg-5.0}】

make && sudo make install

检查是否安装成功

bash 复制代码
-bash-4.2# ffmpeg
ffmpeg version 5.0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44)
  configuration: --enable-gpl --enable-libx264 --enable-static --disable-shared --enable-encoder=libx264 --extra-libs=-ldl
  libavutil      57. 17.100 / 57. 17.100
  libavcodec     59. 18.100 / 59. 18.100
  libavformat    59. 16.100 / 59. 16.100
  libavdevice    59.  4.100 / 59.  4.100
  libavfilter     8. 24.100 /  8. 24.100
  libswscale      6.  4.100 /  6.  4.100
  libswresample   4.  3.100 /  4.  3.100
  libpostproc    56.  3.100 / 56.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

上方的提示说明安装成功了,如果有红色或者error说明安装失败了
[root@x ffmpeg]# ffmpeg
ffmpeg: error while loading shared libraries: libx264.so.164: cannot open shared object file: No such file or directory
如果出现这种就是x264没有配置成功,找不到,重新配置一下,按照x264的配置过程

vim /etc/profile

新增

export PATH=$PATH:/usr/local/ffmpeg/bin

加载配置 ----必须加载配置,否则不生效

source /etc/profile

六、测试是否成功

ffprobe rtsp地址

bash 复制代码
-bash-4.2# ffprobe rtsp://admin:xxxx@xxxxxx:554/Streaming/Channels/101
ffprobe version 5.0.1 Copyright (c) 2007-2022 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44)
  configuration: --enable-gpl --enable-libx264 --enable-static --disable-shared --enable-encoder=libx264 --extra-libs=-ldl
  libavutil      57. 17.100 / 57. 17.100
  libavcodec     59. 18.100 / 59. 18.100
  libavformat    59. 16.100 / 59. 16.100
  libavdevice    59.  4.100 / 59.  4.100
  libavfilter     8. 24.100 /  8. 24.100
  libswscale      6.  4.100 /  6.  4.100
  libswresample   4.  3.100 /  4.  3.100
  libpostproc    56.  3.100 / 56.  3.100
Input #0, rtsp, from 'rtsp://admin:xxx@xxxx:554/Streaming/Channels/101':
  Metadata:
    title           : HIK Media Server V4.32.110
    comment         : HIK Media Server Session Description : standard
  Duration: N/A, start: 0.040000, bitrate: N/A
  Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 2560x1440, 25 fps, 25 tbr, 90k tbn

至此整个过程就结束了,如果还有问题,留言一起解决

相关推荐
丘上人8 分钟前
ffmpeg aac s16 encode_audio.c
ffmpeg
花里胡哨的菜只因3 小时前
关于在windows系统中编译ffmpeg并导入到自己项目中这件事
c++·windows·ffmpeg
MavenTalk6 小时前
音频合成的常见问题
ffmpeg·音视频·语音识别·tts
cuijiecheng20187 小时前
音视频入门基础:RTP专题(2)——使用FFmpeg命令生成RTP流
ffmpeg·音视频
刘争Stanley7 小时前
FFmpeg音视频流媒体,视频编解码性能优化
ffmpeg·kotlin·音视频·视频编解码
我是唐青枫8 小时前
Linux ffmpeg 基础用法
linux·运维·ffmpeg
学习嵌入式的小羊~8 小时前
ffmpeg-avio实战:打开本地文件或者网络直播流dome
ffmpeg
涛ing2 天前
【Ubuntu 上搭建 Nginx-RTMP 服务】
linux·服务器·c++·nginx·ubuntu·ffmpeg·音视频
Happytoo_2 天前
ffmpeg常用命令及介绍
ffmpeg