ffmpegand ffserver user guide
1.Installation
1)、安装git。在命令行下运行
$sudoapt-get install git-core
2)、下载最新版本的ffmpeg
$gitclone git://source.ffmpeg.org/ffmpeg.git ffmpeg
3)、进入ffmpeg目录下,运行./configure,这时可能会提示没有yasm,不能编译汇编。可在命令./configure后加上参数-disable-yasm,也可下载安装yasm后运行./configure
$sudoapt-get install yasm
$./configure
4)、运行./configure后会生成config.h文件,查看宏CONFIG_FFPLAY,如果是0表示不能编译出ffplay,一般是因为缺少SDL库,如下命令可安装SDL库
$sudoapt-get install libsdl1.2-dev
$sudoyum install SDL-devel #for centos
5)、执行make命令;默认会将编译好的文件放到usr/local/bin下,如果想改变安装地址,可以在执行configure的时候添加参数--prefix=PREFIX来指定目录
6)、如果没报错,执行makeinstall
7)、可以尝试使用ffplay播放视频。命令:ffplay videopath
2.ffserver configuration
#范例一,建议不要用中文
Port8090 #绑定端口号
BindAddress0.0.0.0 #绑定ip
MaxHTTPConnections2000 #最大HTTP连接数
MaxClients1000 #最大客户端连接数
MaxBandwidth1000 #最大带宽
CustomLog- #日志文件,“-”为直接打印
<Feedfeed1.ffm> #Feed:每一个输入(摄像头)建立一个Feed
File/tmp/feed1.ffm #Feed缓存文件
FileMaxSize3M #缓存文件最大值
ACLallow 127.0.0.1
</Feed>
<Streamtest.ts> #Stream:每一个广播(转换后的视频流)的转码设置项目
Formatmpegts #视频流格式
Feedfeed1.ffm #视频流的种子来源
VideoFrameRate25 #视频帧频
VideoBitRate512 #视频比特率
VideoSize1600x1200 #视频帧大小
</Stream>
#example2
Port8090
BindAddress0.0.0.0
MaxHTTPConnections2000
MaxClients1000
MaxBandwidth1000
CustomLog-
<Feedfeed1.ffm>
File/tmp/feed1.ffm
FileMaxSize3M
ACLallow 127.0.0.1
</Feed>
<Streamtest.ts>
Formatmpegts
Feedfeed1.ffm
VideoFrameRate25
VideoBitRate512
VideoSize480x272
</Stream>
#example3
Port 6680
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 100000
CustomLog -
<Feed feed0.ffm>
File /tmp/feed0.ffm
FileMaxSize 2M
ACL allow 10.113.80.1 10.113.80.253
</Feed>
<Stream test0.ts>
Feed feed0.ffm
NoAudio
</Stream>
3.Run ffserver
1)、运行ffserver
$ffserver-f ./ffserver.conf
4.Run ffmpeg
1)、运行ffmpeg
$ffmpeg-an -i rtsp://Admin:1234@192.168.11.151/h264http://127.0.0.1:8090/feed1.ffm
$ffmpeg -rtsp_transport tcp -override_ffserver -i rtsp://192.168.11.101/h264 -an -c:v libx264 -b:v 500k -minrate 480 -maxrate 520 -r 15 -s 640x480 -qmin 10 -qmax 51 -qdiff 4 -g 15 http://161.64.72.2:6680/feed1.ffm
5.Run ffplay
1)、运行ffplay
$ffplayhttp://127.0.0.1:8090/test.ts