Сколько я помню моушен — нет. Но можно с минимальной задержкой через вебсервер забирать готовые ролики. При желании можно и плеер напилить и загрузку с нужного места в нём поставить и даже синхронизацию по времени. Но совсем прямого эфира не будет, будет небольшая задержка.
У меня не трескается, смотрю 640x480 с частотой по кадру в две секунды.
Сейчас проверил. MJPEG поток от motion проксируется nginx бекендом, он соединяется ssh-туннелем с vps в Германии, там проксируется фронтендом на nginx, и с него я забираю поток назад к себе в Москву. Снизу на изображение motion накладывает временную отметку с секундами, и отстает она от сервера не более чем на полсекунды.
Deleted ()
Последнее исправление: somestuff
(всего
исправлений: 1)
И еще я далек от мира веб-разработки, поэтому спрошу еще один может быть глупый вопрос. Motion умеет делать скрины, складывать их в файловую систему и сохранять их названия в базу данных. И я не понимаю, как сделать нетребовательную к ресурсам листалку скринов, наделанных motion, чтобы при этом не возникло такой проблемы?
Практически работает быстрее чем у озвученного варианта с mjpeg. А именно 800х480 кадры загружаются за 0.2-0.5 секунды, задержка не превышает 0.5 секунды.
Даже если будет не успевать, надо замутить прекеширование следующего кадра и сбрасывать таймаут. У кого сетка медленная - просто будут смотреть немного «растянуто» во времени.
А именно 800х480 кадры загружаются за 0.2-0.5 секунды, задержка не превышает 0.5 секунды.
У меня с mjpeg такая же задержка, если гонять трафик на 1600км и обратно.
А как нужно делать, чтобы такая проблема возникла?
Ну клиент на JS может только догадываться, что motion уже закончил сохранение нового файла со скрином на сервере. А что случится, если клиент начнет грузить файл, который еще не дописан, или вообще не создан?
сервер должен понимать что пора отправить следующий.
Он же должен при этом проверить, готов ли уже следующий кадр, чтобы показывать его, а не 404. И мне не понятно, как реализовать такую проверку, если у нас есть только nginx и JS.
Ну я там выше писал что нужно сделать прекеширование следующего кадра. Если покакой-либо причине загрузка кадра не удалась - повторить её через некоторый таймаут. А явно показывать предыдущий успешно загруженный. Код набросать чтоли?
Лор, пожалуйста, прекрати заострять внимание на одном глупом сообщении. Кто-то что-то ляпнет - сразу налетают без разбора свой-чужой. Обязательно надо куснуть. Хотя, с другой стороны в этом есть смысл.