The technical principle used in a live system set up

In the broadcast system development platform, will be applied to a lot of technical difficulties, such as video / audio processing, image processing, video / audio compression, CDN distribution, etc., each technology is enough to learn a few years. Today Magic Technology Extension told you about the development of a video broadcast system, the entire process as applied to the technical principles about what.
First, let's look at a complete live APP principle is: the video recording of the anchor, pushed to the server, then the server is distributed to viewers.
Process: Acquisition -> Processing -> coding and packaging -> Server Push flow -> Flow Distribution Server -> Player Streaming

  1. Video capture, audio
    capture the entire video is the first link in a plug flow process, from which the original video data acquisition system acquisition device, output it to the next link. Video capture means audio capture and image acquisition: audio data not only in conjunction with images into video data can also be collected play in an audio manner, pure audio capture playback many mature application scenarios, such as Internet radio and voice radio and the like from a very important role. Combined picture image capture is an image capture result into a set of animation played continuously, i.e. constituting content naked eye videos. For the collection drive, PC end needs of various types of camera, Andriod end mobile phone models do a lot of adaptation work, ios end is relatively simple.
    2. Video processing (such as beauty, watermarks)
    to get the original audio or video data after the completion of the acquisition, in order to enhance the effect of some scene or add some extra effect, we generally will be treated before the encoding compression, processing chain carve audio and video processing, audio processing comprising mixing concrete, noise and other sound effects processing, video processing comprises beauty, watermarks, and various custom filters and other processing. Beauty beautification function is standard live online systems development, and dynamic stickers as the representative of AI technology is also widely used in audio and video broadcast system programs.
    3. codec package
    coded information is converted from one format to another form or in the form of process is also referred to as code encoding computer programming language referred to. Decoding, an inverse process of encoding, audio encoding video data associated hardware or software to decode the received, to obtain an image or sound can be displayed directly. Codec like picking and loading logistics system over the process that directly affect the video image text transmission speed in the network. Package, similar to the media container, the encoder generates a multimedia content (video, audio, subtitles, chapter information, etc.) are mixed together in a standard package. Package so that different synchronized playback of multimedia content easier, but also provides an index for the multimedia content, that is to say if the package does not exist, then a movie you can see the end from the beginning, can not drag the progress bar, but if you do not own In addition to manually load audio no sound.
    4. Push server flows
    Plug flow, that is, the collected audio and video data transmitted to the streaming media server through the streaming protocol. Plug-flow impact is very large for this live link, network instability if plug flow, whatever we do to optimize the audience's experience will be very bad, so our first step is to troubleshoot the problem. There are three main push protocol:
    (1) RTSP (Real Time Streaming Protocol): Real-Time Streaming Protocol, is used to control the audio or video multimedia streaming protocol by Real Networks and Netscape co-sponsored;
    (2) RTMP (Real Time messaging protocol): Real Time messaging protocol, is between Adobe's Flash player and server audio, video and data transmission development of open protocols;
    (3) HLS (HTTP Live Streaming): Apple (Apple Inc.) HTTP-based streaming media transmission protocol.
    RTMP is the mainstream media streaming protocol, widely used in the field of live, we can say the market most of the live products are using this protocol, as well as some use the HLS protocol.
    5. stream distribution server
    role streaming media server is responsible for publishing and broadcast live streams distribution function.
    Common server
    SRS: people develop a good open source stream media server system
    BMS: is a streaming media server system, but not open source, is the commercial version of the SRS, SRS features more than
    nginx: free open-source Web server, used to configure streaming media server
    self-built large stream media server limitations, costs are relatively high, it is recommended to CDN service providers.
  2. Streaming player
    is to achieve a live program presented on the terminal. If the transport protocol used is RTMP, RTMP streaming protocol support as long as the player can be used, such as: computer terminal: VLC etc; mobile terminal: Vitamio and ijkplayer and so on.
    Hope that through technical principles set forth above live in helping us better understand how to build a live system, but also can help you optimize your live system solutions.

Guess you like

Origin blog.51cto.com/14528075/2453219