用ffmpeg打造linux转码服务器
来源:互联网 发布:简述数据和信息的区别 编辑:程序博客网 时间:2024/05/19 18:15
linux在系统资源利用上确实要比windows强很多,所以对于转码工作我们也放到linux平台上,下面就来讲下在linux配置ffmpeg来打造一个转码的环境。
首先我们需要以下的解码包,地址如下
xvidcode http://www.xvid.org/Downloads.43.0.html#c23
yasm http://www.tortall.net/projects/yasm/wiki/Download
amr code http://www.penguin.cz/~utx/amr
faac http://sourceforge.net/project/showfiles.php?group_id=704
lame http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
其他解码 http://www.mplayerhq.hu/MPlayer/releases/codecs/
ffmpeg http://www.ffmpeg.org/download.html
x264 http://downloads.videolan.org/pub/videolan/x264/snapshots/
使用包如下
amrnb-7.0.0.2.tar.bz2
amrwb-7.0.0.3.tar.bz2
faac-1.28.tar.bz2
faad2-2.7.tar.bz2
lame-398-2.tar.gz
yasm-0.8.0.tar.gz
x264-snapshot-20090426-2245.tar.bz2 这个可以去上面的网站下载最新的snapshot文件
xvidcore-1.2.1.tar.gz
ffmpeg-checkout-snapshot.tar.bz2 这个可以去上面的网站下载最新的checkout文件,当然也可以使用svn获取最新的文件
其他编码的解码插件请下载all-20071007.tar.bz2包就行了
下面就来说下安装步骤,总体来说安装步骤还是很容易的,讲所有下载好的包放到当前用户根目录下的ffmpeg文件夹中
cd ~/ffmpeg/
tar jxvf amrnb-7.0.0.2.tar.bz2
cd amrnb-7.0.0.2
./configure --prefix=/usr
mv ../26104-700.zip .
make
make install
cd ~/ffmpeg/
tar jxvf amrwb-7.0.0.3.tar.bz2
cd amrwb-7.0.0.3
./configure --prefix=/usr
mv ../26204-700.zip .
make
make install
cd ~/ffmpeg/
tar jxvf faac-1.28.tar.bz2
cd faac-1.28
./bootstrap
./configure --prefix=/usr --with-mp4v2
make
make install
cd ~/ffmpeg/
tar jxvf faad2-2.7.tar.bz2
cd faad2-2.7
./bootstrap
./configure --prefix=/usr --with-drm --with-mpeg4ip
make
make install
cd ~/ffmpeg/
tar zxvf lame-398-2.tar.gz
cd lame-398-2
./configure --prefix=/usr --enable-decode-layer1 --enable-mp3x --enable-mp3rtp --enable-all-float
make
make install
cd ~/ffmpeg/
tar zxvf yasm-0.8.0.tar.gz
cd yasm-0.8.0
./configure
make
make install
cd ~/ffmpeg/
tar jxvf x264-snapshot-20090426-2245.tar.bz2
cd x264-snapshot-20090426-2245
./configure --prefix=/usr --enable-shared
make
make install
cd ~/ffmpeg/
tar zxvf xvidcore-1.2.1.tar.gz
cd xvidcore
cd build/generic/
./configure --prefix=/usr
make
make install
cd ~/ffmpeg/
tar jxvf ffmpeg-checkout-snapshot.tar.bz2
cd ffmpeg-checkout-2009-04-20
./configure --enable-gpl --enable-shared --enable-libmp3lame --enable-libvorbis --enable-libamr-nb --enable-libamr-wb --enable-libxvid --enable-libx264 --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-pthreads --disable-ffserver --disable-ffplay --enable-nonfree --enable-postproc --extra-ldflags=-ldl
make
make install
mkdir -p /usr/local/lib/codes
tar jxvf all-20071007.tar.bz2
mv all-20071007 /usr/local/lib/codes/
chown root.root /usr/local/lib/codes/all-20071007/*
以上安装完毕之后,编辑/etc/ld.so.conf文件加入如下内容
/usr/local/lib
保存退出后执行ldconfig命令,然后执行ffmpeg命令就能看到如下显示了
configuration: --enable-gpl --enable-shared --enable-libmp3lame --enable-libvorbis --enable-libamr-nb --enable-libamr-wb --enable-libxvid --enable-libx264 --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-pthreads --disable-ffserver --disable-ffplay --enable-nonfree --enable-postproc --extra-ldflags=-ldl
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.27. 0 / 52.27. 0
libavformat 52.32. 0 / 52.32. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Apr 27 2009 15:23:16, gcc: 4.1.2 20071124 (Red Hat 4.1.2-42)
可能各位的显示结果会和我的不同。
以上配置完毕后,生产mp4文件的转码系统就算是搭建好了,不过这样生产出来的mp4文件是不支持渐进式下载的,所以还需要对生产出来的mp4文件进行处理,那个就是MP4Box这个软件的工作了,接下来就讲下MP4Box安装步骤
yum -y install freeglut-devel
wget http://downloads.sourceforge.net/gpac/gpac-0.4.5.tar.gz
wget http://downloads.sourceforge.net/gpac/gpac_extra_libs-0.4.5.tar.gz
tar zxvf gpac-0.4.5.tar.gz
tar zxvf gpac_extra_libs-0.4.5.tar.gz
cd gpac
cp -r ../gpac_extra_libs/* extra_lib/
chmod +x configure
./configure
make lib
make apps
make install
cp bin/gcc/libgpac.so /usr/lib
再安装完MP4Box之后同样要执行一次ldconfig命令,然后执行MP4Box -version命令后可以看到如下内容
MP4Box - GPAC version 0.4.5 (build 33)
GPAC Copyright: (c) Jean Le Feuvre 2000-2005
(c) ENST 2005-200X
这样一来所有的工作就都做完了,剩下的就是按照自己的需要写ffmpeg的转码脚本了
问题解决:
在安装MP4Box的时候可能会出现下面的问题
/usr/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL/usr/bin/ld: cannot find -lGLcollect2: ld returned 1 exit statusmake[1]: *** [libgpac.so] Error 1make[1]: Leaving directory `/root/gpac/src'make: *** [lib] Error 2
原因是mesa-libGL-devel这个包可能不完整,直接使用yum -y install mesa-libGL-devel命令把这个包安装一下,然后在make的时候就正常了。
© 2009, 深夜的蚊子. 版权所有. 如转载,请注明:转载自 蚊子空间[http://www.wenzizone.cn]
- 用ffmpeg打造linux转码服务器
- 打造轻巧的 Linux 服务器
- 全力打造Linux服务器配置大全
- 用 Linux 打造路由器
- 用 Linux 打造路由器
- 用 Linux 打造路由器
- 用 Linux 打造路由器
- Linux---nginx+ffmpeg搭建流媒体服务器
- Linux---nginx+ffmpeg搭建流媒体服务器
- linux下流媒体 ffmpeg服务器的搭建
- 使用Nginx+FFMPEG搭建HLS直播转码服务器
- 使用Nginx+FFMPEG搭建HLS直播转码服务器
- 使用Nginx+FFMPEG搭建HLS直播转码服务器
- 使用Nginx+FFMPEG搭建HLS直播转码服务器
- 使用Nginx+FFmpeg搭建HLS直播转码服务器
- 使用Nginx+FFMPEG搭建HLS直播转码服务器
- 使用Nginx+FFmpeg搭建HLS直播转码服务器
- 使用Nginx+FFMPEG搭建HLS直播转码服务器
- Tomcat与Apache 的关系详解
- CSDN,新的开始!!
- yahoo邮箱foxmail收发攻略
- 2011年11月3日上班中
- HTTP常用的状态码(HTTP Status Code)
- 用ffmpeg打造linux转码服务器
- C#编程技巧之常用文件名、路径处理方法--Path类
- 安卓ApiDemos学习 app/Alarm/AlarmController
- 不要告诉我你懂margin
- (4)类
- 恭喜 二姐,生个男宝宝
- BOJ 1485 修改顺序 拓扑排序
- 动态规划
- 说说