2016-01-28 8 views
0

Я построил видеопроигрыватель html5, но обнаружил проблемы с неточным поиском времени, в частности на OS X &, когда аппаратное ускорение включено для декодирования кадров. Попробуйте сами - перейти на любую страницу с видео (например: http://www.w3schools.com/html/html5_video.asp) и запустить их в Console-Можно ли заставить браузер делать только декодирование видео htm5 только программным обеспечением? То есть отключить аппаратное ускорение

var vid = document.getElementsByTagName('video')[0]; 
var vidPlay = setInterval(function(){ vid.currentTime+=(1/30) }, 250); 

Вы увидите видео псевдо-игру, но если вы смотрите вы будете иногда видеть неправильное кадры. Использование другой частоты кадров не помогает (это часть 1/30). Вот видео того, что я вижу: https://www.youtube.com/watch?v=I561KHt2af4

Есть ли способ преодолеть эту проблему, кроме того, что пользователь должен отключить аппаратное ускорение в своем браузере?

ответ

0

Может попробовать эту библиотеку на GitHub:
VideoFrame

Here is a fiddle с ней реализована

// Just posting this here so I can add a fiddle link. 
// Check the link 
var currentFrame = $('#currentFrame'); 
var video = VideoFrame({ 
    id : 'video', 
    frameRate: 29.97, 
    callback : function(frame) { 
     currentFrame.html(frame); 
    } 
}); 

$('#play-pause').click(function(){ 
    if(video.video.paused){ 
     video.video.play(); 
     video.listen('frame'); 
     $(this).html('Pause'); 
    }else{ 
     video.video.pause(); 
     video.stopListen(); 
     $(this).html('Play'); 
    } 
}); 
+0

Эта библиотека выглядит использовать тот же метод, т.е. video.currentTime HTTPS://github.com/X3TechnologyGroup/VideoFrame/blob/master/VideoFrame.js для источника – Morifen

+0

У меня были проблемы с поиском видео до того, как я подумал, что это может вам помочь, у меня нет я OS, поэтому вы не можете видеть проблему, с которой вы сталкиваетесь. Вы можете сказать, что конкретно вы подразумеваете под «неточным поиском времени» для тех из нас, кто не видит проблемы. – 2pha

+0

Конечно, вот видео того, что я вижу. Вы увидите, как он продвигается, как будто он играет, но я просто добавляю 1/30 секунды в заданный интервал. Иногда вы увидите, что он пропустил правильное местоположение, в результате чего отображается неверный кадр: https://www.youtube.com/watch?v=I561KHt2af4 – Morifen