AVFormatContext
AVFormatContext is a central structure in FFmpeg's libavformat that represents a media container context. It is used for both demuxing (reading) and muxing (writing) operations and encapsulates information about the container format, the I/O layer, and the streams it contains.
The context references the format in use (input or output), the I/O context (AVIOContext*) used for data
Typical lifecycle and usage: allocate a context with avformat_alloc_context. For input, call avformat_open_input to open the
Associated utilities include av_dump_format to print a summary of the container, which is helpful for debugging,
Common fields conceptually include the number of streams (nb_streams), the streams[] array, the URL, duration, and