@nodejs_ru

Страница 1105 из 2748
Vladislav
17.08.2017
18:24:47
Ребята, срочно нужна помощь. Есть огромная проблема. У нас сервис, который занимается видео стримнгом из браузера. Один ко многим. Пользователи с IOS не могут использовать WebRTC. Единственный способ доставить им все это добро максимально быстро: Браузер -> передача кусков видео на сервер –> сборка в файл -> по доступности первых данных запуск ffmpeg -> преобразование в необхожимый формат -> отправка на сервер расслки видео фрагментов -> рассылка фрагментов по webSocket -> сборка и отрисовка на фронте. Но есть проблема. ffmpeg некоторые файлы обрабатывает постепенно по мере их записи. А некоторые пробегает со скоростью 8x и таким самым считает что файл уже обработан и останавливает работу. Перезапуск его на файл не помогает. Неоторые файлы дефектные. НО во всех плеерах благополучно работают. Кто знает как заставить ffmpeg всегда работать со скоростью 1x?? Очен надо помощь

Вася
17.08.2017
18:53:02
Ребята, срочно нужна помощь. Есть огромная проблема. У нас сервис, который занимается видео стримнгом из браузера. Один ко многим. Пользователи с IOS не могут использовать WebRTC. Единственный способ доставить им все это добро максимально быстро: Браузер -> передача кусков видео на сервер –> сборка в файл -> по доступности первых данных запуск ffmpeg -> преобразование в необхожимый формат -> отправка на сервер расслки видео фрагментов -> рассылка фрагментов по webSocket -> сборка и отрисовка на фронте. Но есть проблема. ffmpeg некоторые файлы обрабатывает постепенно по мере их записи. А некоторые пробегает со скоростью 8x и таким самым считает что файл уже обработан и останавливает работу. Перезапуск его на файл не помогает. Неоторые файлы дефектные. НО во всех плеерах благополучно работают. Кто знает как заставить ffmpeg всегда работать со скоростью 1x?? Очен надо помощь
-r флаг вроде

А hls не?

Vladislav
17.08.2017
18:53:31
HLS - слишком большая задержка. У нас 2-3 секунды.

Google
Вася
17.08.2017
18:53:58
Ну так настраиваться же размер чанка

Хоть по секунде можно резать

Vladislav
17.08.2017
18:54:30
-r не помогает. -re тоже. Вернее оно работает. Но для накоторых файлов ffmpeg сходит с ума и ведет себя не адекватно

Вася
17.08.2017
18:54:54
А да, re вроде

А какие ошибки?

Vladislav
17.08.2017
18:55:30
Ну так настраиваться же размер чанка
Там еще нужно полный контроль доступа к кадрам. Типо юзер не должен видеть если ему запретили. Сложная тема. Даже в случае с HLS ошибка такая- же останется.

Вася
17.08.2017
18:55:51
Ну и так сложно сказать, надо формат входной, ошибки

Vladislav
17.08.2017
18:56:58
Вернее не ошибка. Просто файл дописывается все время и ffmpeg проходит по нему во время записи и все четко работает. Он обычно идет со скоростью 1x а на некоторых файлы в процессе обработки идет с 8x один файл из 10-20 и естественно файл обрабатывается быстрее чем дописывается в реальном времени

Есть предолжения, как еще доставить реалтайм видео на сервер для обработки?

Вася
17.08.2017
18:59:34
Тогда я Хз, надо руками ковырять

KlonD90
17.08.2017
19:56:37
dlete

Google
Igor
17.08.2017
19:58:21
ты императивно изменяешь ctx.req как минимум

и передаешь его следующей мидлваре

слышал про иммутабельность?

dima
17.08.2017
19:59:02
Да

Igor
17.08.2017
19:59:29
ну так какое это фп

Combot
17.08.2017
19:59:33
combot.org/chat/-1001041204341

dima
17.08.2017
20:00:11
Мне было удобнее делать мини функции чем класс

Igor
17.08.2017
20:00:43
это процедуркой называется

как считаешь вообще зачем нужно создавать класс?

ну вот в примере с авторизацией юзера

это не мастхев, но как тебе кажется зачем его можно создать

dima
17.08.2017
20:03:03
Хз. К чему. До пиши полностью

Igor
17.08.2017
20:04:09
для авторизации, не аутентификации, читай сепарации доступа по правам/ролям

dima
17.08.2017
20:04:38
Ну роутер. Он с колбэкам. Уже проще хандлеры функциями

Igor
17.08.2017
20:04:49
считай что личность юзера уже установлена по токену

dima
17.08.2017
20:06:04
Ну я для ролей написал пару функций. can(). Принимает call заранее написанный в конфиге у которого есть хандлер

Не знаю как в ноде пишут подобное. Не видел примеры. И вот в курсе по ноде (забыл название, свежий слитый) функции юзают

Mykola
17.08.2017
22:13:46
Подскажите на счет env vars

Vitaly
17.08.2017
22:28:22
Ты еще видеовопрос пришли, я пока знатоков позову :)

Mykola
17.08.2017
22:33:54
А если .env файл нужно дабавить variables но он находиться в gitignore как поступить что бы ругие получили обновленный .env файл ?

Google
Yuriy
17.08.2017
23:41:40
А если .env файл нужно дабавить variables но он находиться в gitignore как поступить что бы ругие получили обновленный .env файл ?
Не класть в репу продакшн ключи, только тест энву. Сделать .env-base чтобы все понимали какие ключи должны быть в файле. Каждый может создать свой .env файл и спросить ключи и тп (а чатике ?)

Я хз как в ХЕРоку (не понравилось название - не юзал), но думаю должен быть способ безопастной передачи конфы для продакшена.

Andrey ?
18.08.2017
04:22:24
В хероку - просто переменные окружения

Nurlan
18.08.2017
04:33:23
Всем привет. Я новичек. Хочу дать доступ извне своему сайту(сокеты,чат) на nodeJs. ОС Windows 2012 r2. есть внешний статический IP Дальше куда копать ?

K
18.08.2017
04:34:53
Просто по статическому айпи не подключает?

Nurlan
18.08.2017
04:35:16
на сервер залил то что работало на своем ноуте

Ilya
18.08.2017
04:44:24
Собираюсь делать нечто вроде хранилища ссылок - вот думаю лучше клссическую sql - mysql или mongo? Чтоит ли брать монгу?

Nurlan
18.08.2017
04:47:24
какая вообще разница между MS SQL & Mongo ? ) первое нужно когда структура данных четкая а вторя когда нет ? только в этом ?

Ilya
18.08.2017
04:48:43
разница в концепте - документ vs реляционка

мне реляционка кажется дает гигантскую гибкость

Vitaly
18.08.2017
04:51:58
реляционка придумана чтобы экономить место, и не всегда нужна

Nurlan
18.08.2017
04:54:14
купить хостинг
уже есть купленный сервер

Ilya
18.08.2017
04:54:31
уже есть купленный сервер
разместить в датацентре

на самом деле этот вопрос больше админский - а тут про ноду. как запустить/дать доступ извне.

Konstantin
18.08.2017
05:11:27
на самом деле этот вопрос больше админский - а тут про ноду. как запустить/дать доступ извне.
Запустить каким-нибудь процесс менеджером. Например, pm2. Настроить веб-сервер (не знаю, что на Винде используется), чтобы он проксировал все, что приходит на 80 порт, на порт, который слушает приложение нодовское.

Vsevolod
18.08.2017
05:30:22
У ИИС была надстройка для ноды

Ilgiz
18.08.2017
07:07:28
Ребят как можно запустить такой for loop который будет делать следующий итератор после того как предедущий возвратит true ?

Google
Admin


Дмитрий
18.08.2017
07:07:50
yield*

Ilgiz
18.08.2017
07:08:29
можно я свою проблема расскажу может подскажете что делать?

у меня есть обьект он парсит сайт, я через фоорлуп прохожу по списку url и передаю этому обьекту ввиде аргумента url и вызываю его метод parse(), и получается что после запуска форлупа у меня вызываются все обьекты и вызываются его методы и парсится сразу все парсеры, а мне надо что б следующий итератор запустился только после того как предедущий закончил

Дмитрий
18.08.2017
07:12:35
async await

Remite
18.08.2017
07:13:51
Промисы, колбеки

Ilgiz
18.08.2017
07:14:16
у меня сейчас так list.forEach(elem=>{ let obj = new Parse(elem) obj.parser() })

Remite
18.08.2017
07:15:18
У тебя асинхронная операция, ее нужно обработать как подобает асинхронщине, ил

Ilgiz
18.08.2017
07:16:11
нет я хочу что бы следующий запустился только после того как закончил передедущий

Дмитрий
18.08.2017
07:16:29
async await

Nex
18.08.2017
07:16:51
может пхп))

Ilgiz
18.08.2017
07:16:52
async await
выше примере куда мне засунуть asyn await?

Дмитрий
18.08.2017
07:18:25
for (const elem of list) await new Parse(elem).parser()

Vitaly
18.08.2017
07:18:32
Таймураз
18.08.2017
07:22:44
for (const elem of list) await new Parse(elem).parser()
Лишь уточню, что все это должно выполняться в асинхронной функции с async перед ее объявлением

Ilgiz
18.08.2017
07:23:55
for (const elem of list) await new Parse(elem).parser()
nice, спасибо работает а это вообще хорошая практика так делать?

Таймураз
18.08.2017
07:24:21
nice, спасибо работает а это вообще хорошая практика так делать?
Если задача обязывает так делать, то не вопрос

Но почему это полностью асинхронно нельзя сделать в твоем случае- интернесно

KlonD90
18.08.2017
07:25:52
nice, спасибо работает а это вообще хорошая практика так делать?
ну можно Promise.all и map или какой-нибудь поверх parser pool делать

Google
Таймураз
18.08.2017
07:26:20
ну можно Promise.all и map или какой-нибудь поверх parser pool делать
Они будут одновременно выполняться, а он так не хочет

Ilgiz
18.08.2017
07:29:06
Но почему это полностью асинхронно нельзя сделать в твоем случае- интернесно
у меня разом работает 20 парсеров каждый из низ вызывает этот обьект по 20-30 раз получается у меня вызывается разом 30 * 20 обьекта Parser и те сайты иногда крашется от моих запросов одновременных

KlonD90
18.08.2017
07:29:48
ну да нужно взвешенные пулы

по domain'у

Ilgiz
18.08.2017
07:30:26
Очередь
так пример выше по сути и по очереди будет делать

Сергей
18.08.2017
07:31:01
Привет На сервере время 10:30 в ноде получаю время 07:30 это как так?) откуда время берет нода?)

Дмитрий
18.08.2017
07:32:14
UTC +3

dima
18.08.2017
07:33:19
node + typescript юзает кто?

Страница 1105 из 2748