Pull to refresh
25
0
Владислав @vladpen

Разработчик

Send message

PEP-0484 рекомендует в аннотации типа метода __init__ указывать None. Вероятно, для совместимости.

Плана нет, проект развивается исключительно в свободное время. А с этим, как вы понимаете, всегда проблемы.

В идеале нужен второй программист (заинтересованный в использовании приложения), готовый внести вклад в развитие (кодом, конечно). Пока был лишь один пулл-реквест с Бразильской локализацией.

Да, есть такое в трекере задач.

API отключен только для плюсов, с обычными кодеками H.264/265 все работает.

Камеры поддерживаются, обновляются и находятся в актуальном состоянии, критичных багов нет. Времени на всё не хватает, но проект открыт, пулл реквесты принимаются;).

Какое именно развитие вы хотели бы видеть?

Спасибо, мысль интересная. Но начать воспроизведение не получится без ключевого кадра. Значит, минимально возможное отставание времени всё же будет от нуля до 1 GOP в теории, если не двигать вперёд время воспроизведения элемента video.

Мы ведь говорим об отставании текущего кадра от реального времени, верно? Можете рассказать подробней?

Спасибо, надо будет посмотреть. HEVC, правда, в моем случае обязателен, без него никак.

На настоящий момент (версия 2.0) остановка самого потока на клиенте не обрабатывается (визуально картинка просто останавливается), обрабатывается только потеря связи.

1) Да, с ботами сложнее.

2)

рассылки можно отключить при обращении в поддержку банков

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

сотрудники будут заниматься попрошайками

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

Если человек занят - он не возьмет трубку

Мой друг умирал от рака. Телефон выключить не мог. В течении дня пытался уснуть, борясь с адскими болями. Как ты оценишь ущерб от бессмысленных звонков в этом случае?

Да, пока реализован не весь функционал, но для просмотра камер приложение уже активно используется и даже опубликовано на F-Droid.

Сейчас в разработке заявленная фича просмотра архива по SFTP. В целом, задач больше, чем свободного времени, придется расставлять приоритеты с учетом того, что это open source и KISS)

Вопрос времени - да, соглашусь. Но не ближайшего времени точно. По данным caniuse картина совсем не радужная:

Спасибо, коллега!)
Прочитал вашу статью. Действительно, ffmpeg отлично умеет перегонять rtsp в hls. Вот только веб не умеет это воспроизводить в h.265. В этой статье я исследовал возможности обойти это досадное недоразумение.

Спасибо. Не нашел в описании, переключение протоколов TCP/UDP есть? Подключаться через fallback сильно долго.

В примере выше у Хика, при почти одинаковой цене, характеристики заметно лучше. Имхо.

Ага, у этой модели есть, буду иметь в виду, спасибо.

Да, пропустил момент про карты. Я в свое время от них отказался из-за безопасности. Если камеру с картой снимут, запись тоже пропадет. А так хотябы останется физиономия вандала.

За ColorVu спасибо. Правда, PoE не нашел в этой серии на вскидку.

Облако нравится, не нравятся возможные перебои с и-нетом и питанием. Надежней писать локально, полагаясь на бесперебойник. Ну и отрыть камеру напрямую с мобильника, опять же, надежнее. Это если ты находишься на месте. Если на объекте никого нет, можно писать на удаленном сервере (у меня установлены две копии скрипта - одна на объекте, вторая в Германии), ну или да, в облако.

Определение движения для улицы работает у меня из рук вон плохо - ветер имеет привычку шевелить предметы, а про снег, особенно ночью, уже и говорить нечего. А вот H.265+, на удивление, отлично помогает в этом вопросе - во файлах, которые заметно больше соседних по размеру, точно есть движение (у меня фрагменты по 10 минут).

Вполне уместно. У меня примерно так и было до этой статьи, только я вместо крона таймеры systemd использовал - следующий гарантированно запустится после остановки предыдущего. Для примера:

camera2.sh

#!/bin/sh

URL="rtsp://login:password@192.168.0.110:554/ISAPI/Streaming/Channels/101"
DIR="/path-to-storage/camera2"
DATE="`date +%Y-%m-%d`"
TTL=600

cd $DIR
if [ ! -d $DATE ]; then
    mkdir $DATE
fi
cd $DATE

NAME="`date +%H-%M`"

timeout $TTL mencoder -nocache -really-quiet -rtsp-stream-over-tcp $URL -ovc copy -o $NAME.avi

if [ "$NAME" \> "06-00" ] && [ "$NAME" \< "06-15" ]; then
    find $DIR -type d -mtime +12 -exec rm -rf {} \;
    echo "ok, daily deleting of old dir"
else
    echo "ok"
fi

/etc/systemd/system/camera2.timer

[Unit]
Description="Saving movie from camera 2"

[Timer]
OnCalendar=*:0/10
Persistent=true

[Install]
WantedBy=timers.target

/etc/systemd/system/camera2.service

[Unit]
Description="Saving movie from camera 2"

[Service]
ExecStart=/path-to-script/camera2.sh

[Install]
WantedBy=multi-user.target

Запустить нужно таймер (не сервис):

sudo systemctl enable camera1.timer

Ротацию можно сделать еще проще, без ифов, как в примере на гитхабе:

find <storage_path> -type d -mtime +<storage_period_days> -delete
find <storage_path> -type f -mtime +<storage_period_days> -delete

И не делать отдельную пару таймер/сервис под каждую камеру, а использовать @.

В статье просто весь функционал собран в одном месте.

Кстати, с ffmpeg для H.265+ у меня не срослось - если указать -c:v copy, он портит заголовки видеофайла, а если указать кодек явно, то начинает транскодировать, есть CPU и теряет плюс (который 265+). А он мне очень нужен для экономии места на диске.

Если вдруг кто знает, как это лечить, поделитесь, пожалуйста!

Да, ценник приличный. И это, похоже, под 19" стойку. Даже не знаю, каждому свое, наверное)

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity