Partage de technologie

【FFmpeg】fonction avcodec_send_packet

2024-07-08

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

Enregistrements liés à FFmpeg :

Exemple de projet :
[FFmpeg] Appelez la bibliothèque ffmpeg pour implémenter l'édition logicielle 264
[FFmpeg] Appelez la bibliothèque ffmpeg pour implémenter le décodage logiciel 264
[FFmpeg] Appelez la bibliothèque ffmpeg pour pousser et extraire les flux RTMP
[FFmpeg] Appelez la bibliothèque ffmpeg pour effectuer le rendu après le décodage SDL2

L'analyse des processus:
[FFmpeg] Une analyse simple des principales fonctions sur le lien d'encodage
[FFmpeg] Analyse simple des principales fonctions sur le lien de décodage

Analyse structurelle :
【FFmpeg】Structure AVCodec
【FFmpeg】Structure AVCodecContext
【FFmpeg】Structure AVStream
【FFmpeg】Structure AVFormatContext
【FFmpeg】Structure AVIOContext
【FFmpeg】Structure AVPacket

Analyse fonctionnelle :
【Général】
【FFmpeg】avcodec_find_encoder et avcodec_find_decoder
[FFmpeg] Initialisation et libération des structures clés (AVFormatContext, AVIOContext, etc.)
【FFmpeg】fonction avcodec_open2

【Diffusion poussée】
【FFmpeg】fonction avformat_open_input
【FFmpeg】fonction avformat_find_stream_info
【FFmpeg】fonction avformat_alloc_output_context2
【FFmpeg】fonction avio_open2
【FFmpeg】fonction avformat_write_header
【FFmpeg】fonction av_write_frame

【codage】
【FFmpeg】fonction avcodec_send_frame

1.avcodec_send_packet

La fonction principale de la fonction est d'envoyer un paquet compressé au décodeur pour décodage. Elle est définie dans 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-