小型直播系統系列-樂聊TV的開發(一)
如今,直播洋溢在我們生活當中,隨處可見的戶外主播,如火如荼的遊戲主播,耕耘播種的在線教育等等,如果我們想打造一個小型在線直播系統,在帶寬支持的前提下,支持個幾百人是沒有問題的,下面開始講解工作,主要包括以下要點,本教程一共分爲6篇:
- nginx-rtmp module的安裝和使用
- obs進行推流
- websocket彈幕,推送
- 解決前端播放m3u8格式的流視頻
- vue-video-player + videojs-contrib-hls的使用
- spring-boot便捷開發整合
- jsoup爬蟲的使用
- 基於websocket,發送圖片文字小視頻
課程講解
nginx在印象中,一般作爲靜態文件服務器,它具有tomcat無法比擬的處理靜態資源的能力,所以在動靜分離被廣泛運行,本身還可以作爲反向代理和負載均衡服務器,但是今天我們使用的是它的拓展模塊rtmp模塊拓展,在隨後的第一天課程中我們將進行講解,現在先有一個概念。
我們先看一下運行效果
直播間和彈幕間
彈幕間發送圖片和小視頻
項目分爲直播間和聊天室,聊天室用websocket全雙工通信,保持長連接,直播間採用rtmp,兩者都要保持較高的即時性
項目結構層次如下圖:
下面幾節進行詳細的講解。