来自 关于计算机 2019-10-19 01:11 的文章
当前位置: 六合联盟网 > 关于计算机 > 正文

编译安装FFmpeg以支持mp3

不容置疑ffmpeg是个相当好的事物,但恐怕是因为License冲突方面包车型客车主题素材(个人认为好疑似GPLv3跟其余License有冲突),所以那五年的ffmpeg中一度不分包如libVCDlame和libx264之类常用库的协助,那在其实应用中就能十分不低价。就算据书上说有一对轻松易行的艺术,如《HOWTO: Easily enable MP3, MPEG4, AAC, and other restricted encoders in FFmpeg》,但本人试了中间的四个比较简单的点子:安装extra库和装置Medibuntu,结果都未曾能落得目标。所以不得不本身编写翻译安装ffmpeg。

CentOS下yum安装FFmpeg

一、yum安装FFmpeg

1.最偷懒的不二秘诀便是yum安装了,自动消除信任。然而CentOS系统暗中同意无FFmpeg源,集团版 Linux 附加软件包EPEL源也不带有,要求手动增添yum源配置/etc/yum.repos.d/dag.repo:

[dag]``name=DagRPMRepository``for``RedHatEnterpriseLinux``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``wgethttp:``//ftp``.gnu.org``/gnu/autoconf/autoconf-2``.69.``tar``.xz``tar``xvfautoconf-2.69.``tar``.xz``cd``autoconf-2.69``.``/configure``make``make``install

2.安装automake

cd``/App/src``wgethttp:``//ftp``.gnu.org``/gnu/automake/automake-1``.15.``tar``.xz``tar``xvfautomake-1.15.``tar``.xz``cd``automake-1.15``.``/configure``make``make``install

3.安装libtool(FAAC需要)

cd``/App/src``wgethttp:``//ftp``.gnu.org``/gnu/libtool/libtool-2``.4.6.``tar``.xz``tar``xvflibtool-2.4.6.``tar``.xz``cd``libtool-2.4.6``.``/configure``make``make``install

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

cd``/App/src``wgethttp:``//www``.tortall.net``/projects/yasm/releases/yasm-1``.3.0.``tar``.gz``tar``xvfyasm-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``wgethttp:``//jaist``.dl.sourceforge.net``/project/lame/lame/3``.99``/lame-3``.99.5.``tar``.gz``tar``xvflame-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/VCDv2/mpeg4ip.h第123行至129行内容:

#ifdef__cplusplus``extern``"C"``{``#endif``char``*strcasestr(``const``char``*haystack,``const``char``*needle);``#ifdef__cplusplus``}``#endif

修改为:

#ifdef__cplusplus``extern``"C++"``{``#endif``const``char``*strcasestr(``const``char``*haystack,``const``char``*needle);``#ifdef__cplusplus``}``#endif

cd``/App/src``wgethttp:``//jaist``.dl.sourceforge.net``/project/faac/faac-src/faac-1``.28``/faac-1``.28.``tar``.bz2``tar``xvffaac-1.28.``tar``.bz2``cd``faac-1.28``.``/bootstrap``.``/configure``--with-mp4v2``#按前文修改mpeg4ip.h内容``make``make``install

  1. 安装AMR支持库opencore-amr

cd``/App/src``wgethttp:``//jaist``.dl.sourceforge.net``/project/opencore-amr/opencore-amr/opencore-amr-0``.1.3.``tar``.gz``tar``xvfopencore-amr-0.1.3.``tar``.gz``cd``opencore-amr-0.1.3``.``/configure``make``make``install

9.设置通用音乐韵律编码格式扶助库libvorbis

#libvorbis需要libogg,先安装libogg库``cd``/App/src``wgethttp:``//downloads``.xiph.org``/releases/ogg/libogg-1``.3.2.``tar``.xz``tar``xvflibogg-1.3.2.``tar``.xz``cd``libogg-1.3.2``.``/configure``make``make``install``cd``/App/src``wgethttp:``//downloads``.xiph.org``/releases/vorbis/libvorbis-1``.3.5.``tar``.xz``tar``xvflibvorbis-1.3.5.``tar``.xz``cd``libvorbis-1.3.5``.``/configure``make``make``install

10.安装x264库支持H.264摄像转码

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

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

cd``/App/src``wgethttp:``//downloads``.xvid.org``/downloads/xvidcore-1``.3.3.``tar``.bz2``tar``xvfxvidcore-1.3.3.``tar``.bz2``cd``xvidcore``/build/generic``.``/configure``make``make``install

12.安装西奥ra录制压缩扶助库

cd``/App/src``wgethttp:``//downloads``.xiph.org``/releases/theora/libtheora-1``.1.1.``tar``.xz``tar``xvflibtheora-1.1.1.``tar``.xz``cd``libtheora-1.1.1``.``/configure``make``make``install

13.安装NUT支持库

设置时60个人Linux系统须求修改文件config.mak

在结尾叁个CFLAGS下一行扩展:

CFLAGS += -fPIC

不然安装FFmpeg make时报错:

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

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

14.设置VP8/VP9编解码帮助库

cd``/App/src``gitclonehttp:``//git``.chromium.org``/webm/libvpx``.git``cd``libvpx``.``/configure``--``enable``-shared``make``make``install

15.安装FFmpeg最新版

cd``/App/src``wgethttp:``//ffmpeg``.org``/releases/ffmpeg-2``.6.3.``tar``.bz2``tar``xvfffmpeg-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

gitclonehttps:``//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命令先寻找富有相关软件包,然后卸载除了公共软件包外的具有软件包。此方法也适用于安装别的软件时遇见类似一样的标题。

yumdeplistffmpeg|``grep``-``v``ffmpeg|``grep``provider|``awk``'{print$2}'``|``sort``-u

图示:

图片 1

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

rpm-e--nodepsa52decdiracdirac-libsfaacgsmlamelibtheoraopencore-amrSDLx264``rpm-e--nodeps$(rpm-qa|``grep``-iffmpeg)

一、yum安装FFmpeg 1.最偷懒的方法便是yum安装了,自动消除信任。可是CentOS系统暗中认可无FFmpeg源,集团版 Linux 附加软件包E...

所用的平台是Ubuntu 12.04 amd64版。在此之前根本的问题正是kdenlive和openshot这样的录像编辑软件不能够导出MP3/H.264/Xvid等格式,所以那边的化解方案也首若是本着那八个软件来的。

先依照ffmpeg的官方文书档案《Compile FFmpeg on Ubuntu》编写翻译安装x264和libvpx。然则在63个人下要专心,编写翻译x264时要动用下边包车型客车指令(加上--enable-shared),不然编写翻译ffmpeg会出错:

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

六拾三人平台必要注意此命令运维成功后的结果,在那之中shared和PIC两项都必需是yes。

编写翻译安装ffmpeg是用kdenlive的《Installing FFmpeg》文书档案推荐的编写翻译参数,在那之中含有的某些库大概必要本身用apt安装一下。注意,要装相应的-dev版本。

./configure --prefix=/usr --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaac 
    --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-x11grab 
    --enable-libgsm --enable-libx264 --enable-libtheora --enable-libdc1394 --enable-nonfree 
    --disable-stripping --enable-avfilter --enable-libschroedinger --enable-libopencore-amrnb 
    --enable-libopencore-amrwb --enable-version3

本身是别的装了那么些:

sudo apt-get install libgsm1-dev libschroedinger-dev libdc1394-22-dev

编译也是用kdenlive推荐的:

make -j3

安装是用ffmpeg官方推荐的:

sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(date +%Y%m%d%H%M)-git" --backup=no 
  --deldoc=yes --fstrans=no --default
hash x264 ffmpeg ffplay ffprobe

那样通常就足以了。

图片 2

本文由六合联盟网发布于关于计算机,转载请注明出处:编译安装FFmpeg以支持mp3

关键词: