SpringBoot+Nginx实现视频在线点播

作者:微信小助手

发布时间:2023-10-07T17:38:40

原创声明:本人所发内容及涉及源码,均为亲手所撸,如总结内容有误,欢迎指出




唠嗑部分

视频点播方案如下:

1.播放器通过 http协议从http服务器上下载视频文件进行播放

问题:必须等到视频下载完才可以播放,不支持快进到某个时间点进行播放

2.播放器通过rtmp协议连接媒体服务器以实时流方式播放视频

使用rtmp协议需要架设媒体服务器,造价高,对于直播多采用此方案。

3.播放器使用HLS协议连接http服务器(Nginx、Apache等)实现近实时流方式播放视频

HLS协议规定:基于Http协议,视频封装格式为ts,视频的编码格式为H264,音频编码格式为MP3、AAC或者AC-3

什么是HLS?

HLS的工作方式是:将视频拆分成若干ts格式的小文件,通过m3u8格式的索引文件对这些ts小文件建立索引。一般10秒一个ts文件,播放器连接m3u8文件播放,当快进时通过m3u8即可找到对应的索引文件,并去下载对应的ts文件,从而实现快进、快退以近实时的方式播放视频。

IOS、Android设备、及各大浏览器都支持HLS协议。

今天我们使用SpringBoot+Nginx实现一下视频在线点播




言归正传

1、ffmpeg的使用

FFmpeg被许多开源项目采用,QQ影音、暴风影音、VLC等。

下载:FFmpeg  https://www.ffmpeg.org/download.html#build-windows

将安装们目录配置于环境变量之中