Leave a comment

Comments 17

eddy_em January 10 2024, 14:27:28 UTC
Когда я последний раз видео пытался через вебсокеты передавать (motion jpeg), то т.к. просто взять, и изменить содержимое картинки блобом из вебсокета невозможно, приходилось кодировать в base64. Было жутко медленно, так что я от этого отказался.
А генерить из картинок h264 было бы уж совсем адово: "малинка" такое не перенесла бы. Тем более, каждый кадр нужно было обрабатывать.
Собственно, zoneminder тоже тупо jpeg'и шлет, т.к. каждый кадр ему нужно обработать для определения движения в запретной зоне. А уж для такой машинки можно было бы 1 кадр в секунду просто так же жопегами посылать...

Reply

balmerdx January 10 2024, 14:35:05 UTC

Можно, я так и делал раньше на старой машинке. А тут 854x480 30 fps и примерно 2 мегабита поток и процессор практически не загружен.

Reply

levgem January 11 2024, 11:42:14 UTC
Пользоваться mjpeg вообще никак нельзя, нет причин пользоваться этим для видеонаблюдения.

H264 на порядок легче

Reply

dmitrmax January 11 2024, 13:15:11 UTC

Если речь про детектирование движения на стороне хилого сервера, то только им и можно. В идеале конечно, хорошо бы, чтобы это делала камера на своей стороне, а на сервер передавала бы метаинфу о результатах детектирования. Но помню, что когда настраивал камеры в нашем ТСЖ, они хоть и декларировали такое умение через ONVIF, но реализовано через жопу с несоблюдением спеки из-за чего не работало ни с чем, кроме родной убогой китайской софтины под винду.

Reply


alll January 10 2024, 15:23:38 UTC

> "Магия" это такая черная коробка, которая непонятно как устроенна. Но
> если делать определённые магические пассы, то будут определённые
> результаты.

Вообще-то этот приём называется "абстракция". Правильно собранные вместе, они образуют "слои", в рамках одного слоя оперировать абстракциями быстро и относительно просто. А если неправильно, то например за "протечку абстракций" из нижних слоёв в верхние да, приходится платить просто адскими затратами времени и нервов. И нет, мы не можем дойти до самого нижнего слоя, где "всё на самом деле так, как на самом деле", во-первых тупо не хватит ресурсов у наших мозгов, а во-вторых даже не очень ясно, существует ли этот самый самый нижний слой.

Reply


levgem January 11 2024, 11:41:07 UTC
0001 и 001 - это annexb пакетирование h264, позволяющее четко разбить границы.

В следующий раз по видео - пиши в телеграм @maxlapshin, сэкономил бы массу времени

Reply

balmerdx January 11 2024, 15:01:37 UTC

Да, думал не написать ли тебе вопрос, но пока формулировал вопрос - проблемы саморазрешились.

Собственно говоря было два косяка.

1 - недостаточно большие буферы для передачи слелал, из-за чего пакеты больше 64 КБ не уходили по ws протоколу (а это были самые важные I-frame)

2 - jmuxer.min.js есть какой-то баг, который видимо затесался туда при минификации скрипта. В варианте без min всё хорошо. Причем глянул - и тот и другой файл были сгенерированны из одних и тех-же исходников.

Собственно говоря ни тот, ни другой баг не относятся собственно к видео.

Reply


Leave a comment

Up