Я хочу получить доступ к случайным кадрам в файле H264 и отобразить декодированные изображения в текстуру Direct3D. Я использую NVIDIA VIDEO CODEC SDK. Я уже нашел NvDecodeD3D11 образец, который был включен в версию 8.0 и разобрал его до основы медведя.
По сути, я хочу достичь той же идеи, которая предлагается в: декодирование H264 из середины файла.
Мой файл может быть только кадрами IDR, но также может содержать P-кадры.
Легкий доступ к образцу: Github
Я понимаю идею в связанном вопросе, но я не знаю, где и как это реализовать.
Отличный вопрос, и я боюсь, что он требует много работы. Вы должны точно ознакомиться с форматом кадров I и P. Далее вы выясните, как искать заголовок фреймов и сформировать буфер с указателями на заголовки I-кадров. После этого вам нужно будет разработать систему, которая будет использоваться в качестве обычного воспроизведения, выполняя воспроизведение при переходе от указателя, который помечает текущий кадр, или сможет двигаться вперед или назад, перематывая индексы указателя буфера. Изучите это, и вы сможете найти решение. Весьма вероятно, что для этого уже есть открытый исходный код, но для этого требуется больше поиска. Вы можете попытаться получить награду за это.
Других решений пока нет …