Online learning platforms usually present content through audio and video, so it is inevitable to build on-demand + live broadcast services.
More than ten years ago, WEB applications had not yet risen, and everyone was still using CS architecture such as "Meiping On Demand" to build an on-demand platform. Now it is the world of browsers, using open source software to build a BS architecture for on-demand + live broadcast platforms Much favored.
Cloud platforms such as Alibaba and Tencent have very mature on-demand + live broadcast solutions. How to quickly build related services in a LAN environment?
On-demand platform
(1) Simple application
If you don't need multi-bit rate playback and video encryption, you can directly upload the video in mp4 (H264) format (most browsers can play it directly), and you can store the video well.
(2) Advanced application
If you need multi-bit rate playback, video encryption, and video watermarking, this can be done using an open source ffmpeg
library . The server runs stably and efficiently, and can be well automated.
Live platform
Live streaming needs to push and pull streams. This is still very technical, and there are certain technical thresholds. It is unrealistic to implement it yourself.
(1) Use the nginx
+ rtmp
streaming module, but it is not very stable, after all, nginx
I am not a professional streaming server.
(2) Utilize professional open source live broadcast projects livego
such as , and go语言
use the inherent advantages of network applications, and the stability needs to be tested.
system integration
After research and unremitting efforts, I made a lot of transplantation and modification (storage, on-demand, live broadcast) of the open source Kuguayun Class Tencent Cloud Edition to replace it with the local one, and removed the payment and other functions that are not used in the LAN.
Let's start the installation. Although it is a LAN application, the installation needs to be connected to the external network (there will be a local installation package later when there is time), and prepare a cup of coffee first (it will be a bit slow if the network is not good)
friendly reminder
Please use a clean system to perform the installation. If you have installed it before nginx
, apache
it will cause a conflict on port 80
configuration requirements
- Operating system: Ubuntu | Debain | Centos
- System memory: 2G+
Apply for authorization
Application address: Click to apply
installation guide
Official document: click to visit
(1) Download the installation script
cd ~ && curl https://download.koogua.com/lan-edu/install.sh -o install.sh
(2) Modify the configuration according to the actual situation
nano install.sh
(3) Execute the installation, the speed depends on the network, when there is an error or timeout, please try again, please try again, please try again
bash install.sh
(4) After the installation is complete, please delete the installation script
rm install.sh