2015-02-14 3 views
0

У меня есть приложение python/flask, которое отправляет mjpeg-видео в элемент. Он отлично работает с потоковой передачей, но у меня проблема с прерыванием видео. Чтобы прервать видео на моем телефоне (андроид), я должен щелкнуть ссылку на другой странице или продолжить поток.Не удается отменить MJPEG в Android-приложении «Интернет» или андроид-хром

В настоящее время я контролирую поток с помощью javascript. Установка «src» на URL-адрес для статического изображения с камеры или URL-адрес видеопотока. Но между изменением src меняю сначала на «#».

Проблема, использующая колбу, заключается в том, что, когда 1 клиент получает поток (используя генератор & выход), никакие другие не могут связываться с сервером. Это может быть источником проблемы ?!

Так, с JavaScript Я контролирую поток со следующим кодом:

if (streaming==false){ 
    document.getElementById(img_id).src=C_vidsource; 
    streaming = true; 
} else { 
    var currDate = new Date(); 
    document.getElementById(img_id).src="#"; 
    document.getElementById(img_id).src=C_statimage + "?" + currDate.getTime(); 
    streaming = false; 
} 

Я контролирую это с помощью простого

Думает, что андроиды веб-браузер отличается от того, я использую на компьютере , Кажется, он пытается загрузить контент, прежде чем изменять что-либо на странице. Таким образом, видеопоток продолжается до тех пор, пока не будет загружено новое изображение. Но новое изображение не будет загружено до тех пор, пока поток не остановится.

есть ли способ решить эту проблему?

Спасибо!

ответ

0

Непосредственно после того, как я разместил вопрос, я нашел решение.

Я добавил задержку между двумя изменениями src. после:

document.getElementById(img_id).src=""; 

Я добавил

sleep(1000); 

И сон является функцией я создал (очень грязная):

function sleep(ms){ 
    stoptime = Date.now() + ms; 
    while(Date.now() < stoptime){ } 
    return; 
} 

Я думаю, что в течение более длительного сна это не хороший solutoion, но он решает мою проблему или, по крайней мере, дает мне подсказку о том, что искать.