Нужно получить оффсеты/размеры кадров внутри контейнера (для быстрого seek внутри видеоредактора)
По идее, берем ffmpeg, получаем указатель на AVStream, а дальше перебираем index_entries и вроде все хорошо. Это работает для AVI или скажем MP4. А вот для матрешки или WMV это или вообще не работает, или дает только 1 стартовый кадр.
В принципе, это можно сделать последовательным чтением всех пакетов, но это слишком медленно. Медленно за счет IO, примерно 1 минута на 1 гигабайт файла. Многие видеоредакторы при открытии файла строят свой индекс подобным образом, но... Зачем, если внутри файла уже есть готовый индекс? К примеру, можно было бы открыть индекс из WMV чтобы получить все нужное.