windows下 Nginx+FFmpeg实现rtsp流转hls流,在WEB通过H5 video实现视频播放

1.准备好相关软件,Nginx、FFmpeg、vlc以及前台在web中集成时用的video.js库,可以到

https://download.csdn.net/download/jinxiumeihappy/12327803 中去下载

2.将下载后的ffmpeg和nginx这两个文件夹直接拷贝,放置在想要放置的地方,最好不要放置在C盘,(作为测试使用,我放置在了E盘的shipin文件夹下)

windows下 Nginx+FFmpeg实现rtsp流转hls流,在WEB通过H5 video实现视频播放_第1张图片

3.修改nginx配置,在nginx\conf中修改nginx.conf配置文件,添加或者修改成如下格式(在以上提供的下载连接中,nginx.conf已经更改好)

windows下 Nginx+FFmpeg实现rtsp流转hls流,在WEB通过H5 video实现视频播放_第2张图片

 

4.进入命令窗口,启动nginx,具体操作如下:此时打开任务管理器,可以看到nginx已经启动成功。

windows下 Nginx+FFmpeg实现rtsp流转hls流,在WEB通过H5 video实现视频播放_第3张图片

windows下 Nginx+FFmpeg实现rtsp流转hls流,在WEB通过H5 video实现视频播放_第4张图片

5.进入命令窗口,查看ffmepg是否正常,具体操作如下:windows下 Nginx+FFmpeg实现rtsp流转hls流,在WEB通过H5 video实现视频播放_第5张图片

输入ffmepg命令后,会打印出很多东西,则说明,ffmepg是是正常的,在这里可以吧nginx和ffmepg配置到系统环境变量path中,就可以直接使用明明,不用进入相应的文件夹下,但是我不习惯那么用

6.FFmpeg命令行转流

ffmpeg -i "rtsp://admin:[email protected]" -c copy -f hls -hls_time 2.0 -hls_list_size 0 -hls_wrap 15 E:/shipin/nginx/html/hls/test.m3u8 

其中: E:/shipin/nginx/html/hls/test.m3u8 是对应nginx.conf配置中的hls访问路径/hls

ffmpeg 关于hls方面的指令说明:

-hls_time n: 设置每片的长度,默认值为2。单位为秒
-hls_list_size n:设置播放列表保存的最多条目,设置为0会保存有所片信息,默认值为5
-hls_wrap n:设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0.这个选项能够避免在磁盘上存储过多的片,而且能够限制写入磁盘的最多的片的数量
-hls_start_number n:设置播放列表中sequence number的值为number,默认值为0

在这里具体的命令行转流可以用java来实现,我建立一个java项目,以下是源码的下载地址:

https://download.csdn.net/download/jinxiumeihappy/12328114

7.html通过h5的video标签进行播放,此处需要一个第三方的video的js库,具体代码如下





Video.js 7.4.1





	

其中"http://localhost:5010/hls/test.m3u8"就是ffmepg转流后,经nginx转成http协议的hls格式的视频访问地址,添加 muted  和autoplay,可以使视频自动播放,以下是上面页面的展示效果windows下 Nginx+FFmpeg实现rtsp流转hls流,在WEB通过H5 video实现视频播放_第6张图片

参考博客:

https://blog.csdn.net/wenqiangluyao/article/details/98594861

https://blog.csdn.net/wenqiangluyao/article/details/97897794

还有一些网上的博客,大家可自行百度

 

你可能感兴趣的:(JAVA)