系统版本:Centos7
注:要按照步骤来部署
FFserver是一个用于音频和视频流媒体服务器
------------------(配置开始)----------------------
vi docker-compose.yml
填写如下配置文件,esc :wq 保存退出
ffserver:
image: vimagick/ffserver
ports:
- "554:554"
- "8090:8090"
volumes:
- ./ffserver.conf:/etc/ffserver.conf
- ./data:/data
restart: always
vi ffserver.conf
填写如下配置内容
HTTPPort 8090
HTTPBindAddress 0.0.0.0
RTSPPort 554
RTSPBindAddress 0.0.0.0
MaxClients 100
MaxBandwidth 100000
CustomLog -
File /data/feed.ffm
Format rtp
Feed feed.ffm
VideoCodec libx264
VideoFrameRate 24
VideoBitRate 100
VideoSize 640x480
#AVPresetVideo default
#AVPresetVideo baseline
AVOptionVideo flags +global_header
NoAudio
#AudioCodec libmp3lame
#AudioBitRate 32
#AudioChannels 2
#AudioSampleRate 22050
#AVOptionAudio flags +global_header
Format status
Format rtp
File "/data/sss.mp4"
tree
.
├── data
│ └── video.mp4
├── docker-compose.yml
└── ffserver.conf
需要推流的视频放在data目录下
docker-compose up -d
rtsp://ip:554/test-sss.mp4
test-sss.mp4 是配置stream所起的名称
docker-compose exec ffserver ffmpeg -re -i video.mp4 http://localhost:8090/feed.ffm
docker-compose exec ffserver ffmpeg -re -stream_loop -1 -i video.mp4 http://localhost:8090/feed.ffm
vlc下输入:ip是服务器ip地址——如果不知道ipconfig查询
http://ip:8090/video.rtsp
其他方式:
ffplay:
rtsp://easypi.info/video.mp4
firefox:
http://easypi.info:8090/status.html
------------------(配置结束)----------------------
ffserver.conf配置文件的参数意思,仅供参考:
HTTPPort 8090 #绑定端口号
BindAddress 0.0.0.0 #绑定ip
MaxHTTPConnections 2000 #最大HTTP连接数
MaxClients 1000 #最大客户端连接数
MaxBandwidth 1000 #最大带宽
CustomLog - #日志文件,“-”为直接打印
NoDaemon #默认全局参数
#Feed:每一个输入建立一个Feed
File data/feed1.ffm #Feed缓存文件
FileMaxSize 10M #缓存文件最大值
ACL allow 127.0.0.1 #允许写入Feed的ip
#传递实时流
#Stream:每一个广播(转换后的视频流)的转码设置项目
Format rtp #视频流格式
Feed feed1.ffm #视频流的种子来源
VideoFrameRate 35 #视频帧频
VideoBitRate 128 #视频比特率
VideoSize 160x80 #视频帧大小
AVOptionVideo flags +global_header
AudioBitRate 24 #音频比特率
AudioChannels 1 #音频声道
AudioSampleRate 44100
AVOptionAudio flags +global_header
#检查服务器状态,ffserver启动后,在web浏览器中输入地址:http://localhost:8090/stat.html,若能看到 ffserver Status 说明成功启动,通过内容可以看到在ffserver.conf配置的流信息等内容
Format status
#已经存在的文件而非实时流
File “myfile/testvideo/test.flv”
Format flv
#加入一个RTSP应用
File “myfile/testvideo/test.mpg”
Format rtp
参考:http://ffmpeg.org/ffserver.html#Stream-section
https://hub.docker.com/r/vimagick/ffserver/