当前位置:首页 » 操作系统 » ffmpeg安装linux

ffmpeg安装linux

发布时间: 2022-06-10 05:13:39

① ffmpeg安装在linux哪个目录

Linux下ffmpeg的完整安装
最近在做一个企业项目, 期间需要将用户上传的视频转成flv格式或mp4格式并用flash插件在前端播放, 我决定采用ffmpeg (http://www.ffmpeg.org/ )实现. 当然以前也用过ffmpeg, 但是没有安装额外的库, 只是源代码下简单地 ./configure, 最后发现好多功能都用不了, 比如最流行的x264编码器. 所以决心完整地安装一下ffmpeg, 经过两天痛苦地折腾, 终于成功了, 现在将过程记录下来. 主要参考了 [1] 和 [2] 两篇博文, 其中 [1] 是2007年写成的, 其中所提到的依赖库版本比较老, 本人安装的都是相应最新的版本.

首先要安装各种解码器

1、lame
lame-3.99.5.tar.gz
Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
安装方法如下:
1 tar -zxvf lame-3.99.5.tar.gz
2 cd lame-3.99.5
3 ./configure --enable-shared 4 make
5 make install

2、libogg
libogg-1.3.1.tar.gz
Url:http://www.xiph.org/downloads/
安装方法如下:
3、libvorbis
libvorbis-1.3.3.tar.gz
Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
(libvorbis依赖于libogg, 所以libogg必须先于libvorbis安装)
安装方法如下:
1 ./configure 2 make
3 make install

4、xvid
xvidcore-1.3.2.tar.gz
Url:http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
安装方法如下:
5、x264
latest_x264.tar.bz2 (其中包含的目录是 x264-snapshot-20131023-2245)
Url:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
安装方法如下:

1
2
3
4

1 tar -jxvf latest_x264.tar.bz2
2 ./configure
3 make
4 make install

6、libdts
libdca-0.0.5.tar.bz2
Url: http://www.videolan.org/developers/libdca.html
安装方法:
7、a52
a52dec-0.7.4.tar.gz (这个库从2002年就没有更新过了)
http://liba52.sourceforge.net/downloads.html
安装方法:
8、faad2
faad2-2.7.tar.gz
http://www.audiocoding.com/downloads.html
安装方法
9、faac
faac-1.28.tar.gz
http://www.audiocoding.com/downloads.html
安装方法:
10、amr-nb
amrnb-10.0.0.0.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/ ( 从此处下载最新版本 )
安装方法:
11、amr-wb
amrwb-7.0.0.1.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/ ( 从此处下载最新版本 )
安装方法:
1 ./configure 2 make
3 make install

12、最关键的一步, 安装ffmpeg

1
2
3

1 ./configure --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay
2 make
3 make install

在./configure的时候会报错, 提示说没有libopencore-amrnb和libopencore-amrwb两个库. 我参考了 [2], 使用如下命令安装它们:

1

sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev

如果./configure的时候加入 --enable-shared, 编译安装没有问题. 但是运行ffmpeg命令就会出错:

1

relocation error: /usr/local/lib/libavfilter.so.3: symbol sws_get_class, version LIBSWSCALE_2 not defined in file libswscale.so.2 with link time reference;

这时可以参考 [3], 大意是说跟gstreamer的动态库冲突了, 要卸载gstreamer. 但是如果卸载了gstreamer我的多媒体软件多不能用了. 所以我卸载了ffmpeg并重新编译成静态库. 安装完之后, 运行ffmpeg成功, 输出如下:

1
2
3
4
5
6
7
8
9
10
11
12
13

ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Oct 25 2013 17:40:51 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

[1] http://yezi.iteye.com/blog/139399
[2] http://www.learndiary.com/2011/04/ubuntu-linux-%E4%B8%8B-ffmpeg-%E5%8F%8A-mencoder-%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%B0%8F%E7%BB%93/
[3] http://blog.csdn.net/nil_foc/article/details/6547047

② linux下安装ffmpeg好之后怎么使用

安装了就好了,系统会调用,我之前装别的软件需要解决依赖性而装了这个

③ linux服务器怎么安装ffmpeg

1、下载ffmpeg。
2、解压缩 tar -zxvf ffmpeg.tar.gz
3、编辑profile文件:

vi /etc/profile
在文件末尾加上两句话:
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
4、配置安装路径之类的:
./configure --enable-shared --prefix=/usr/local/ffmpeg
--enable-shared 参数据说是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。
如果出现异常,提示因为缺少yasm,需要添加参数,再执行以下命令:
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
如果执行结果不对,可以根据提示信息,并查看帮助,解决问题
./configure --help
5、编译安装
make
make install
6、安装之后在/usr/local/ffmpeg会看到有三个目录
bin 执行文件目录
lib 静态,动态链接库目录
include 编程用到的头文件
7、为了防止执行程序找不到库文件,
可以将/usr/local/ffmpeg/lib目录设置到LD_LIBRARY_PATH环境变量
8、若出现error while loading shared libraries: libavdevice.so.52的错误
修改/etc/ld.so.conf 在最后一行加上/usr/local/ffmpeg/lib
ldconfig -v
并修改 /usr/local/ffmpeg/lib目录下的文件权限为777

④ linux下怎么变异ffmpeg

1、下载ffmpeg。

wget http://down1.chinaunix.net/distfiles/ffmpeg-0.4.9-p20051120.tar.bz2

我是在这个网址上下载ffmpeg-0.4.9-p20051120.tar.bz2,看网上有人用的是svn下载,但是我的机子中没有svn客户端,然后就在网上搜索,下载了这个版本。如果利用svn可以下载ffmpeg最新的版本。

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

2、解压

tar xvfj ffmpeg-0.4.9-p20051120.tar.bz2

得到解压后的目录是ffmpeg-0.4.9-p20051120,名字太长,利用mv命令改为ffmpeg

mv ffmpeg-0.4.9-p20051120.tar.bz2 ffmpeg

3、配置

./configure --enable-shared --prefix=/usr/local/ffmpeg

其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。

4、编译并安装

make
make install

5、安装之后在/usr/local/ffmpeg会看到有三个目录

lib 动态链接库位置
include 编程要用到头文件
bin 执行文件所在的目录

6、为了以后方便编程,我们把lib中的三个链接库libavcodec.so libavformat.so libavutil.so复制到/usr/lib下。把include目录下的ffmpeg目录复制到/usr/include下。

这里我这样复制了还是不对,-lavcodec -lavutil -lavformat的时候,提示找不到库
然后我把 /usr/local/ffmpeg/lib 所有文件复制到 /usr/local/lib才可以的
执行bin目录下的ffplay,可以去播放音频或者视频文件。例如播放1.mp3

./ffplay 1.mp3

另外,bin目录下还有两个文件:ffmpeg和ffserver

ffmpeg是一个很好的视频和音频的格式转化工具。网上有很多它的说明文档。如果不想生成ffserver,只要在./configure的时候加--disable-ffserver即可。

7、编程

如果写了一个test.c文件,要包含ffmpeg的头文件,可以这样写:

#include

编译:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)

如果没有第6部的操作,则编译的时候如下:

gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil

编译成功之后,执行的时候还是需要动态库的支持,还是要把那三个动态库文件复制到/usr/lib或者/lib中,不然执行的时候会说找不到动态库链接。还有一个方法可以解决这个问题,就是把/usr/local/ffmpeg/lib这个目录加入到/etc/ld.so.config中,然后执行 ldconfig,或者重启电脑,这样执行的时候系统就可以从/usr/local/ffmpeg/lib这个目录下去找这三个动态库文件了。

以上的方式是采用动态库编译ffmpeg的,如果在configure的时候不加上--enable-shared的,则采用静态链接的方式,不会生成那三个动态库。同时生成的ffplay、ffmpeg的执行文件也比较的大,因为他们不需要动态库的支持,就可以执行。但是不利于再次开发,所以我采用动态链接的方式。configure中还有很多的选项,可以通过./configure --help查看,也可以直接查看configure文件。这在配置的时候很重要。

⑤ linux下安装opencv必需要先安装ffmpeg吗

看到个类似的问题: www.avidemux.org/smf/index.php?topic=11974.0 你这个东西真不好说,不过看来是 x264 因为是静态编译,静态编译我记得需要别的函数库也是静态的。你这个应该是 x264 本身就有找不到的函数入口问题,导致现在传染给了 ffmpeg

⑥ ffmpeg怎么安装在linux开发板

1、下载ffmpeg。wgetconfigure--help查看,也可以直接查看configure文件。这在配置的时候很重要。

⑦ linux 查看ffmpeg安装没有

你没说是系统系统版本的,不同版本之前命令也是不同的。给你红帽系统,也可以用作Centos查看的命令:
命令 作用
yum repolist all 列出所有仓库。
yum list all 列出仓库中所有软件包
yum info 软件包名称 查看软件包信息
yum install 软件包名称 安装软件包
yum reinstall 软件包名称 重新安装软件包
yum update 软件包名称 升级软件包
yum remove 软件包 移除软件包
yum clean all 清除所有仓库缓存
yum check-update 检查可更新的软件包
yum grouplist 查看系统中已经安装的软件包组
yum groupinstall 软件包组 安装指定的软件包组
yum groupremove软件包组 移除指定的软件包组
yum groupinfo 软件包组 查询指定的软件包组信息
搜索《linux就该这么学》,第一章节里面的知识点。

⑧ linux ffmpeg 怎么编64位

1、下载ffmpeg。
下载网址:http://www.ffmpeg.org/download.html
2、解压缩
tar -zxvf ffmpeg-2.0.1.tar.gz
3、配置,生成Makefile
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
如果执行结果不对,可以根据提示信息,并查看帮助,解决问题
./configure --help
4、编译安装
make
make install
5、安装之后在/usr/local/ffmpeg会看到有三个目录
bin 执行文件目录
lib 静态,动态链接库目录
include 编程用到的头文件
为了防止执行程序找不到库文件,
可以将/usr/local/ffmpeg/lib目录设置到LD_LIBRARY_PATH环境变量,
或者查看/usr/local/ffmpeg/lib下所有的链接,并在/usr/lib下建立同样的链接。如下。
ln -s /usr/local/ffmpeg/lib/libavcodec.so /usr/lib/libavcodec.so
ln -s /usr/local/ffmpeg/lib/libavdevice.so /usr/lib/libavdevice.so
ln -s /usr/local/ffmpeg/lib/libavfilter.so /usr/lib/libavfilter.so
ln -s /usr/local/ffmpeg/lib/libavformat.so /usr/lib/libavformat.so
ln -s /usr/local/ffmpeg/lib/libavutil.so /usr/lib/libavutil.so
ln -s /usr/local/ffmpeg/lib/libswresample.so /usr/lib/libswresample.so
ln -s /usr/local/ffmpeg/lib/libswscale.so /usr/lib/libswscale.so
ln -s /usr/local/ffmpeg/lib/libavcodec.so /usr/lib/libavcodec.so.55
ln -s /usr/local/ffmpeg/lib/libavdevice.so /usr/lib/libavdevice.so.55
ln -s /usr/local/ffmpeg/lib/libavfilter.so /usr/lib/libavfilter.so.3
ln -s /usr/local/ffmpeg/lib/libavformat.so /usr/lib/libavformat.so.55
ln -s /usr/local/ffmpeg/lib/libavutil.so /usr/lib/libavutil.so.52
ln -s /usr/local/ffmpeg/lib/libswresample.so /usr/lib/libswresample.so.0
ln -s /usr/local/ffmpeg/lib/libswscale.so /usr/lib/libswscale.so.2

这时就需要在/etc/ld.so.conf下面加一行/usr/local/ffmpeg/lib,保存过后ldconfig一下,

这时就需要在/etc/ld.so.conf下面加一行/usr/local/MySQL/lib,保存过后ldconfig一下,

6、编译测试程序
gcc -o ffmpegtest ffmpegtest.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil
7、执行程序
./ffmpegtest
或直接执行/usr/local/ffmpeg/lib目录下的./ffmpeg进行测试。

⑨ 我想在linux下安装ffmpeg,但是光有ffmpeg包还不行,还要一些库的支持,我网上搜了好久都没搜到。

你是用RPM来安装的吧,卸载掉换成编译安装吧

热点内容
centos升级python27 发布:2024-11-02 02:00:57 浏览:673
ue4未找到编译器 发布:2024-11-02 01:46:08 浏览:155
python中的withopen 发布:2024-11-02 01:46:07 浏览:976
编程名人 发布:2024-11-02 01:42:18 浏览:867
服务器电脑配置表 发布:2024-11-02 01:41:29 浏览:370
linux使用串口 发布:2024-11-02 01:37:11 浏览:702
二维码扫的密码从哪里开始 发布:2024-11-02 01:24:57 浏览:473
如何将手表改成开放式安卓系统 发布:2024-11-02 01:09:00 浏览:739
6s还能用吗能和什么安卓机比 发布:2024-11-02 01:08:09 浏览:765
SQL扩位 发布:2024-11-02 00:55:35 浏览:447