Обмен технологиями

【FFmpeg】функция avcodec_send_packet

2024-07-08

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

Записи, связанные с FFmpeg:

Пример проекта:
[FFmpeg] Вызов библиотеки ffmpeg для реализации программного редактирования 264.
[FFmpeg] Вызов библиотеки ffmpeg для реализации мягкого декодирования 264.
[FFmpeg] Вызов библиотеки ffmpeg для отправки и получения потоков RTMP.
[FFmpeg] Вызов библиотеки ffmpeg для рендеринга после декодирования SDL2.

Анализ процесса:
[FFmpeg]Простой разбор основных функций по ссылке кодирования
[FFmpeg]Простой разбор основных функций по ссылке декодирования

Структурный анализ:
【FFmpeg】Структура AVCodec
【FFmpeg】Структура AVCodecContext
【FFmpeg】Структура AVStream
【FFmpeg】Структура AVFormatContext
【FFmpeg】Структура AVIOContext
【FFmpeg】Структура AVPacket

Функциональный анализ:
【Общий】
【FFmpeg】avcodec_find_encoder и avcodec_find_decoder
[FFmpeg] Инициализация и освобождение ключевых структур (AVFormatContext, AVIOContext и т.д.)
【FFmpeg】функция avcodec_open2

【Push-стриминг】
【FFmpeg】функция avformat_open_input
【FFmpeg】функция avformat_find_stream_info
【FFmpeg】функция avformat_alloc_output_context2
【FFmpeg】функция avio_open2
【FFmpeg】функция avformat_write_header
【FFmpeg】функция av_write_frame

【кодирование】
【FFmpeg】функция avcodec_send_frame

1.avcodec_send_packet

Основная функция функции — отправить сжатый пакет в декодер для декодирования. Определение находится в 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-