我哥他们学校需要搭建一个在线教学视频播放系统,在局域网内能够支持 100 个人同时观看并且不卡,每个视频大小大约 2G 左右。我试了一下 nginx + RTMP,可是无法实现跳转播放功能,而且这样效果不太好,一个人播放就有点卡了,何况一百多个人。请问一下完成这样一套能够支持 100 多人同时在线观看不卡的系统,需要用什么样的技术?一个人能够搞定吗?
1
gzlock 2018-12-31 01:46:21 +08:00 via Android 3
有视频文件就是点播的需求了
先用 ffmpeg 对视频进行 hls 化处理(生成 m3u8 文件和 ts 切片),Nginx 提供普通的文件加载能力就可以了 这样的话,应该可以支撑得住 不需要在网页观看视频的话,各种平台都有播放器软件支持直接播放 m3u8 文件 例如 win 的 potplayer,Mac 的 iina,Android 的 mxplayer 要在网页看就做个静态 html 集成支持 hls 的 js 播放器组件就完事了,索引 m3u8 文件在 HTML 文件里列出来做成按钮,点击就让 js 播放器播放 m3u8 文件,完事 不知道你的“跳转播放”是不是控制视频进度? hls 是支持的 |
2
MonoLogueChi 2018-12-31 02:15:37 +08:00 via Android
你说的在线视频播放,不是指直播吧,不是直播的话,不需要用什么流媒体技术啊。
或者你的要求是需要从主机推流到客户机? |
3
Mac 2018-12-31 02:17:05 +08:00 via Android
共享无读写权限的目录不行么?
|
4
orangeade 2018-12-31 02:25:37 +08:00 via Android
DLNA server 能满足需求么?局域网少量设备之间串流体验还是很爽的,也有控制进度播放状态的功能,不知道百人规模怎么样
|
5
akira 2018-12-31 03:10:10 +08:00
先确认你放视频的服务器是不是千兆接入
|
6
mason961125 2018-12-31 03:15:21 +08:00
补充一下码率?码率高的话,如果不是 Gbps 级的网络,100 人怕是撑不住。
|
7
ladypxy 2018-12-31 04:38:13 +08:00 via iPhone
@orangeade DLNA 非常占用带宽
楼主你需要的是组播服务,然后搭配 windows 的流服务,几百上千个连接都不会有问题 |
9
EricWei42 OP @MonoLogueChi 就是 ftp 上传视频到服务器,然后客户端能够打开在线播放,并且能够支持 100 多人在线观看。
|
10
MonoLogueChi 2018-12-31 12:48:53 +08:00 via Android
@EricWei42 那样也不需要推流什么的啊,静态资源服务器加网页就可以搞定啦
|