Pull to refresh

Comments 31

UFO just landed and posted this here
Уточните пожалуйста, камера с 3G-модемом имеет белый IP? Или через сеть провайдера имеете доступ к серому IP 3G-модема (камеры)? Или камера имеет какие-то возможности настройки по транслации потока на некий сервер с белым IP?
Саму сеть на камере я не настраивал, но на сколько я знаю, у камеры внешний фиксированный ip, настраивал оператор связи.
А сама по себе камера имеет множество настроек (не даром она стоит около 50-80 тысяч).
Хреновое качество для такой цены.
>>ffmpeg version 1.0.10

Взяли бы что посвежее. Уже давным давно вторая ветка есть.
я уже думал об этом, и первым делом, приехав в Москву, опробую данную вариацию с avconv
Можно ограничиться checkinstall, собрав именно ffmpeg под себя.

А вообще, сам давно хочу настроить себе пару-тройку камер дома. Может ваш пост наконец перевесит чашу с ленью, и сделаю таки)
Как человек, который довольно много использует ffmpeg и не так часто libav, советую вам как можно быстрее переходить на ffmpeg.
Меньше багов, больше возможностей.
Если бы я не верил в параллельные миры и единство сверхразума человека, я бы поверил в него сейчас. Данная статья является выжимкой моих изысканий с нуля в свободное время за последнюю неделю. Прям один в один)

Что могу добавить, так это auto_push on для конфига nginx, если используется более чем 1 воркер.

И еще вопрос, кто-нибудь знает, чем можно задетектть движение на _записанном_ видео. Motion и zoneminder делают это только с потока
«У дураков мысли только сходятся, а у умных еще и вступают в дискуссию.» )
Про auto_push — учту.
Как раз этой темой занимаюсь, тоже с нуля, только gstreamer использую и тоже про auto_push хотел добавить.)
Редко занимался сборкой, как правило все ставил с репозиториев и «не жаловался». И тут решил сделать все по старинке.
Пожалуй по итогам всех комментариев у меня будет вторая версия статьи)
UFO just landed and posted this here
Несколько лет назад писал утилиту, которая подключалась к нескольким RTSP камерам (4), склеивала с них видеопоток в одну картинку и отправляля по MJPEG в браузере. Не написал только поддержку большого количества одновременных клиентов (хотя могу ошибаться, не помню уже).

Задание было в том, чтобы наблюдать за процессом стройки по хреновому 3G каналу. Запускал скрипт на ubuntu c 3G модемом, а наблюдатель мог подключаться по IP.

Код тут code.google.com/p/camproxy/
ИМХО нужно вводить штрафы на законодательном уровне за установку приложений в обход пакетного менеджера. А за публичный призывы делать это в статьях и руководствах — месяц исправительных работ в виде чтения манов и сборки пакетов.
На каждую камеру по экземпляру ffmpeg будете запускать?
По сравнению с flussonic выйдет в 2-3 раза хуже по оперативной памяти, но по загрузке процессора примерно одинаково. Хотя, если потратить стоимость лицензии флуссоника на покупку оперативной памяти в сервер, и если не требуется вменяемого просмотра архива, то будет ok :)
Ок будет, пока не попадется китайская камера на софии =)
Интересно, а flussonic разве при перекодировке используя ffmpeg не точно так же делает?
термин перекодировка в видео слегка неточен.

При транскодировании — да, будет отдельный процесс. Больше 20 их на сервер всё равно не будет, поэтому наличие отдельных процессов — не беда.

При захвате и перепаковке, флюссоник может захватить до 600-800 камер. Мне было бы интересно посмотреть на сервер с 600 запущенными ffmpeg-ами
В своё время подобное делалось на VLC (rtsp-flv перекодирование).
/usr/bin/vlc -vvv --loop --http-reconnect rtsp://160.74.34.2:554 --sout "#std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=:9109/camera1.flv}"
А кто подскажет вариант с низкой задержкой,
Данная сборка у меня давала задержку относительно камеры до 10 секунд.
Идеально было бы с задержкой менее секунды opensource под linux.
Такая большая задержка возникала из-за конвертирования видео и его кеширования.
Я использовал mjpeg — там действительно удавалось достигнуть задержки в районе секунды и меньше — там больше были уже транспортные задержки, т.к. видео поток 640х480 20 fps был около одного мегабита
Спасибо, dnbdrive, отличная статья, сегодня по ней сделал вещание.

Маленькое дополнение: на момент сентября 2015 в конфиге rtmp название потока должно быть равным названию application, иначе трансляция не запускается. Например:

rtmp {
    …
    application cam1 {
        live on;
        exec_pull ffmpeg -i rtsp://10.10.10.11/h264 -threads 1 -f flv -r 25 -s 1280x720 -an rtmp://localhost:1935/cam1/stream 2>>/var/log/nginx/ffmpeg.log;
        }
    }
}

Sign up to leave a comment.

Articles