Compartilhamento de tecnologia

【FFmpeg】função avcodec_send_packet

2024-07-08

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

Registros relacionados ao FFmpeg:

Projeto de exemplo:
[FFmpeg] Chame a biblioteca ffmpeg para implementar a edição suave 264
[FFmpeg] Chame a biblioteca ffmpeg para implementar a decodificação suave 264
[FFmpeg] Chame a biblioteca ffmpeg para enviar e receber fluxos RTMP
[FFmpeg] Chame a biblioteca ffmpeg para renderizar após a decodificação SDL2

Análise de processo:
[FFmpeg] Uma análise simples das principais funções do link de codificação
[FFmpeg] Análise simples das principais funções do link de decodificação

Análise estrutural:
【FFmpeg】Estrutura AVCodec
【FFmpeg】Estrutura AVCodecContext
【FFmpeg】Estrutura AVStream
【FFmpeg】Estrutura AVFormatContext
【FFmpeg】Estrutura AVIOContext
【FFmpeg】Estrutura AVPacket

Análise de função:
【Em geral】
【FFmpeg】avcodec_find_encoder e avcodec_find_decoder
[FFmpeg] Inicialização e liberação de estruturas-chave (AVFormatContext, AVIOContext, etc.)
Função 【FFmpeg】avcodec_open2

【Transmissão push】
【FFmpeg】função avformat_open_input
【FFmpeg】função avformat_find_stream_info
【FFmpeg】função avformat_alloc_output_context2
【FFmpeg】função avio_open2
【FFmpeg】função avformat_write_header
【FFmpeg】função av_write_frame

【codificação】
【FFmpeg】função avcodec_send_frame

1.avcodec_enviar_pacote

A principal função da função é enviar um pacote compactado ao decodificador para decodificação. Ela é definida em 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-