Как изменить частоту кадров декодирования libav?

Есть ли способ изменить частоту кадров декодирования libav? В структурах libav есть несколько переменных, отвечающих за получение частоты кадров, но, как я знаю, все они предназначены только для чтения (в режиме декодирования). Среди них:

AVStream.duration
AVStream.nb_frames
AVStream.r_frame_rate
AVStream.time_base

Первые два говорят мне количество кадров, а последние два говорят мне частоту кадров. Но кажется, что я не могу просто установить их, иначе это, вероятно, не вызовет должного эффекта.

Какие-либо предложения?

1 ответ

Если я правильно понимаю, вам нужно декодированное видео с более низкой частотой кадров, чем было закодировано. Лучшее решение - пропустить пакеты кадров перед их декодированием со скоростью, которая вам нужна (перед вызовом avcodec_decode_video2()). Никогда не пробовал, но это должно работать. Это сэкономит ненужный процессор, потраченный на декодирование кадров, которые вам не нужны.

Другие вопросы по тегам