ffmpeg ffserver

捣鼓了一下午ffmpeg sever,因为少装了mp3lame一直试不成功。

这里先把步骤记录下:

1,安装yasm:

debian下: apt-get install yasm

mac下: brew install yasm

2,安装mp3lame

打开网页 http://sourceforge.net/projects/lame/files/lame/3.98.4/

下载3.98.4版本的lame

解压,然后 ./configure & make & make install

3,下载ffmpeg

我用的是0.6.3的版本:

wget http://www.ffmpeg.org/releases/ffmpeg-0.6.3.tar.gz

解压,config(记得enable lame)

./configure --enable-libmp3lame

make & make install

这样就安装完成了,试验视频直播:

1,打开doc/ffserver.conf,注释掉<Stream test.mpg>的secion(因为后面传视频时需要和这个mpg的配置参数一致,而下面我测试用的是swf,所以这段参数就先不管了,如果不注释,下面给feed加入视频时,如果和mpg的这段配置不同就会报错)

2,将doc/ffserver.conf的<Stream test.swf>的注释去掉,这里设置为:

<Stream test.swf>

Feed feed1.ffm

Format swf

VideoFrameRate 24

VideoSize 1024×768

</Stream>

Video的frame和size可以视feed源视频属性而定

3,启动ffserver:

ffserver -f doc/ffserver.conf

4,使用ffmpeg给server产生源feed

ffmpeg -i 看你妹之《网瘾战争》下载版.mp4 http://localhost:8090/feed1.ffm

5,打开浏览器 http://localhost:8090/test.swf,就可以看到直播了。

这里的原理是,ffserver的配置有两个口,一个口为feed,提供视频的输入接口(conf文件中的<Feed feed1.ffm>那段),另一个口为输出口,即上面配置的test.swf,由上面的配置可以看到Feed feed1.ffm,是以feed1.ffm为视频源,然后以swf的格式输出。上面的第4步即为将 “看你妹.mp4″输出给http://localhost:8090/feed1.ffm以产生视频源,用浏览器打开看swf,即可以看到输出。

– EOF –

5 comments:

  1. ninja

    你好,这是你自己做额嘛?
    我根据你的提示也去下了个0.63的ffmpeg但是某些so找不到啊

    hunch@ubuntu:~/src/ffmpeg-0.6.3$ ./ffserver -v 9 -loglevel 99 doc/ffserver.conf ./ffserver: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory
    这跟我之前用最新的ffmpeg做的一样,这个东西找到之后还会有更多的so找不到,最后会提示某个东西在so里面没有申明然后就不对了。

  2. Vonbo *

    你这情况应该是ffmpeg没装好吧,是不是装的时候加了config的路径?如果把so的lib文件装到其它目录里去了,那需要知道那个目录路径,然后添加到ldconfig里

  3. ninja

    我感觉ffmpeg是装好的,我能够捕获摄像头数据 生成test。avi,但是ffserver跑一下就直接退出了。。
    如下:

    hunch@ubuntu:~/src/ffmpeg$ ffserver -f doc/ffserver.conf
    ffserver version N-39738-g8274b21 Copyright (c) 2000-2012 the FFmpeg developers
    built on Apr 12 2012 23:53:44 with gcc 4.6.1
    configuration:
    libavutil 51. 46.100 / 51. 46.100
    libavcodec 54. 14.101 / 54. 14.101
    libavformat 54. 3.100 / 54. 3.100
    libavdevice 53. 4.100 / 53. 4.100
    libavfilter 2. 67.101 / 2. 67.101
    libswscale 2. 1.100 / 2. 1.100
    libswresample 0. 11.100 / 0. 11.100
    hunch@ubuntu:~/src/ffmpeg$

    你的ffserver会自己关闭嘛?

  4. ninja

    我又弄了好几天,ffserver。conf写错就辉出现我上面自动关闭的情况
    然后我试了你的配置文件,结果发现如果不加NoAudio的话ffmpeg就没法给feed送信息,加了之后能跑,但是跑起来是一帧一帧额,请问你测试的时候是这样的嘛?

Leave a Reply

Your email address will not be published. Required fields are marked *