提前准备好三样东西:ffmpeg,ffserver,ffserver.conf
其中ffser.conf做一下介绍:
HTTPPort 8099
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -
<Feed feed1.ffm>
File /home/liang/feed1.ffm
FileMaxSize 500M
ACL allow 127.0.0.1
</Feed>
<Stream test_100_100.flv> #Stream:每一个广播(转换后的视频流)的转码设置项目
Format flv #视频流格式
Feed feed1.ffm #视频流的种子来源
VideoFrameRate 40 #视频帧频
VideoBitRate 900 #视频比特率
VideoSize 720x576 #视频帧大小
AVOptionVideo flags +global_header
AudioBitRate 24 #音频比特率
AudioChannels 1 #音频声道
AudioSampleRate 44100
AVOptionAudio flags +global_header
</Stream>
<Stream stat.html>
Format status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>
<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>
配置文件中有三个东西需要注意,一个是端口号:HTTPPort ,这个当你访问的时候会用到。另外两个是Feed和Stream。Feed是缓存文件的名字,当误外界访问时,会将视频缓存到Feed的文件中。Stream是你要输出视频的格式,关联一个Feed。每一个Stream至少关联一个Feed。
启动服务方式:
1.先启动ffserver:ffserver -f ffserver.conf
2.启动ffmpeg:ffmpeg -i input http://localhost:8099/feed1.ffm
注意:上面的输入就不多说了,为视频输入源,输出这里,8099是配置文件中配置的端口号,可以随便改。/feed1.ffm 是你要利用那个缓存文件输出。
之后就可以在vlc上访问了,输入地址:http://localhost:8099/test_100_100.flv 注意:这里的后缀不是feed1.ffm 而是Stream关联的文件。