码迷,mamicode.com
首页 > 其他好文 > 详细

【转】ffserver用法小结

时间:2015-06-29 11:29:22      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:

我们可以通过ffserver以及ffmpeg做一个简单的视频监控系统,ffserver用于视频的转发调度,ffmpeg用于转码
而对于ffserver最基本也是最重要的就是对它的ffserver.conf文件的配置,通常我们的配置分为两大类,分类的依据就是带不带缓冲文件,不带缓冲文件的比较简单,我们只需指定文件的格式以及路径信息即可,不需要配置缓冲
最简单的配置文件如下
Port 9999
RTSPPort 9990
BindAddress 0.0.0.0
MaxClients 1000
MaxBandwidth 100000
CustomLog –
#只需要指定待播放的文件的路径以及格式信息即可
<Stream test.flv>
    File "/tmp/test.flv"
    Format flv
</Stream>
 
执行分如下两步:
1. 在终端里输入ffserver –f /etc/ffserver.conf
2. 在浏览器里或者相关播放器地址(我用的是VLC)里输入 http://ipAddr:port/test.flv
其中第一步是执行/etc目录下的配置文件,不过这个目录可以按自己需要指定,配置文件名也可以按自己需要指定。
 
对于带有缓冲的,我们需要配置两项,一项是Feed一项是Stream,对于带有缓冲的,我们可以播放文件,也可以播放实时的视频,比如摄像头实时采集的视频。虽然播放的视频源不一样,但是配置文件是一样的,差别在于执行ffmpeg命令时的参数配置不一样。
如下为一个简单的配置文件:
Port 9999
RTSPPort 9990
BindAddress 0.0.0.0
MaxClients 1000
MaxBandwidth 100000
CustomLog -
 
 
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 40K
Launch ./ffmpeg -v 0 -y -f pgmyuv -i tests/vsynth1/%02d.pgm
ACL allow localhost
</Feed>
 
<Stream test.flv>
Feed feed1.ffm
Format flv
#一下指定输出流的编码信息
BitExact
DctFastint
IdctSimple
VideoFrameRate 2
VideoSize 320x240
VideoBitRate 64
VideoGopSize 10
NoAudio
 
PreRoll 10
StartSendOnKey
MaxTime 100
 
</Stream>
执行分如下三步:
1. 在终端里输入ffserver –f /etc/ffserver.conf
2. a.若是文件方式则输入ffmpeg –I filePath/filename http://ipAddr:port/test.flv
b.若是实时视频则输入ffmpeg -f alsa -ab 32 -i pulse -f video4linux2 -s qcif -i /dev/video0 http://<server name or ip>:8090/feed1.ffm
其中2.b中注意/dev/video0 以及video4linux2,这两个很关键
 
带有缓冲的数据流图如下
技术分享

【转】ffserver用法小结

标签:

原文地址:http://www.cnblogs.com/cslunatic/p/4606978.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!