Вы когда-нибудь мечтали стать настоящим магом видеопотоков? Не просто включить камеру, а запустить сразу несколько, поймать каждый пиксель и показать их всем, кому не лень, в реальном времени? Ну что ж, добро пожаловать в захватывающий мир настройки IP камер, потокового видео и волшебства под названием FFserver!

В этой статье мы расскажем, как настроить два источника видео с IP камер, поймать их потоки по протоколу RTSP, использовать FFserver для передачи видео на корпоративный сайт и даже, если захотите, как подружиться с OBS Studio и TrueConf для трансляций с нескольких камер. Забудьте скучные мануалы — здесь будет весело и понятно, даже если вы только начали знакомство с видеотехнологиями.


Почему две камеры лучше, чем одна?

Если вы думаете, что одна камера — это достаточно, чтобы смотреть за очередью в столовой или мониторить важные объекты, то вы глубоко заблуждаетесь! Две камеры — это как два глаза, они дают объемное представление, больше охвата и, главное, гибкость в настройках.

В нашем примере две IP камеры работают в двух столовых, и задача — дать двумстам сотрудникам возможность узнавать очереди не вставая с места. Легко? Только если знать, как настроить поток, поймать сигнал и красиво выдать видео на сайт.


Что такое FFserver и зачем он нужен?

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

Вот почему FFserver — отличное решение:

  • Переносит нагрузку с IP камер на сервер
  • Может обрабатывать несколько потоков одновременно
  • Легко интегрируется с другими приложениями и веб-сайтами

Но предупреждаем: в последних версиях FFserver нет демонизации — придется запускать его вручную или через скрипт автозапуска.


Захватываем поток с камеры через RTSP

RTSP — это такой протокол, по которому камеры передают видео в реальном времени. Главное — знать правильный адрес камеры и проверить, настроен ли RTSP поток.

Проверка потока с камеры командой ffmpeg выглядит так:

ffmpeg -rtsp_transport tcp -i rtsp://login:password@IP/Streaming/Channels/1 -c copy -map 0:0 video.mp4
  • login:password — логин и пароль от камеры (обычно admin/admin или как указано в инструкции)
  • IP — IP адрес камеры
  • /Streaming/Channels/1 — путь к RTSP потоку (смотрите в инструкции или ищите в интернете по модели камеры)
  • video.mp4 — файл, куда сохранится видео (если он создался и содержит данные — всё отлично!)

Проверка потока — это как проверить, что рыба клюет, прежде чем забросить удочку.


Настраиваем FFserver для двух камер

Вот шаблон конфигурации /etc/ffserver.conf, который запускает два видеопотока с двух IP камер:

Параметр Значение/Описание
Port 8090
BindAddress 192.168.1.15 (адрес сервера)
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 5000 (в килобитах)
CustomLog /var/log/ffserver-access.log

Каждая камера описана секциями <Feed> и <Stream> с настройками:

  • Временные файлы хранятся в оперативной памяти (/video на tmpfs) — чтобы не грузить диск.
  • Потоки формируются в форматах FLV и SWF (Flash), настроены параметры качества и битрейт.
  • Звук отключен (NoAudio), чтобы не тратить ресурсы на аудио.

Небольшой отрывок конфигурации для первой камеры:

<Feed cam1.ffm>
File /video/cam1.ffm
FileMaxSize 3M
Launch ffmpeg -rtsp_transport tcp -i rtsp://admin:password@192.168.1.30/Streaming/Channels/1
</Feed>

<Stream cam1.flv>
Feed cam1.ffm
Format flv
VideoCodec flv
VideoFrameRate 30
VideoBufferSize 80000
VideoBitRate 200
VideoQMin 1
VideoQMax 5
VideoSize 640x480
PreRoll 1
NoAudio
</Stream>

С такой настройкой FFserver будет стабильно принимать и отдавать потоки, словно добросовестный бариста на утренней смене.


Как запустить FFserver и не потерять голову

Для запуска сервера достаточно выполнить:

ffserver -f /etc/ffserver.conf

Но чтобы не запускать руками, можно сделать скрипт автозапуска /etc/init.d/ffserver и добавить его в автозагрузку:

update-rc.d ffserver defaults

Этот скрипт умеет стартовать, останавливать, проверять статус и перезапускать FFserver, как хороший администратор.


Сохраняем видео в оперативной памяти — скорость света!

Чтобы временные файлы не грузили диск, создаем директорию /video в оперативной памяти:

sudo mkdir /video

И добавляем строку в /etc/fstab:

tmpfs /video tmpfs noatime,nodiratime,nodev,nosuid,uid=1000,gid=100,mode=0700,size=100M 0 0

После чего монтируем:

sudo mount -a

Это словно заменять мешок с песком на супербыстрый SSD, только еще быстрее — RAM!


Дополнительные инструменты для мультикамерного видео

Хотите микшировать видео с нескольких камер и добавить спецэффекты? Добро пожаловать в OBS Studio и TrueConf!

OBS Studio — микшируем поток как диджей

OBS — это бесплатное и мощное приложение для записи и трансляции видео. Вы можете создавать сцены с несколькими видеопотоками, регулировать их размер и расположение. Например:

  • Добавьте две камеры через «Устройство захвата видео»
  • Или добавьте RTSP-поток через «Источник медиа» (с адресом IP камеры)
  • Запустите виртуальную камеру для вывода микшированного видео

Таким образом вы превращаете компьютер в диджейский пульт видеопотоков.


TrueConf — два видеоисточника в конференции

TrueConf позволяет запускать две копии клиентского приложения одновременно, каждая с разной камерой. Для этого:

  • Создайте ярлык второго приложения с параметром -t
  • Запустите обе копии с разными учетными записями
  • В настройках каждой выберите нужную камеру

Так вы легко передадите два видеопотока в групповой конференции.


Что делать, если нужно просматривать много камер на одном экране?

Если ваша задача — смотреть видео сразу с нескольких IP камер на одном экране, обратите внимание на следующие пожелания:

Требование Возможное решение
Реконнект при пропадании связи VLC с плагинами или специальные приложения
Кроссплатформенность VLC, OBS Studio
Бесплатность VLC, OBS Studio, FFserver

Например, VLC умеет воспроизводить несколько окон, но требует настройки для надежного реконнекта.


Итоговый обзор

Инструмент Основные возможности Особенности
FFserver Прием и трансляция потоков с IP камер Легко настраивается, нет демонизации
OBS Studio Микширование и трансляция нескольких видео Отлично подходит для сложных сцен
TrueConf Два видеопотока в конференции Требует нескольких аккаунтов
VLC Просмотр нескольких видеоокон Требует донастроек

Заключение

Создать стабильный и мощный видеопоток с нескольких IP камер — задача не из простых, но вполне выполнимая с правильными инструментами. FFserver берет на себя основную нагрузку по трансляции, а OBS и TrueConf добавляют гибкость и возможности для живых трансляций и конференций.

Знание RTSP, умение настраивать конфигурационные файлы и базовые навыки работы с видеоприложениями сделают из вас настоящего видеомагистра! Теперь вы не просто смотрите видео — вы управляете потоками, словно дирижер управляет оркестром.


Пусть ваши камеры всегда будут наготове, а поток видео — без прерываний!