Stack Overflow на русском Asked on December 16, 2021
Я никогда до сих пор не пользовался FFmpeg, и только начал изучать её. В туториале показано как извлекать один кадр за другим. Но меня итересует максимально быстрый способ извлечения нужного кадра по времени (очень желательно двунаправленно). Можно ли получить что-то типа AVFrameContext
(я его выдумал), т.е. без выделения памяти для самого кадра до тех пор, пока не найдётся нужный? Т.е. нужно найти по миллисекундам, что время попадает между prev_frame
и next_frame
, и тогда достать cur_frame
. Подскажите, пожалуйста, как это можно реализовать (с помощью каких функций, структур и т.п.)? Большое спасибо.
Нашёл: FFmpeg Docs или Libav Docs
int av_seek_frame(AVFormatContext *s,
int stream_index,
int64_t timestamp,
int flags)
Seek to the keyframe at timestamp.
Ищет по времени [предшествующий] [ключевой] кадр внутри указанного индекса AVStream
.
Флаги можно найти тут:
Вот здесь объясняется как пользоваться флагами.
Answered by megorit on December 16, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP