#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& не устраивает). Я также пытался вручную изменить временные метки пакетов, и это устраняет ошибку, но затем поток показывает только черные рамки…