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

linux下ffmpeg

发布时间: 2022-06-07 12:34:49

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

② 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压缩视屏

格式转换 (将file.avi 转换成output.flv)C代码
#ffmpeg -i file.avi output.flv

-i 表示输入文件

:现在有个video.avi,有个音频 audio.mp3,将其合并成output.avi
两个命令(file.avi 是中间文件,用完可删)
C代码
#ffmpeg -i video.avi -vcodec -an video2.avi
#ffmpeg -i video2.avi -i audio.mp3 -vcodec -acodec output.avi

-i 表示输入文件
-vcodec 表示 force video codec (‘’ to stream) 这个不知怎么译 ,估计是直接
-acodec 这个说的应该是音频了 跟上面一样
-an:表示 disable audio 估计是audio no 之类的缩写,表示去掉video.avi 原有的音频

④ linux ffmpeg怎么用

给两个例子: ffmpeg -i t.raw -target pal-vcd t.mpg ffmpeg -i t.raw -target pal-vcd -s 352x194 -aspect 4:3 -padbottom 47 -padtop 47 t.mpg -i 是原视频 -target 是预设的格式有VCD,DVD等,不用预设也可以自己指定格式如mp4等。

⑤ linux下怎么配置ffmpeg库

格式转换 (将file.avi 转换成output.flv)C代码
#ffmpeg -i file.avi output.flv

-i 表示输入文件

:现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi
两个命令(file.avi 是中间文件,用完可删)
C代码
#ffmpeg -i video.avi -vcodec -an video2.avi
#ffmpeg -i video2.avi -i audio.mp3 -vcodec -acodec output.avi

⑥ 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 可以运行ffmpeg吗

对于linux系统,多数是不会直接提供执行文件。下载地址:http://ffmpeg.org/releases/ffmpeg-0.8.3.tar.bz2 下载后:tar xjvf ffmpeg-0.8.3.tar.bz2cd ffmpeg-0.8.3./configuremakemake intall

⑧ 如何安装linux系统下的ffmpeg

linux下安装ffmpeg1、下载ffmpeg。2、解压tar xvfj ffmpeg-0.11.1.tar.bz2得到解压后的目录是ffmpeg-0.11.13、配置 ./configure --enable-shared --prefix=/usr/local/ffmpeg其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。4、编译并安装makemake install5、安装之后在/usr/local/ffmpeg会看到有四个目录lib 动态链接库位置include 编程要用到头文件bin 执行文件所在的目录 share6、为了以后方便编程,我们把lib中的三个链接库libavcodec.so libavformat.so libavutil.so复制到/usr/lib下。把include目录下的ffmpeg目录复制到/usr/include下。执行bin目录下的ffplay,可以去播放音频或者视频文件。例如播放1.mp3./ffplay 1.mp3 另外,bin目录下还有两个文件:ffmpeg和ffserverffmpeg是一个很好的视频和音频的格式转化工具。网上有很多它的说明文档。如果不想生成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文件。这在配置的时候很重要。

热点内容
吃鸡怎么录视频带声音安卓 发布:2024-11-01 01:25:51 浏览:61
vm如何编译和运行C程序 发布:2024-11-01 01:20:10 浏览:498
蚁群算法解决tsp问题 发布:2024-11-01 01:09:35 浏览:886
腾讯云服务器最新12ip 发布:2024-11-01 01:08:53 浏览:875
我的世界服务器经营商店 发布:2024-11-01 01:07:53 浏览:458
安卓如何开启安装权限 发布:2024-11-01 01:07:52 浏览:913
脚本刷的心 发布:2024-11-01 01:06:57 浏览:452
sql命名规范 发布:2024-11-01 01:05:42 浏览:428
编译mingw 发布:2024-11-01 00:56:16 浏览:263
安卓手机戴耳机有回音怎么回事 发布:2024-11-01 00:53:04 浏览:265