Berbagi teknologi

【FFmpeg】fungsi avcodec_send_packet

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Catatan terkait FFmpeg:

Contoh proyek:
[FFmpeg] Panggil perpustakaan ffmpeg untuk mengimplementasikan 264 soft editing
[FFmpeg] Panggil perpustakaan ffmpeg untuk mengimplementasikan 264 soft decoding
[FFmpeg] Panggil perpustakaan ffmpeg untuk mendorong dan menarik aliran RTMP
[FFmpeg] Panggil perpustakaan ffmpeg untuk merender setelah decoding SDL2

Analisis proses:
[FFmpeg] Analisis sederhana dari fungsi utama pada tautan pengkodean
[FFmpeg] Analisis sederhana dari fungsi utama pada tautan decoding

Analisis struktural:
【FFmpeg】Struktur AVCodec
【FFmpeg】Struktur konteks AVCodec
【FFmpeg】Struktur AVStream
【FFmpeg】Struktur Konteks AVFormat
【FFmpeg】Struktur konteks AVIO
【FFmpeg】Struktur AVPacket

Analisis fungsi:
【Umum】
【FFmpeg】avcodec_find_encoder dan avcodec_find_decoder
[FFmpeg] Inisialisasi dan pelepasan struktur utama (AVFormatContext, AVIOContext, dll.)
【FFmpeg】fungsi avcodec_open2

【Dorong streaming】
【FFmpeg】fungsi avformat_open_input
【FFmpeg】fungsi avformat_find_stream_info
【FFmpeg】fungsi avformat_alloc_output_context2
【FFmpeg】 fungsi avio_open2
【FFmpeg】fungsi avformat_write_header
【FFmpeg】fungsi av_write_frame

【pengkodean】
【FFmpeg】fungsi avcodec_send_frame

1.avcodec_kirim_paket

Fungsi utama dari fungsi ini adalah mengirim paket terkompresi ke decoder untuk didekode. Ini didefinisikan di libavcodecdecode.c

/**
 * Supply raw packet data as input to a decoder.
 *
 * Internally, this call will copy relevant AVCodecContext fields, which can
 * influence decoding per-packet, and apply them when the packet is actually
 * decoded. (For example AVCodecContext.skip_frame, which might direct the
 * decoder to drop the frame contained by the packet sent with this function.)
 *
 * @warning The input buffer, avpkt-