pyav / Libav / ffmpeg отключить B-кадры

#ffmpeg #frame #h.264 #libav #pyav

Вопрос:

Я использую pyav (оболочку python для libav ) для приема видеопотока H264. Есть ли возможность отключить B-кадры? Я думаю, что тот же вопрос относится libav и ffmpeg к и.

Ответ №1:

skip_frame Параметр codeccontext должен быть установлен со значением bidir или константой AVDISCARD_BIDIR (при прямом назначении) для пропуска двунаправленных кадров.

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

1. Означает ли это, что получатель просто отбросит B-кадры или это означает, что отправитель не будет отправлять B-кадры? Другими словами, как получатель, я просто отброшу информацию или попрошу отправителя закодировать данные, которые он мне отправляет, без использования B-кадров (используя другие методы сжатия / параметры кодирования )?

2. Декодер будет принимать их, но не декодировать.

3. Таким образом, это приведет к снижению качества и возможной потере информации, верно?

4. Потеря информации, да. Более низкого качества, нет. Если сохраненный кадр не ссылается на отброшенный кадр, результатом декодирования является кадр.