| With the popularization of smart devices and the rapid development of mobile In-ternet,especially the universal access of 4G in China,people really need make video calls and watch online videos with smart devices,so the number of video transcod-ing tasks is increasing.The user need to wait for a long time when a video will be transcoded with a single server.Therefore,the major video platforms have succes-sively developed their own distributed video transcoding systems.This thesis designs and implements a distributed video transcoding system based on FFmpeg and WeChat self-developed components to support the video releasing service of WeChat official accounts platform.The distributed video based on FFmpeg and WeChat self-developed components provides video transcoding function and auxiliary functions such as video uploading,storing and distributing,which can support the complete process of video releasing.User can upload a video to the system and then provide the appropriate transcoding parameters to transcode the video.When the system transcodes the video,the video file is first divided into small pieces,and then the video pieces are distributed to mul-tiple servers for transcoding at the same time.Finally,the transcoded video pieces are merged into a complete video.After the video transcoding is successful,it can be dis-tributed to the user,and the system will distribute the transcoded video file to the CDN.When the user need to play the video,the transcoded video file can be obtained from the CDN.This thesis describes the distributed video transcoding system based on FFmpeg and WeChat self-developed components from three aspects of requirements analysis,design and implementation.First of all,this thesis analyzes the system requirements,uses use case diagrams and use case analysis to describe system use cases,and analyzes the non-functional requirements of the system.Secondly,according to the WeChat back-end architecture,the thesis designs the overall architecture of the distributed video transcoding system,and divides the various modules of the system,including user interface module,asynchronous task processing module,task scheduling module and video processing module.This thesis designs the modules of the system in detail,and describes the overall architecture of each module using the package diagram and class diagram.Finally,this thesis implements the modules of the system and tests the system. |