基于ffmpeg的流媒体服务器
2016-09
睿丰德信息科技有限公司
OS:ubuntu 12.04
ffmpeg:N-47141-g4063bb2
x264:0.133.2334 a3ac64b
目标:
使用ffserver建立流媒体服务器
使用ffmpeg对本地文件流化(x264编码器)
使用ffplay播放
目录 [hide]
ffserver.conf配置
1Port 8090 #访问端口2RTSPPort 554 #rtsp端口3BindAddress 0.0.0.0 #服务器地址绑定4MaxHTTPConnections 2000 #允许的最大连接数5MaxClients 1000 #最大的客户数6MaxBandwidth 100007CustomLog -89<Feed feed1.ffm>10File /tmp/feed1.ffm11FileMaxSize 1G12ACL allow 127.0.0.1 #只允许本地连接13</Feed>1415################ asf ################1617<Stream test.asf>18Feed feed1.ffm19Format asf #流媒体格式20VideoCodec libx264 #编码格式21VideoFrameRate 25 #桢率22VideoSize 1024x768 #播放大小23VideoBitRate 2M #码率24VideoBufferSize 1000000025VideoGopSize 2426StartSendOnKey27Preroll 528#使用x264编码时必须有下面的4个参数29VideoQMin 330VideoQMax 3131AVOptionVideo flags +global_header32AVOptionAudio flags +global_header33NOAudio34</Stream>3536################ flv ################3738<Stream test.flv>3940Feed feed1.ffm41Format flv 4243NoAudio44#AudioBitRate 32 45#AudioChannels 246#AudioSampleRate 4410047#AVOptionAudio flags +global_header48#AudioCodec libmp3lame 4950#NoVideo51VideoBitRate 1024 52VideoFrameRate 40 53VideoSize 1280x720 54VideoBufferSize 100000055VideoCodec libx264 5657VideoQMin 3 58VideoQMax 31 5960VideoBitRateTolerance 100 61VideoGopSize 12 62StartSendOnKey6364AVOptionVideo qmin 365AVOptionVideo qmax 3166#AVOptionVideo quality good67#AVOptionVideo cpu-used 068AVOptionVideo flags +global_header69#AVOptionVideo keyint_min 2570#AVOptionVideo qcomp 0.671AVOptionVideo qdiff 472#AVOptionVideo me_range 1673#Preroll 1574</Stream>7576################ rtsp ################7778<Stream live.h264>79Format rtp80Feed feed1.ffm81VideoCodec libx26482#VideoFrameRate 783VideoBitRate 30084#VideoSize 480x27285VideoSize 352x28886#AVPresetVideo default87AVPresetVideo superfast88AVOptionVideo flags +global_header8990PixelFormat yuv420p91AVOptionVideo me_range 492AVOptionVideo qdiff 493AVOptionVideo qmin 294AVOptionVideo qmax 519596#MulticastAddress 224.124.0.197#MulticastPort 500098#MulticastTTL 199100NoAudio101#AudioCodec libfaac102#AudioBitRate 32103#AudioChannels 2104#AudioSampleRate 22050105#AVOptionAudio flags +global_header106</Stream>107108################ html ################109110<Stream stat.html>111Format status112# Only allow local people to get the status113ACL allow localhost114ACL allow 192.168.0.0 192.168.255.255115#FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico116</Stream>117118# Redirect index.html to the appropriate site119<Redirect index.html>120URL http://www.ffmpeg.org/121</Redirect>启动ffserver服务器
1ffserver -d -f ./ffserver.conf使用ffmpeg对本地文件流化
1./ffmpeg -i ./1.mov -vcodec libx264 -qmin 3 -qmax 31 -qdiff 4 -me_range 16 -keyint_min 25 -qcomp 0.6 -b 9000K http://localhost:8090/feed1.ffm捕捉本地摄像头数据
1./ffmpeg -f video4linux2 -i /dev/video0 http://localhost:8090/feed1.ffm 为流媒体增加声音
在ffmserver.conf中打开声音:
1#NoAudio2AudioBitRate 128kb 3AudioChannels 2 4AudioSampleRate 44100 5AVOptionAudio flags +global_header在输入中加入声音捕获:
1ffmpeg -f v4l2 -i /dev/video0 -f alsa -i hw:0,0 http://localhost:8090/feed_tv.ffm使用ffplay播放
1./ffplay mmsh://localhost:8090/test.asf2./ffplay http://localhost:8090/test.flv3./ffplay rtsp://localhost:554/live.h264git: https://github.com/lnmcc/multi_stream_server.git
RFID管理系统集成商 RFID中间件 条码系统中间层 物联网软件集成