There are many struct types in FFMPEG. The most critical struct can be divided into the following types:
A) protocol http, rtsp, rtmp, mms)
AVIOContext, URLProtocol, and URLContext mainly store the types and statuses of protocols used by video and audio. URLProtocol stores the encapsulation format used by the input video and audio. Each Protocol corresponds to a URLProtocol structure. Note: files in FFMPEG are also used as a protocol "file ")
B) decompress flv, avi, rmvb, and mp4)
AVFormatContext stores the information contained in the Encapsulation Format of audio and video, and AVInputFormat stores the Encapsulation Format used by input audio and video. Each video/audio Encapsulation Format corresponds to an AVInputFormat structure.
C) decoding h264, mpeg2, aac, mp3)
Each AVStream stores the relevant data of a video/audio stream. Each AVStream corresponds to an AVCodecContext and stores the decoded data of the video/audio stream. Each AVCodecContext corresponds to an AVCodec, the decoder that contains the video/audio. Each decoder corresponds to an AVCodec structure.
D) store data
For a video, each structure generally stores one frame. The audio may have several frames.
Data before decoding: AVPacket
Decoded data: AVFrame
The relationship between them is as follows:
650) this. width = 650; "title =" 1.jpg" src = "http://www.bkjia.com/uploads/allimg/131228/1932441J5-0.jpg" width = "656" height = "266" alt = "170436492.jpg"/>
This article is from the "leixiao00001020 audio and video technology" blog, please be sure to keep this source http://leixiaohua1020.blog.51cto.com/3974648/1303842