多语言展示
当前在线:180今日阅读:126今日分享:42

实时流媒体Feng server 安装

此文章给那些需要搭建Feng server 做测试或者搭建自己的流媒体进行实时采集.
工具/原料
1

电脑或server

2

Ubuntu 12.04.3  X64 (此文章是在此环境下编译成功的, 用Ubuntu 13 可能会遇到更多的问题)

方法/步骤
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)xsltprocdocbook-xsl-nsyasm   (my yasm = 1.1.0.2352 )

2

安装AAC 的编解码:a. install faac-1.281. aclocal---->生成 aclocal.m42. autoconf---> 生成 configure5. automake --add-missing3. autoheader ---> 生成 config.h.in4. libtoolize --automake --copy --debug --force -----> 生成 ltmain.sh5. automake --add-missing6. automake ------> 生成 makefile.in7. ./configure --prefix=/usr8. make9. sudo make installNote: 如果出现 ".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 ffmpeg2. 使用vim打开进行转换,命令模式下输入:set ff=unix3. > sudo apt-get install yasm4. > 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. make6. sudo make install 7. ffmpeg -v

4

安装 libav >= 0.7:1. mkdir libav2. cd libav3. tar zxvf ../libav-0.8.9.tar.gz4. ./configure --prefix=/usr --enable-libfaac --enable-gpl --enable-nonfree5. make6. sudo make install7. ffmpeg -version

5

安装 libev >= 3.48:1. mkdir libev2. cd libev3. tar zxvf ../libev-4.15.tar.gz4. ./configure --prefix=/usr5. make6. sudo make install7. ls /usr/lib/libev

6

安装 json-c:1. mkdir json-c2. cd json-c 3. tar zxvf ../json-c-0.11.tar.gz 4. ./configure --prefix=/usr --disable-static5. make6. sudo make install7. ls /usr/lib/libjson

7

安装 flex , GNU bison:sudo apt-get install flexsudo apt-get install bisonsudo 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.confIf 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 上的码流.打开VLCmedia -> Open Network Stream -> Network -> rtsp:///MP3.wav -> play(此处ip 为你server 的ip,  如  rtsp://192.168.1.1/MP3.mp3)另: 安装 ffmpeg 后会有个ffserver, 此server 可以配置 http 流媒体. 读者可以自己研究, 有问题可以留言跟我一起探讨.

推荐信息