实时流媒体Feng server 安装
1、此编译依赖如下工具:
glib-2 >= 2.10
gcc (my gcc 4.6.3)
g++ (my g++ 4.6.3)
make (my make 3.81)
libtool (my libtool 2.4.2)
autotools(automake >= 1.9, autoconf >= 2.61) (my automake = 1.11.3, my autoconf = 2.68)
ragel >= 6.6 (my ragel = 6.7)
xsltproc
docbook-xsl-ns
yasm (my yasm = 1.1.0.2352 )
2、安装AAC 的编解码:
a. install faac-1.28
1. aclocal---->生成 aclocal.m4
2. autoconf---> 生成 configure
5. automake --add-missing
3. autoheader ---> 生成 config.h.in
4. libtoolize --automake --copy --debug --force -----> 生成 ltmain.sh
5. automake --add-missing
6. automake ------> 生成 makefile.in
7. ./configure --prefix=/usr
8. make
9. sudo make install
Note: 如果出现 ".infig.status: error: cannot find input file" 这种错误, 是因为文件格式可能是window, 将其转化一下:
> vim configure.in
> :set fileformat=unix
> :wq
b. install faad2-2.7
同faac安装
3、安装 ffmpeg:
1. > git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
2. 使用vim打开进行转换,命令模式下输入:set ff=unix
3. > sudo apt-get install yasm
4. > chmod +x configure
4. > ./configure --prefix=/usr --enable-libfaac --enable-gpl --enable-nonfree
> chmod +x version.sh
> vim version.sh
:set ff=unix
> make version.h
生成 version.h
(-bash: *.sh: /bin/sh^M: bad interpreter: 没有那个文件或目录
原因:脚本的编码问题,脚本文件保存时使用了DOS格式
解决:使用vim打开进行转换,命令模式下输入:set ff=unix)
5. make
6. sudo make install
7. ffmpeg -v
4、安装 libav >= 0.7:
1. mkdir libav
2. cd libav
3. tar zxvf ../libav-0.8.9.tar.gz
4. ./configure --prefix=/usr --enable-libfaac --enable-gpl --enable-nonfree
5. make
6. sudo make install
7. ffmpeg -version
5、安装 libev >= 3.48:
1. mkdir libev
2. cd libev
3. tar zxvf ../libev-4.15.tar.gz
4. ./configure --prefix=/usr
5. make
6. sudo make install
7. ls /usr/lib/libev
6、安装 json-c:
1. mkdir json-c
2. cd json-c
3. tar zxvf ../json-c-0.11.tar.gz
4. ./configure --prefix=/usr --disable-static
5. make
6. sudo make install
7. ls /usr/lib/libjson
7、安装 flex , GNU bison:
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install glib2.0*
8、安装 feng 并配置:
a. chmod +x git-version-gen
vim git-version-gen
:set ff=unix
b. aclocal
c. autoreconf -vif
d. automake
e. modify src/media/resource_avformat.c
AV_CODEC_ID_MPEG1VIDEO
AV_CODEC_ID_MPEG2VIDEO
AV_CODEC_ID_H264
AV_CODEC_ID_MP2
AV_CODEC_ID_MP3
AV_CODEC_ID_VORBIS
AV_CODEC_ID_THEORA
AV_CODEC_ID_SPEEX
AV_CODEC_ID_AAC
AV_CODEC_ID_MPEG4
AV_CODEC_ID_H263
AV_CODEC_ID_AMR_NB
AV_CODEC_ID_VP8
chang to :
CODEC_ID_MPEG1VIDEO
CODEC_ID_MPEG2VIDEO
CODEC_ID_H264
CODEC_ID_MP2
CODEC_ID_MP3
CODEC_ID_VORBIS
CODEC_ID_THEORA
CODEC_ID_SPEEX
CODEC_ID_AAC
CODEC_ID_MPEG4
CODEC_ID_H263
CODEC_ID_AMR_NB
CODEC_ID_VP8
f. ./configure --prefix=/usr
g. make
h. sudo make install
i. sudo feng -v 启动feng.
j. sudo adduser feng
(feng server 的源码好久没有更新了, 因此这里需要手动改一下,见步骤e )
更改配置文件:
修改配置文件 /usr/etc/feng.conf
If permission denied, you need chang the file own /usr/var/
> sudo chown -hR feng:feng /usr/var
9、启动feng server:
copy 一些码流到 /usr/var/feng/avroot
> ifconfig
> sudo feng -v
10、测试:
现在你可以用 VLC media player 远播放你的server 上的码流.
打开VLC
media -> Open Network Stream -> Network -> rtsp://<IP>/MP3.wav -> play
(此处ip 为你server 的ip, 如 rtsp://192.168.1.1/MP3.mp3)
另: 安装 ffmpeg 后会有个ffserver, 此server 可以配置 http 流媒体. 读者可以自己研究, 有问题可以留言跟我一起探讨.