CentOS安装视频转换FFmpeg和切割工具segmenter

一、yum安装FFmpeg

1.最偷懒的方式就是yum安装了,自动解决依赖。不过CentOS系统默认无FFmpeg源,企业版 Linux 附加软件包EPEL源也不包含,需要手动添加yum源配置/etc/yum.repos.d/dag.repo:

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/RedHat/el$releasever/en/$basearch/dag
gpgcheck=0
enabled=1

2.在线安装FFmpeg

yum -y install ffmpeg

二、编译安装FFmpeg

yum安装FFmpeg比源码编译安装省时省力,但缺点也很明显,版本过老,为0.6.5版,最新版已为2.6.3,新旧版很多参数有所差异,旧版支持的格式也没有新版丰富。

源码编译安装FFmpeg非常需要耐心,每添加一种需要支持的格式就需要有相应的多媒体格式开发库。文中所使用的软件版本皆为最新版。

1.安装autoconf

cd /App/src
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz   
tar xvf autoconf-2.69.tar.xz
cd autoconf-2.69
./configure
make
make install

2.    安装automake

cd /App/src
wget http://ftp.gnu.org/gnu/automake/automake-1.15.tar.xz 
tar xvf automake-1.15.tar.xz
cd automake-1.15
./configure
make
make install

3.    安装libtool(FAAC需要)

cd /App/src
wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz
tar xvf libtool-2.4.6.tar.xz
cd libtool-2.4.6
./configure
make
make install

4.    安装yasm支持汇编优化(FFmpeg需要)

cd /App/src
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install

5.    添加动态链接库配置

echo ‘/usr/local/lib’ >> /etc/ld.so.conf.d/local.conf

6.    安装MP3支持库LAME

cd /App/src
wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz 
tar xvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make
make install

7.    安装AAC支持库FAAC

make时报错:mpeg4ip.h:126: 错误:对‘char* strcasestr(const char*, const char*)’的新声明

需要修改common/mp4v2/mpeg4ip.h第123行至129行内容:

#ifdef __cplusplus
extern “C” {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif

修改为:

1
2
3
4
5
6
7 #ifdef __cplusplus
extern “C++” {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif

cd /App/src
wget http://jaist.dl.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.bz2
tar xvf faac-1.28.tar.bz2
cd faac-1.28
./bootstrap
./configure –with-mp4v2
#按前文修改mpeg4ip.h内容
make
make install

8.    安装AMR支持库opencore-amr

cd /App/src
wget http://jaist.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
tar xvf opencore-amr-0.1.3.tar.gz
cd opencore-amr-0.1.3
./configure
make
make install

9.    安装通用音乐音频编码格式支持库libvorbis

# libvorbis需要libogg,先安装libogg库
cd /App/src
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz
tar xvf libogg-1.3.2.tar.xz
cd libogg-1.3.2
./configure
make
make install
 
cd /App/src
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz
tar xvf libvorbis-1.3.5.tar.xz
cd libvorbis-1.3.5
./configure
make
make install

10.    安装x264库支持H.264视频转码

cd /App/src
git clone git://git.videolan.org/x264.git
cd x264
./configure –enable-shared
make
make install

11.    安装Xvid库支持MPEG-4转码

cd /App/src
wget http://downloads.xvid.org/downloads/xvidcore-1.3.3.tar.bz2
tar xvf xvidcore-1.3.3.tar.bz2
cd xvidcore/build/generic
./configure
make
make install

12.    安装Theora视频压缩支持库

cd /App/src
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.xz
tar xvf libtheora-1.1.1.tar.xz
cd libtheora-1.1.1
./configure
make
make install

13.    安装NUT支持库

安装时64位Linux系统需要修改文件config.mak

在最后一个CFLAGS下一行增加:

CFLAGS += -fPIC

否则安装FFmpeg make时报错:

/usr/local/lib/libnut.a: could not read symbols: Bad value

cd /App/src
svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut
cd libnut
./configure
make
make install

14.    安装VP8/VP9编解码支持库

cd /App/src
git clone http://git.chromium.org/webm/libvpx.git
cd libvpx
./configure –enable-shared
make
make install

15.    安装FFmpeg最新版

cd /App/src
wget http://ffmpeg.org/releases/ffmpeg-2.6.3.tar.bz2
tar xvf ffmpeg-2.6.3.tar.bz2
cd ffmpeg-2.6.3
./configure –enable-version3 –enable-libvpx –enable-libfaac –enable-libmp3lame –enable-libvorbis –enable-libx264 –enable-libxvid –enable-gpl –enable-postproc –enable-nonfree –enable-avfilter –enable-pthreads –enable-libnut –enable-libtheora –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-shared
make
make install
ldconfig

16.    安装segmenter

git clone https://github.com/johnf/m3u8-segmenter
cd m3u8-segmenter
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
make
make install
ln -s /usr/local/bin/m3u8-segmenter /usr/local/bin/segmenter

三、    编译安装注意事项

1.    可能发现编译FFmpeg或者其他支持库时,即使相关的所有依赖也编译安装上了,仍然make报错,主要的原因还是由于依赖的库版本冲突,编译时调用的是yum安装时自动下载安装的旧版本依赖库。此时的方法就是卸掉所有yum安装的旧版本FFmpeg和相关的依赖软件包或者重新找台新的纯净的系统重新开始安装,或者使用Ubuntu Server最新版,一般Ubuntu Server最新版FFmpeg版本还是比较新的,直接执行命令 sudo apt-get install ffmpeg 会自动安装FFmpeg和相关依赖。

2.    有爱专研的或者受制于手头无多余机器的,只能老老实实得卸载旧软件,从头开始编译安装。如何去除旧版本yum安装的相关软件?我们可以借助yum deplist命令先找出所有相关依赖软件包,然后卸载除了公共软件包外的所有软件包。此方法也适用于安装其它软件时遇到类似同样的问题。

yum deplist ffmpeg | grep -v ffmpeg | grep provider | awk ‘{print $2}’ | sort -u

图示:

从中挑出非公共软件包的软件包名卸载:

rpm -e –nodeps a52dec dirac dirac-libs faac gsm lame libtheora opencore-amr SDL x264
rpm -e –nodeps $(rpm -qa | grep -i ffmpeg)

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/201160.html<

(0)
管理的头像管理
上一篇2025-04-05 15:24
下一篇 2025-04-05 15:25

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注