Изменение размера FFMPEG при кодировании с помощью hwaccel (C )

#c #ffmpe&

#c #ffmpe&

Вопрос:

Я кодирую видео, которое генерирую из текстуры OpenGL, и отправляю его в поток RTP (с помощью h264_nvenc), и это работает довольно хорошо, за исключением одной вещи: я хотел бы изменить размер потока без воссоздания всего конвейера кодирования, возможно ли это вообще?

До сих пор я пытался воссоздать контекст нового кодека и hwframe и использовать их в avcodec_send_frame и avcodec_receive_packet , но после этого я получаю падение частоты кадров, а кодировщик жалуется на временные метки пакетов.

Спасибо.

Комментарии:

1. Вы можете изменить временные метки AVFrames перед вызовом avcodec_send_frame

2. Я уже делаю это, но когда я пытаюсь кодировать с помощью нового кодека, пакеты имеют несогласованные временные метки, т. Е. dts &&t; pts (и тогда ffmpe& не устраивает). Я также пытался вручную изменить временные метки пакетов, и это устраняет ошибку, но затем поток показывает только черные рамки…