Получите конкретный кадр по значению времени, используя AVAssetReader

Я проверил этот http://www.7twenty7.com/blog/2010/11/video-processing-with-av-foundation, чтобы получить кадр за кадром видео. Но мое реальное требование - получить кадр в определенное время. Я знаю, что это должно быть возможно с помощью AVAssetReader, интересно, есть ли какой-либо прямой метод для этого в AVAssetReader. Пожалуйста, дайте какие-либо рекомендации о том, как я могу получить кадр в определенное время.

Я проверил AVAssetImageGenerator, но это не то, что мне действительно нужно.

Наконец я нашел ответ, вы должны использовать свойство timeRange. Это единственный способ для этого.


person Nikhil.T    schedule 20.01.2015    source источник
comment
С какой проблемой вы столкнулись AVAssetImageGenerator ? И если вы нашли решение для этого, опубликуйте ответ на этот вопрос (вместо того, чтобы редактировать вопрос). Это было бы очень полезно для будущих читателей.   -  person Hemang    schedule 06.02.2015
comment
@Hemang Я опубликовал свой ответ. Я хочу, чтобы я получил временную метку кадра, и мне нужно передать этот кадр. AVAssetImageGenerator предназначен для получения изображений большого пальца. Спасибо   -  person Nikhil.T    schedule 06.02.2015


Ответы (1)


Наконец-то я получил ответ на это. Я размещаю свое решение здесь, надеюсь, что это поможет кому-то.

Используйте свойство AVAssetReader timeRange для выбора кадров в любом временном диапазоне. Если вы ищете конкретный кадр, просто укажите одинаковое время начала и окончания.

Две вещи, которые вы должны иметь в виду:

1. как только вы вызываете метод AVAssetReader startReading, вы не можете сбросить timeRange.

2. Для этого нужно пересоздать AVAssetReader, метод stopReading тоже не поможет.

Эта ссылка также может быть очень полезной, я нашел все это очень полезным :) ">Как выполнять поиск по звуковой дорожке с помощью avassetreader?

person Nikhil.T    schedule 06.02.2015