powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Постоянное создание таймера в javascript
81 сообщений из 81, показаны все 4 страниц
Постоянное создание таймера в javascript
    #39756319
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Подскажите пожалуйста, а правильно ли создавать постоянно таймер (каждые 200 милисекунд). Мне нужен таймер, а не интервал именно для того, чтобы запросы шли один за другим. Т.е. отправил запрос, получил ответ, следующий.

Вот код для понимания:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
setTimeout(startVideo, 150);

function startVideo() {
      if(!video) {
        return;
      }

      $.ajax({
        type: "POST",
        dataType: "HTML",
        response:'text',
        url: "videoClient.htm",
        success: function(data) {
          if(data!='') {
            $("#target").attr("src",data);
          }

          setTimeout(startVideo, 150);
        }
      });
    }
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756321
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня интересует не будет ли каких то утечек памяти или нагрузки на процессор чрезмерной от такого создания. Спасибо.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756324
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,

это нагрузка на сервер, если его будут бомбить запросами каждые 200мс десятки клиентов.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756448
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,

с интервалом задача также решается, нужно проверять значение флага, который взводится перед отправкой.

но таки непонятно, зачем это? для реализации чатов, как делали в 2000-ых годах?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756475
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,

Движок JavaScript использует однопоточную модель (single-thread). Фрагменты кода (задания), подлежащие выполнению, помещаются в очередь заданий. Задания последовательно выполняются одно за другим. В каждый конкретный момент времени может выполняться только одно задание. Вызов функции setTimeout() приводит к тому, что вызов обозначенной в её первом параметре функции по истечении заданного интервала так же будет помещён в очередь заданий. Если выполнение функции занимает ощутимое время, то web-приложение "зависает", т.к. пока это задание не будет завершено, другие задания не смогут начать работу.

Возможно вам имеет смысл создать отдельный Worker и подобного рода взаимодействие с сервером выполнять в нём. Worker работает в отдельном потоке (thread), т.е. его код выполняется параллельно с теми заданиями, которые находятся в очереди заданий. Каждый раз, как на стороне кода, выполняемого в Worker происходит отправка сообщения (как правило - это происходит посредством функции postMessage()) - на стороне кода, создавшего экземпляр Worker планировщик заданий помещает в очередь заданий функцию, которую вы предварительно назначили свойству onmessage. Передаваемые данные из/в Worker содержатся в свойстве data. Для упрощения, можно выполнить декомпозицию свойства:

Код: javascript
1.
2.
3.
myWorkerInstance.onmessage = ({data}) => {
  /* здесь ваш код обработки результата, полученного с сервера */
};



Если вы никогда ранее не работали с Web Workers - это не беда. Механизм передачи данных в Worker и извлечения их обратно - один и тот же: postMessage/onmessage. Это сильно упрощает кривую обучения. Научиться вполне уверенно использовать Web Worker можно за день: например, по этой книге (обратите внимание на количество её страниц - 60). Собственно по ней я и изучал Web Workers.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756536
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttstim644,

с интервалом задача также решается, нужно проверять значение флага, который взводится перед отправкой.

но таки непонятно, зачем это? для реализации чатов, как делали в 2000-ых годах?

кстати. а как нынче модно делать чаты?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756537
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaкстати. а как нынче модно делать чаты?websocket
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756580
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяZoriaкстати. а как нынче модно делать чаты?websocket
Тут я делаю не чат, а пересылаю видео) Каждые 200 милисекунд и я кстати обнаружил, что отправка base64 данных вместо отправки blob через websockets гораздо легче) Не знаю правильно это или нет =)

Т.е. получается создание таким образом таймера сильно грузит процессор?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756586
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644что отправка base64 данных вместо отправки blob через websockets гораздо легче)единственно base64 на 33,3% длиннее .....
и у тебя не ws , а ajsx....
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756587
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,


что значит грузит? Вам же написали про однопоточность, вот и думайте.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756590
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,

и что означает "гораздо легче"?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756591
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAstim644,

и что означает "гораздо легче"?

Я сравнил вес строки base64 помещенной в файл и blob (точнее саму картинку на выходе). Может это конечно не корректно)
Но факт остается фактом, как только я сменил с вебсокетов на ajax, то картинка стала шустрее показываться...
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756592
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу workerа спасибо, почитаю
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756594
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644Я сравнил вес строки base64 помещенной в файл и blob (точнее саму картинку на выходе). Может это конечно не корректно)base64 меньшего объёма?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756597
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,

что за сравнение мягкого с солёным?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756619
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644Тут я делаю не чат, а пересылаю видео

WebRTC не хотите попробовать?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756735
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttstim644Тут я делаю не чат, а пересылаю видео

WebRTC не хотите попробовать?+1 аффтар, поищите готовый протокол повыше http.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756836
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

да, наверно не правильно посчитал)
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756837
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

По поводу web rtc я думал и даже реализовал первую версию. Но по некоторым причинам не устроило.
А вообще разве websocket дает меньшую нагрузку на сервер, чем ajax запросы пулять?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756840
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644А вообще разве websocket дает меньшую нагрузку на сервер, чем ajax запросы пулять?смотря для чего. если просто дергать ajax-сом сервер для выяснения появились ли данные, или просто их получать их через ws при поступлении новых данных - то разница заметная.
ws бинарные данные передавать, а ajax?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756867
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644hVostt,

По поводу web rtc я думал и даже реализовал первую версию. Но по некоторым причинам не устроило.
А вообще разве websocket дает меньшую нагрузку на сервер, чем ajax запросы пулять?
А где у вас в треде требуемая нагрузка в попугаях?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756933
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644hVostt,

По поводу web rtc я думал и даже реализовал первую версию. Но по некоторым причинам не устроило.
А вообще разве websocket дает меньшую нагрузку на сервер, чем ajax запросы пулять?

Технологий для потокового видео вагон: HLS, MSE-LD, MPEG-DASH, RTMP, HTTP MPEG-TS, HDS

Зачем тут вебсокет? Ну может если вы хотите видео конференцию со звонками, чатом, блекджеком и ш. Для видео-то нафига? Вы там серию джипегов, что ли, отдаёте? Ничего не понимаю.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756934
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644А вообще разве websocket дает меньшую нагрузку на сервер, чем ajax запросы пулять?

Если в отрыве от постановки задачи, то: зависит от...
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756971
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяws бинарные данные передавать, а ajax?
в какая разница бинарные или текстовые?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756982
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилвадяws бинарные данные передавать, а ajax?
в какая разница бинарные или текстовые?
в трафике - 33.3%
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39756994
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttВы там серию джипегов, что ли, отдаёте?))) именно.
Потоковое видео наверно по кадрам без компрессии
авторчтобы запросы шли один за другим))
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757090
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно говоря конференцию и делаю)
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757097
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644Собственно говоря конференцию и делаю)получилось увидеть видео стрим test.mp4 с сервера?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757207
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,
ну можно делать вообще без запроса к серверу...
просто по ws в темпе получения видео рассылать по ws клиентам
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757532
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123stim644Собственно говоря конференцию и делаю)получилось увидеть видео стрим test.mp4 с сервера?
Не совсем понял о чем вы. Буду признателен за какую то ссылку.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757533
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяstim644,
ну можно делать вообще без запроса к серверу...
просто по ws в темпе получения видео рассылать по ws клиентам
Это как с помощью web sockets сделать без запроса к серверу? =)
Вот например пример с запросом к серверу на java http://javawebsocketsvideo.blogspot.com/2013/12/webcam-live-video-streaming-with.html
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757535
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяstim644,
ну можно делать вообще без запроса к серверу...
просто по ws в темпе получения видео рассылать по ws клиентам
А... От браузера к браузерам клиентов? Так сколько же траффика съестся отправлять например хотябы 10 слушателям...
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757547
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644Не совсем понял о чем вы. Буду признателен за какую то ссылку.ну вы уже сами дали ссылку)
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757592
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644вадяstim644,
ну можно делать вообще без запроса к серверу...
просто по ws в темпе получения видео рассылать по ws клиентам
А... От браузера к браузерам клиентов? Так сколько же траффика съестся отправлять например хотябы 10 слушателям...
а по запросам ajax тем же 10 клиентам - будет меньше?
от браузера к браузеру???
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757606
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Запрос флага один байт это ничто.
Ты лучше спроси зачем вообще таймер.
Потоковое видео это не чат. Плейер то на клиенте.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757696
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяstim644пропущено...

А... От браузера к браузерам клиентов? Так сколько же траффика съестся отправлять например хотябы 10 слушателям...
а по запросам ajax тем же 10 клиентам - будет меньше?
от браузера к браузеру???
Так я же на сервер все гоню) А там уже клиенты делают запросы на сервак.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757699
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
Запрос флага один байт это ничто.
Ты лучше спроси зачем вообще таймер.
Потоковое видео это не чат. Плейер то на клиенте.
Имеете в виду про интервал и простановку флага?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757724
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,
Я не врубаюсь в задачу.
Гадаем на кофе или стеклянном шаре.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757752
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Запрос флага один байт это ничто.ajax кроме полезных данных навешивает ещё кучу служебных....
stim644Так я же на сервер все гоню)что гонишь? видео с клиентов - это одно.

stim644А там уже клиенты делают запросы на сервак.а нафига клиентам делать запросы на сервак? когда сервак может сам рассылать клиентам ?

вообще надо посмотреть как происходит раздача видео с помощью blob, вот только это идёт с использованием ajax и данные идут в base64, заменив на ws и бинарные данные - можно ускорить процесс.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757757
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяPetro123Запрос флага один байт это ничто.ajax кроме полезных данных навешивает ещё кучу служебных....

Всё верно. Однако "куча служебных" это целый прикладной протокол, который уже разработан, много лет как работает и отлажен, имеет поддержку сотен тысяч инструментов и библиотек, что многократно окупает все расходы на доп. информацию при пересылке.


вадяот браузера к браузеру???

это позволяет делать WebRTC, чего не позволяет делать веб сокет :)
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757758
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяс использованием ajax и данные идут в base64

с использованием AJAX также можно слать бинарные данные
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757806
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttОднако "куча служебных" это целый прикладной протокол, который уже разработан, много лет как работает и отлажен, имеет поддержку сотен тысяч инструментов и библиотек, что многократно окупает все расходы на доп. информацию при пересылке.только не надо это сувать где надо и не надо.
hVosttэто позволяет делать WebRTC, чего не позволяет делать веб сокет :)разные предназначения. и ТС вроде отказался от WebRTC.
hVosttс использованием AJAX также можно слать бинарные данныеможно, но только почему-то не используется....
hVosttимеет поддержку сотен тысяч инструментов и библиотекни кто не требует переделки работающего.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757948
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123stim644,
Я не врубаюсь в задачу.
Гадаем на кофе или стеклянном шаре.
Собственно разрабатываю платформу для вебинаров. Где один человек вещает, а остальные слушают.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757953
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

web rtc идеально подходит для peer to peer. Т.е. где общается один с одним. Но когда один вещает многим... То нужно уже строить дерево между слушателями, где будет цепочка. И при увеличении слушателей увеличивается цепочка и будет все тормозить.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757963
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,
такие системы уже есть...
но и разработать свою - есть смысл .

stim644Где один человек вещает, а остальные слушают.такая постановка упрощает задачу
ws как раз и может в этом помочь
сервер снимает поток с камеры и раздаёт его через ws всем подключенным клиентам.
никаких запросов от клиентов не требуется.
темп получения потока от камеры = темпу выдачи клиентам
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757966
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас у меня так работает:
Код того кто вещает на клиенте:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
screenSharingStreamInterval = setInterval(
                    function () {
                        ctx.drawImage(video, 0, 0, windowWidth, windowHeight);
                        var data = canvas.get()[0].toDataURL('image/jpeg', imageQualityScreenSharing);

                        $.ajax({
                            type: "POST",
                            dataType: "HTML",
                            data: "data=" + data + "&roomId=" + currentWebinarRoomId,
                            response:'text',
                            url: "screenSharing.htm",
                            success: function(data) {

                            }
                        });
                    }, 200);



Сервер, который принимает данные от того кто вещает:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
@RequestMapping(value = "/video.htm", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEntity<String> video(ModelMap model,HttpSession session,HttpServletRequest request,
                                                HttpServletResponse response)
            throws ServletException, IOException {

        String data =  Util.trim((String) request.getParameter("data"));
        String roomId =  Util.trim((String) request.getParameter("roomId"));

        data = data.replace(" ", "+");

        Base64Val value = Util.videoMap.get(roomId);
        if(value==null) {
            value = new Base64Val(data);
            Util.videoMap.put(roomId, value);
        } else {
            value.setValue(data);
        }

        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "text/html; charset=utf-8");
        ResponseEntity<String> entity = new ResponseEntity<String>("",
                headers, HttpStatus.OK);
        return entity;
    }




Сервер, который отдает данные слушателям:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@RequestMapping(value = "/videoClient.htm", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEntity<String> videoClient(ModelMap model,HttpSession session,HttpServletRequest request,
                                              HttpServletResponse response)
            throws ServletException, IOException {

        String data = video!=null ? video.getValue() : "";

        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "text/html; charset=utf-8");
        ResponseEntity<String> entity = new ResponseEntity<String>(data,
                headers, HttpStatus.OK);
        return entity;
    }



Код слушателей на клиенте:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
function startVideo() {
			if(!video) {
				return;
			}

			$.ajax({
				type: "POST",
				dataType: "HTML",
				response:'text',
				url: "videoClient.htm",
				success: function(data) {
					if(data!='') {
						$("#target").attr("src",data);
					}

					setTimeout(startVideo, 150);
				}
			});
		}
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757968
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяstim644,
такие системы уже есть...
но и разработать свою - есть смысл .

stim644Где один человек вещает, а остальные слушают.такая постановка упрощает задачу
ws как раз и может в этом помочь
сервер снимает поток с камеры и раздаёт его через ws всем подключенным клиентам.
никаких запросов от клиентов не требуется.
темп получения потока от камеры = темпу выдачи клиентам

Сначала так и сделал. Ссылку выше скинул.
http://javawebsocketsvideo.blogspot.com/2013/12/webcam-live-video-streaming-with.html

Но текущий способ работает быстрее...
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757972
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,

там canvas, этим всё сказано
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757980
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,

посмотри как работает youtube, когда трансляция идет с использование blob.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39757994
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758204
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяws как раз и может в этом помочь
сервер снимает поток с камеры и раздаёт его через ws всем подключенным клиентам.

ни в коем случае. для потокового видео уже есть решения и протоколы, я список привёл.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758205
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадятемп получения потока от камеры = темпу выдачи клиентам

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

не нужно. оставьте в покое ws.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758209
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяhVosttс использованием AJAX также можно слать бинарные данныеможно, но только почему-то не используется....
тобой не используется?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758220
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttнет. проколы для передачи видеопотока учитывают возможность потери кадров при ухудшении соединения, которые будут достраиваться на клиенте, динамический битрейт и дофига всего. это небудет работать на ws, просто потому что задачи другие.есть такое
Код: javascript
1.
2.
3.
4.
<video id="playerVideo" width="450px" autoplay="autoplay" height="338px" 
       style="height:100%;width:100%;" class="mejs-rai-e"
       src="blob:http://www.example.com/d70a74e1-0324-4b9f-bad4-84e3036ad354">
</video>


передаётся в текстовом виде
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758229
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Опять про сокеты?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758237
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

какой даты схема?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758240
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяPetro123,

какой даты схема?любой. Изучай.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758243
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Схема идиотская
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758255
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Малыхин СергейСхема идиотскаяя за то чтобы шире говорить о прикладных протоколах. А не о том что сокеты заменяют их все)
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758351
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяhVosttнет. проколы для передачи видеопотока учитывают возможность потери кадров при ухудшении соединения, которые будут достраиваться на клиенте, динамический битрейт и дофига всего. это небудет работать на ws, просто потому что задачи другие.есть такое
Код: javascript
1.
2.
3.
4.
<video id="playerVideo" width="450px" autoplay="autoplay" height="338px" 
       style="height:100%;width:100%;" class="mejs-rai-e"
       src="blob:http://www.example.com/d70a74e1-0324-4b9f-bad4-84e3036ad354">
</video>


передаётся в текстовом виде

Это что за протокол?

Вон кстати нашел интересную библиотечку с протоколом hls - https://github.com/video-dev/hls.js/
Код: javascript
1.
2.
3.
4.
5.
6.
var hls = new Hls();
    hls.loadSource('https://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8');
    hls.attachMedia(video);
    hls.on(Hls.Events.MANIFEST_PARSED,function() {
      video.play();
  });


Только там только читается видео с сервера. Непонятно пока как записывать видео на сервер...
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758373
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяstim644,

там canvas, этим всё сказано
А какие еще варианты есть?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758421
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644А какие еще варианты есть?я давал ссылку https://html5css.ru/tags/ref_av_dom.php
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758609
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяпередаётся в текстовом виде

Жесть какая-то :)
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758623
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЖесть какая-то :)посмотри трафик в браузере...
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758675
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяhVosttЖесть какая-то :)посмотри трафик в браузере...

может лучше стандарты глянем? где написано какие типы могут передаваться.

https://developer.mozilla.org/ru/docs/Web/HTTP/Basics_of_HTTP/MIME_types
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758696
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttможет лучше стандарты глянем? где написано какие типы могут передаваться.я разве с этим спорю?
я просто констатирую то, что встретил у youtube , когда они используют blob для воспроизведения видео.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758796
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяhVosttможет лучше стандарты глянем? где написано какие типы могут передаваться.я разве с этим спорю?
я просто констатирую то, что встретил у youtube , когда они используют blob для воспроизведения видео.

в ютубе используется WebM, в этом легко можно убедиться

при чём тут блоб?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758799
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Код: javascript
1.
2.
3.
<div class="html5-video-container" data-layer="0">
<video tabindex="-1" class="video-stream html5-main-video" controlslist="nodownload" style="width: 981px; height: 552px; left: 0px; top: 0px;" src="blob:https://www.youtube.com/58536e7b-284c-4565-9c1a-c88c21362"></video>
</div>
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758853
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

давай ещё раз?

вадяесть такое
Код: javascript
1.
2.
3.
4.
<video id="playerVideo" width="450px" autoplay="autoplay" height="338px" 
       style="height:100%;width:100%;" class="mejs-rai-e"
       src="blob:http://www.example.com/d70a74e1-0324-4b9f-bad4-84e3036ad354">
</video>



передаётся в текстовом виде

при чём здесь blob и "передаётся в текстовом виде"? это ты с чего вообще взял?

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

при чём здесь какой-то текстовый вид?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39758854
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39760413
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttstim644hVostt,

По поводу web rtc я думал и даже реализовал первую версию. Но по некоторым причинам не устроило.
А вообще разве websocket дает меньшую нагрузку на сервер, чем ajax запросы пулять?

Технологий для потокового видео вагон: HLS, MSE-LD, MPEG-DASH, RTMP, HTTP MPEG-TS, HDS


Т.е. получается должны быть реализации javascript библиотек для данных технологий?
Просто не совсем понимаю, как их для веб конференций использовать... Нашел одну библиотеку по hls. Но там только получение видео.
Подскажете как искать может?
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39760415
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут вижу только подглядеть у уже созданных платформ...
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39760423
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,
Вы бы хотя бы тему обозвали - веб конференции.
А то таймер какой то)
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39760550
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению тему не смогу изменить... Если модератор поменяет на "Веб конференция", то будет круто.
У меня вот еще мысль...
https://medium.com/@bryanjenningz/how-to-record-and-play-audio-in-javascript-faa1b2b3e49b
Отправлять blob аудио каждую секунду и транслировать на клиенты))
Если не разберусь как по человечески сделать... Нормальной javascript библиотеки, которая передает видео и аудио с одного клиента другим, и которая основана на основе технологий, указанных выше, я так и не нашел...
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39760563
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или вот например использование videojs - https://stackoverflow.com/questions/43271187/how-to-play-rtmp-live-stream-using-videojs

Проигрывание стрименга:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<html>
<head>
  <title> Stream Player </title>
  <link href="video-js.css" rel="stylesheet" type="text/css">
  <script src="video.js"></script>
  <script>videojs.options.flash.swf = "video-js.swf";</script>
</head>
<body>
 <center>
   <video 
     id="livestream" 
     class="video-js vjs-default-skin vjs-big-play-centered"
     controls 
     autoplay
     preload="auto" 
     data-setup='{"techorder" : ["flash","html5] }'>
     <source src="rtmp://127.0.0.1:1935/live/test" type="rtmp/mp4">
   </video>
 </center>
</body>
</html>



Как бы этот stream поток постоянный с вебкамеры на сервер загнать))
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39760571
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39760974
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяstim644,

https://html5rocks.appspot.com/ru/tutorials/getusermedia/intro/
+
https://caniuse.com/#feat=stream

Не хочу показаться навязчивым, но там описан только захват аудио и видео. А мне интересно как передавать через javascript грамотного аудио и видео) Может какая есть библиотечка готовая, которая реализует ту или иную технологию или придется самому пилить)
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39760978
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А судя по стандарту webRTC http://w3c.github.io/webrtc-pc/#rtp-media-api только peer to peer. Для конференций не подходит)
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39761080
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644Не хочу показаться навязчивым, но там описан только захват аудио и видео. А мне интересно как передавать через javascript грамотного аудио и видео) Может какая есть библиотечка готовая, которая реализует ту или иную технологию или придется самому пилить)там всё на несколько старых элементах, и демо не работает.
если тебе удастся сделать работающий захват для работы в последних версиях браузера - я попробую сделать передачу данных...
работа с видео интересна, но пока опыта нет... поэтому и такое предложение
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39762003
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644А судя по стандарту webRTC http://w3c.github.io/webrtc-pc/#rtp-media-api только peer to peer. Для конференций не подходит)

Ещё как подходит.
...
Рейтинг: 0 / 0
Постоянное создание таймера в javascript
    #39762201
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот тут весь набор
https://github.com/muaz-khan/WebRTC-Experiment
...
Рейтинг: 0 / 0
81 сообщений из 81, показаны все 4 страниц
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Постоянное создание таймера в javascript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]