windows下搭建ffmpeg+nginx+rtmp-module搭建实时视频环境

下载ffmpeg的Windows静态版; https://ffmpeg.zeranoe.com/builds/win64/static/

下载nginx-rtmp-windows版:https://github.com/illuspas/nginx-rtmp-win32

解压

启动nginx

启动ffmpeg,打开ff-prompt.bat

这里通过将摄像头的rtsp流转成rtmp流和hls流来实时播放

通过rtsp生成rtmp流:

ffmpeg -i "rtsp://admin:12345@192.168.1.246:554/h264/ch1/main/av_stream" -f flv -r 1 -s 1920x1080 -an "rtmp://192.168.1.205:1935/live/stream"
  • 1

访问nginx下的index.html

http://192.168.1.205:8080/index.html

通过flash插件 播放rtmp地址

rtmp://192.168.1.205:1935/live/stream

使用flash的好处就是多浏览器支持,虽然chrome,Firefox等浏览器都在去插件,但flash插件仍被保留

通过rtsp生成hls

ffmpeg  -i "rtsp://admin:12345@192.168.1.246:554/h264/ch1/main/av_stream" -vcodec libx264 -vprofile baseline -acodec aac  -ar 44100 -strict -2 -ac 1 -f flv -s 640x480 -q 10 rtmp://192.168.1.205:1935/hls/video
  • 1

使用h5 video标签可直接播放hls地址

但目前支持直接播放hls的仅是Safari浏览器

<video src = "http:192.168.1.205:8080/hls/video.m3u8"></video>
  • 1

hls存在大概60s延时

这个方案实现了实时播放摄像头的视频,但是可能由于机器性能,摄像头分辨率较高等原因,播放动态的视频总会丢包,导致不清楚

================================