1. How to upload
When a video is captured by the mobile phone and wants to be uploaded, if the mobile phone is in the poor network environment or the peak of network use, the upload speed will be much slower. At this time, we need to optimize the network link based on the dynamic acceleration of CDN. At the same time, we need to optimize the network link based on the dynamic acceleration of CDN to improve the availability. We must do a good job of fragment upload to reduce the cost and failure probability of retransmission failure.
2. How to store
When the data reaches a certain scale, the storage capacity will face certain challenges. At present, the capacity of most video software has reached the scale of Pb, which requires the memory itself to have strong linear expansion ability and sufficient resource redundancy. Traditional MySQL is difficult to support this scenario. It is usually processed by self built server or cloud server with the help of dedicated distributed object processing.
3. Playing problems
Video files also take up a lot of memory, so they are easily affected by network speed. To avoid getting into trouble, there are a few small details that need to be addressed. For example, for 60 second, 300 second video, we need to consider the file size, usually using HTTP range or HLS based on-demand playback. HTTP scope can solve this problem simply and roughly. HLS based on-demand playback mode will be more friendly, especially for some long videos over 5 minutes, but it needs separate transcoding support.
4. Technical difficulties in development
Short video capture and import: svideo, recordvideo, videorecorder, minivideo orecorder, etc;
For example, the VCR module which encapsulates the related functions of the original VCR can be opened through the open interface of the module framework. The video quality can be configured through the corresponding parameters, and the path, location, size and other information can be saved. Developers can customize the video interface by opening the frame overlay of the user-defined interface on this module.