Синхронная выборка видео в HTML5

Я пытаюсь попробовать видео в HTML5.

Проблема следующая: установка video.currentTime в цикле выполняется слишком быстро для захвата кадра, потому что кадр обновляется относительно медленно. Я решил эту проблему, установив интервал 150 мс для каждой выборки.

Есть ли способ создать цикл для его выборки без интервала? (Я сейчас сэмплирую HD-видео, и скорость 150 мс может быть излишне медленной для небольших видео)


person Michael Sazonov    schedule 27.01.2013    source источник
comment
Я предполагаю, что это может вам помочь (я лично не смотрел источник) barbafan.de/html5video?video =трон   -  person goat    schedule 28.01.2013
comment
@rambocoder На самом деле, очень интересная ссылка! Спасибо. Но... Моя проблема немного в другом. Цикл, о котором я говорю, выполняется до изменения одного кадра, поэтому я сэмплирую одно и то же изображение по всему циклу. По этой ссылке рассказывается о постобработке кадра. В любом случае, как только я закончу здесь - это будет следующий вызов.   -  person Michael Sazonov    schedule 28.01.2013


Ответы (1)


попробуйте добавить прослушиватель событий для события seeked, чтобы знать, когда видео изменило положение. Я бы также рекомендовал использовать requestAnimationFrame вместо setTimeout, потому что это обеспечит синхронизацию любых событий чтения с обновлениями видеокадра.

videoElement.addEventListener('seeked', function() {
    console.log('current time has successfully been changed.');
    requestAnimationFrame(function() {
        // new frame to sample *should* now be available
        // you could test by comparing videoElement.currentTime against
        // last time you sampled.
    });
});
person Luke    schedule 05.07.2013